Cộng đồng Hỏi & Đáp của Inflearn
Warp를 동시에 돌린다는 말이 이해가 가지 않습니다.
Đã giải quyết
Viết
·
302
·
Đã chỉnh sửa
0
안녕하세요. 먼저 좋은 CUDA 강의를 제공해주셔서 감사합니다.
다름이 아니라 15-4 강의에서 Warp를 동시에 돌린다는 말에 질문이 있습니다.
Warp 스케줄링을 저는 아래와 같이 비교하여 이해하였습니다.
CPU: Core -> 여러개의 쓰레드
GPU: SM -> 여러개의 Warp
강의 내용처럼, CUDA에서 Warp별로 스케줄링을 관리를 한다면 모든 SP의 Clock들이 같은 Instruction을 수행(SM내 SP들의 Clock들은 Sync가 맞음)하여야 Warp단위로 스케줄링이 가능할 것 같은데, 제 생각이 맞는지 궁금합니다.
감사합니다.
cc++cudagpu병렬-처리
Câu trả lời 1
0
onemoresipofcoffee
Người chia sẻ kiến thức
안녕하세요.
네. 당연히 그렇게 처리 합니다.
SM 1개 내의 모든 SP 들은 같은 clock 으로 동시에 실행됩니다.
warp 단위로 실행 해야 하다 보니, 같은 warp 를 실행하는 32개의 SP 는 instruction 도 똑같은 것을 수행합니다.
강의에서도 한번 설명했지만, GPU 구조에서는 ALU + control unit 쪽을 줄이는 대신 갯수를 늘리는 쪽으로 설계 방향을 잡았는데, ALU 를 줄이는 데는 한계가 있고, 결국 control unit을 최대한 줄이는 방법이, 32개의 warp를 실행하는 32개의 SP가 control unit 1개의 통제를 받는 방식이고, 이러면, 이들은 동시에 똑같은 instruction을 수행하는 수 밖에 없습니다.
감사합니다.




