GPU 프로그래밍
CUDA 상수 메모리(constant memory)가 특히 빠르게 동작하는 것은 어떤 접근일 때인가?
- A워프의 모든 스레드가 같은 주소를 읽을 때(한 번의 읽기를 모두에게 배포할 수 있다)
- B워프의 스레드가 각각 다른 주소에 쓸 때
- C워프의 스레드가 각각 다른 주소를 무작위로 읽을 때
정답과 해설 보기
정답: A. 워프의 모든 스레드가 같은 주소를 읽을 때(한 번의 읽기를 모두에게 배포할 수 있다)
상수 메모리는 커널 실행 중에는 갱신하지 않는 작은 영역으로, 전용 캐시를 가지고 있습니다. 워프의 모든 스레드가 같은 주소를 읽으면 한 번의 읽기 결과를 모두에게 일제히 배포할 수 있어 매우 빠르게 읽을 수 있습니다. 이미지 필터의 계수나 물리 시뮬레이션의 파라미터처럼 모든 스레드가 같은 값을 사용하는 경우에 적합합니다. 주소가 제각각이면 읽기가 나뉘어 오히려 느려집니다.