일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Two Points
- Brute Force
- DP
- MYSQL
- Stored Procedure
- two pointer
- String
- Dijkstra
- union find
- 이진탐색
- 스토어드 프로시저
- SQL
- 다익스트라
- Trie
- binary search
- 그래프
- Hash
- Today
- Total
목록전체 글 (425)
codingfarm
Direct3D 12는 다중 스레드를 효율적으로 활용할 수 있도록 설계되었다. Command List의 설계는 Direct3D가 multi thread 적용의 장점을 취하는 한 방법이다. 물체가 많은 큰 장면을 다룰 때, 장면 전체를 하나의 명령 목록으로 그리려 한다면 Command list를 구축하는 데 시간(CPU 시간)이 오래 걸린다. 이에 대한 자명한 해결책은 여러 개의 command list을 병렬로 구축하는 것이다. 가령 thread 네개를 띄워서 각자 하나의 command list를 구축하데 하면, 전체적인 시간이 기존의 25%로 줄어든다. 다음은 Command list 구축에 다중 스레드를 적용할 때 주의해야 할 점 몇가지이다. 1. Command list는 자유 스레드(free-threa..
https://ssinyoung.tistory.com/40 자원 상태 전이 자원 위험 상황(resource hazard) GPU가 자원에 자료를 다 기록하지 않거나 기록을 시작하지 않은 상태에서 자원의 자료를 읽으려 하는 상황 ex) 한 단계에서 GPU가 자원 $R$에 data를 기록하고, 이후의 한 단계에서 그 자원 $R$의 자료를 읽어서 사용하려는데, 읽기전에 자원 $R$에 다른 data를 기록하려 할 경우 이를 해결하기 위해 Direct3D는 자원들에 상태를 부여함 어떤 리소스에 대해 특정 상태가 되기 전까진, 해당 리소스를 실행할 수 없게 만듬 자원 상태 모든 리소스는 하나의 상태(state)를 꼭 가저야 함 어떤 그래픽 명령이 특정 리소스를 사용해서 실행되기 위해선, 그 명령에 필요한 상태로 리..
www.slideshare.net/ImseongKang/ndc15-imseong-pdf

그래픽 프로그래밍에는 CPU와 GPU 2개의 장치(프로세서)가 작동한다. CPU : 로직제어 GPU : 화면표시 이들은 병렬로 작동하지만 동기화를 할 필요가 있다. 하지만 최적의 성능을 얻으려면 1. 최대한 둘다 바쁘게 돌아가야한다. 2. 동기화를 최소화 해야한다. 2가지 조건을 만족해야한다. 동기화는 한 처리 장치가 작업을 마칠 때까지 다른 한 처리 장치가 놀고 있어야 함을 의미하며, 따라서 성능에 바람직하지 않다. 즉, 동기화는 병렬성을 망친다. 1. 명령 대기열(Command Queue)과 명령 목록(Command List) GPU에는 명령 대기열(Command Queue)가 있고, CPU에는 명령 목록(Command List)가 있다. CPU는 그리기 명령들이 담긴 Command List를 Dir..