GPU 프로그래밍
CUDA 커널에서 위의 식으로 각 스레드의 번호 i를 구한다. blockIdx.x=2, blockDim.x=256, threadIdx.x=5인 스레드의 i는 얼마인가?
int i = blockIdx.x * blockDim.x + threadIdx.x;
- A517
- B263
- C2565
정답과 해설 보기
정답: A. 517
blockIdx.x는 그리드 내 블록 번호, blockDim.x는 블록당 스레드 수, threadIdx.x는 블록 내 스레드 번호입니다. 블록 0이 0~255, 블록 1이 256~511을 담당하므로 블록 2의 5번째 스레드는 2×256+5=517이 됩니다. 이 식으로 모든 스레드에 겹치지 않는 일련번호를 부여하여 담당할 배열 요소를 정합니다.