GPU 프로그래밍
배열 요소를 한 번만 더하는 가벼운 처리를 위해 데이터를 GPU로 보내면 CPU에서 계산하는 것보다 느려지는 경우가 있다. 주된 이유는?
- AGPU는 덧셈을 할 수 없기 때문
- BPCI Express를 통한 데이터 복사에 걸리는 시간이, GPU로 빨라지는 계산 시간보다 길어지기 때문
- C데이터를 GPU로 보내면 값이 바뀌기 때문
정답과 해설 보기
정답: B. PCI Express를 통한 데이터 복사에 걸리는 시간이, GPU로 빨라지는 계산 시간보다 길어지기 때문
PCI Express 대역폭은 GPU 메모리 대역폭보다 한 자릿수 이상 작으므로, 데이터를 보내는 것만으로도 시간이 걸립니다. 요소당 덧셈 한 번밖에 하지 않는다면 보내는 시간에 비해 계산 시간은 극히 짧아 GPU의 속도를 살릴 수 없습니다. GPU가 이득을 보는 것은 보낸 데이터에 대해 많은 계산을 하는 경우나, 데이터를 GPU 메모리에 둔 채 여러 번 처리하는 경우입니다.