일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 그리디 알고리즘
- 알고리즘
- 멀티쓰레드
- 파일시스템 구현
- 스케줄링
- 다이나믹 프로그래밍
- 렌더링 파이프라인
- Direct12
- 다이나믹프로그래밍
- 디자인패턴
- 쓰레드
- 운영체제
- 타입 객체
- 자료구조
- 프로그래머스
- 락
- DirectX12
- 영속성
- 동적계획법
- I/O장치
- 컨디션 변수
- DirectX 12
- codility
- 백준
- 그리디알고리즘
- directx
- 병행성 관련 오류
- 멀티프로세서
- 병행성
- OS
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