GPU 프로그래밍

GPU에서 빠르게 처리할 수 있는 작업의 특징으로 가장 적절한 것은?

  1. A이전 결과를 사용해 다음을 계산하는, 한 줄로 이어진 순차 계산
  2. B대량 데이터의 각 요소에 대해 서로 독립적인 동일한 계산을 수행한다
  3. C데이터 양은 적고 조건 분기가 매우 많은 계산
정답과 해설 보기

정답: B. 대량 데이터의 각 요소에 대해 서로 독립적인 동일한 계산을 수행한다

GPU는 수천 개의 스레드에 같은 처리를 할당하여 병렬로 실행하므로, 이미지의 각 픽셀 처리, 행렬 곱셈, 벡터 연산처럼 다수의 요소를 독립적으로 계산할 수 있는 작업(데이터 병렬)에서 힘을 발휘합니다. 이전 결과에 의존하는 순차 계산이나 데이터가 적고 분기가 많은 계산은 병렬화할 수 있는 부분이 적어 CPU가 더 빠른 경우가 많습니다.

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

GPU 프로그래밍의 다른 문제

  1. GPU에서 실행하면 효율이 떨어지기 쉬운 처리는?
  2. CUDA 등 GPU 프로그래밍에서 말하는 '커널'에 대한 설명으로 올바른 것은?
  3. CUDA 스레드 계층의 조합으로 올바른 것은? (큰 순서)
  4. CUDA 커널에서 위의 식으로 각 스레드의 번호 i를 구한다. blockIdx.x=2, blockDim.x=256, threadIdx.x=5인 스레드의 i는 얼마인가?
  5. 요소 수 1000인 배열을 블록당 256스레드, 스레드당 1요소씩 처리하려 한다. 실행할 블록 수로 올바른 것은?

이 분야의 비교