yuchi's Development Home
글 수 201
앞선 글에서 겁나 빠르다고..말했으나 사실 측정을 하지 않았기 때문에 겁나 빠른지 의외로 안빠른지 정확히 알 수 없었다.
해서 동일한 코드를 CPU용 코드로도 돌려보고 소요된 시간을 비교해보기로 했다.
빌드환경 : x64, release모드
대상 이미지 : 697*992 32bit
필터적용 : 5x5 가우시안 필터 30회
CPU : 인텔 Q6600 2.4GHz
GPU : nVidia GeForce9800GTX+
왼쪽 스샷이 CUDA코드. 대략 6억3천만클럭, 0.265초
오른쪽 스샷이 CPU코드.대략 170억클럭. 7초.
뭐 비교 불가.
애초에 필터링 코드 자체가 좀 무식하긴 한데...그렇다고 해도 완전 동일한 C코드를 CUDA, CPU 각각 버젼으로 컴파일 한 것이므로 이미지프로세싱처럼 병렬처리하기 좋은 분야에선 CUDA가 겁나 빠르다는 결론.
예를들어 SSE로 한다던지.. 30회의 필터를 쓰레드로 나눈다던지의 작업을 한다고 했을때...
얼마나 차이날까?
연산 자체가.. GPU를 아예 따라가지 못하는건가..