GPU 프로그래밍
GPU에서 두 개의 큰 배열의 요소별 덧셈(c[i] = a[i] + b[i])을 수행할 때, 성능을 주로 결정하는 것은?
- A메모리 대역폭(요소당 12바이트를 읽고 쓰는 데 비해 계산은 덧셈 1회뿐이므로)
- B연산기의 수
- C클럭 주파수뿐
정답과 해설 보기
정답: A. 메모리 대역폭(요소당 12바이트를 읽고 쓰는 데 비해 계산은 덧셈 1회뿐이므로)
float 덧셈 1회당 a와 b를 4바이트씩 읽고 c에 4바이트를 쓰므로, 12바이트의 전송으로 1회 계산을 합니다. GPU는 초당 수십 조 회 계산할 수 있지만 메모리 대역폭은 수 TB/s 정도이므로, 이 처리는 대역폭으로 상한이 정해집니다. 이러한 처리를 빠르게 하려면 데이터 읽기·쓰기 횟수를 줄이거나, 여러 처리를 융합하여 중간 결과를 메모리에 쓰지 않는 등이 효과적입니다.