GPU 프로그래밍
GPU에서 실행하면 효율이 떨어지기 쉬운 처리는?
- A연결 리스트를 처음부터 하나씩 따라가면서 각 요소의 값에 따라 다음 동작을 바꾸는 처리
- B두 개의 큰 배열의 요소별 덧셈
- C큰 이미지의 모든 픽셀의 밝기를 2배로 하는 처리
정답과 해설 보기
정답: A. 연결 리스트를 처음부터 하나씩 따라가면서 각 요소의 값에 따라 다음 동작을 바꾸는 처리
연결 리스트는 다음 요소의 위치를 앞 요소를 읽어야만 알 수 있으므로 병렬로 따라갈 수 없습니다. 게다가 값에 따라 동작이 달라지면 같은 명령으로 움직이는 스레드 묶음 안에서 분기가 갈라져 효율이 떨어집니다. 메모리 위치도 흩어져 있어 한꺼번에 읽을 수도 없습니다. GPU에 적합한 것은 요소별로 독립적이며, 연속된 주소의 데이터에 같은 처리를 하는 작업입니다.