GPU 프로그래밍

GPU의 점유율(occupancy)에 대한 설명으로 올바른 것은?

  1. AGPU 칩 면적 중 연산기가 차지하는 비율
  2. BSM에 동시에 올릴 수 있는 최대 워프 수에 대한, 실제로 올라가 있는 워프 수의 비율
  3. CGPU 메모리 중 데이터로 채워진 비율
정답과 해설 보기

정답: B. SM에 동시에 올릴 수 있는 최대 워프 수에 대한, 실제로 올라가 있는 워프 수의 비율

각 SM이 동시에 올릴 수 있는 워프 수에는 상한이 있으며, 실제로 올라가는 수는 스레드당 레지스터, 블록당 공유 메모리, 블록 크기 등으로 결정됩니다. 그 비율이 점유율입니다. 점유율이 낮으면 메모리를 기다리는 워프를 대신해 실행할 수 있는 워프가 적어, 연산기가 놀기 쉬워집니다. CUDA에는 점유율을 계산하는 도구도 마련되어 있습니다.

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

GPU 프로그래밍의 다른 문제

  1. GPU가 메모리의 긴 지연(수백 클럭)을 숨기는 주된 방법으로 올바른 것은?
  2. GPU의 점유율에 대해 올바른 것은?
  3. CUDA에서 블록과 SM(스트리밍 멀티프로세서)의 관계로 올바른 것은?
  4. CUDA에서 커널 도중에 다른 모든 블록의 계산이 끝나기를 기다린 뒤 다음 단계로 진행하고 싶다. 일반적인 방법은?
  5. GPU에서 픽셀 값의 히스토그램을 만들 때, 모든 스레드가 글로벌 메모리의 256개 빈(bin)에 atomicAdd로 직접 더하면 느린 경우가 있다. 개선 방법으로 올바른 것은?

이 분야의 비교