GPU 프로그래밍

NVIDIA GPU에서 32개의 스레드를 하나의 묶음으로 하여 같은 명령을 일제히 실행하는 단위를 무엇이라 하는가?

  1. A워프
  2. B그리드
  3. C페이지
정답과 해설 보기

정답: A. 워프

블록 안의 스레드는 하드웨어 내부에서 32개씩 워프로 나뉘며, 하나의 워프의 32개 스레드는 같은 명령을 동시에 서로 다른 데이터에 대해 실행합니다. 이처럼 스레드로 작성한 프로그램을 묶어서 같은 명령으로 실행하는 방식을 SIMT라고 합니다. AMD GPU에서는 비슷한 단위를 웨이브프런트라고 하며 64개 또는 32개입니다. 블록 크기는 32의 배수로 하는 것이 기본입니다.

이 분야 연습하기 분야로 돌아가기

GPU 프로그래밍의 다른 문제

  1. GPU의 SIMT(단일 명령·다중 스레드) 방식과 CPU의 SIMD 명령의 차이로 올바른 것은?
  2. 하나의 워프 안에서 조건 분기에 의해 스레드의 절반이 if 쪽, 나머지 절반이 else 쪽으로 갈라졌다(워프 다이버전스). 일반적으로 어떻게 실행되는가?
  3. 위의 (1)과 (2)는 모두 스레드의 절반에 A, 나머지에 B를 실행시킨다. 워프 효율 측면에서 올바른 설명은? (1워프=32스레드로 한다)
  4. GPU의 메모리 병합 접근(코얼레싱)에 대한 설명으로 올바른 것은?
  5. 각 스레드의 번호를 i로 하여, 위와 같이 32요소 간격으로 배열을 읽으면 a[i]를 읽는 경우보다 느려진다. 주된 이유는?

이 분야의 비교