GPU 프로그래밍
1024개의 값을 트리 형태의 리덕션으로 합산할 때 필요한 단계 수는 몇 개인가?
- A10
- B512
- C1023
정답과 해설 보기
정답: A. 10
각 단계에서 값의 수가 절반이 되므로 1024→512→256→…→1로, 1이 될 때까지 10번 절반으로 줄입니다. 즉 단계 수는 log2 1024=10입니다. 덧셈의 총 횟수는 512+256+…+1=1023회로 하나의 스레드가 순서대로 더하는 경우와 같지만, 단계가 10개뿐이므로 충분한 수의 스레드가 있으면 매우 빠르게 끝납니다.