일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 쓰레드
- Direct12
- 백준
- 다이나믹프로그래밍
- 락
- 영속성
- 병행성 관련 오류
- 그리디 알고리즘
- 프로그래머스
- 병행성
- 알고리즘
- I/O장치
- 렌더링 파이프라인
- 멀티프로세서
- 디자인패턴
- codility
- 파일시스템 구현
- DirectX 12
- 동적계획법
- 운영체제
- directx
- 다이나믹 프로그래밍
- OS
- 멀티쓰레드
- 스케줄링
- 타입 객체
- 자료구조
- 컨디션 변수
- 그리디알고리즘
- DirectX12
Archives
- Today
- Total
목록펜스 (1)
기록공간

한 시스템에 CPU와 GPU가 병렬로 실행되다 보니 동기화 문제가 발생한다. 예를 들어 그리고자 하는 어떤 기하구조의 위치를 R이라는 자원에 담는다고 하자. 그 기하구조를 위치 p1에 그리려는 목적으로 CPU는 위치 p1을 R에 추가하고, R을 참조하는 그리기 명령 C를 명령 대기열에 추가한다. 명령 대기열에 명령을 추가하는 연산은 CPU의 실행을 차단하지 않으므로, CPU는 계속해서 다음 단계로 넘어간다. 만약 GPU가 그리기 명령 C를 실행하기 전에 CPU가 새 위치 p2를 R에 추가해서 R에 있던 기존 p1을 덮어쓰면, 기하구조는 의도했던 위치에 그려지지 않게 된다. 이런 문제의 해결책은 GPU가 명령 대기열의 명령들 중 특정 지점까지의 모든 명령을 다 처리할 때까지 CPU를 기다리게 하는 것이다...
DirectX/기초
2020. 2. 19. 21:24