CUDA로 계산하는 라이트맵

토요일 + 일요일 + 월요일 새벽을 투자하여  CUDA로 라이트맵을 계산할 수 있도록 엔진을 뜯어고쳤다.

엄청난 시행착오 끝에 그림자까지 제대로 계산하도록 만들었다.

결과는….

CPU로 계산하는 쪽이 두 배 빨랐다.

이런 샹.

Q6600의 코어4개를 풀로 사용하는 것이 9800GTX+의 128스트림프로세서를 사용하는것보다 빨랐다.

CPU코드를 짜면서 코드 논리에서 최적화한 부분이 GPU코드에 반영되지 않은게 큰 이유이기도 하고, 메모리 전송이 지나치게 많은 까닭도 있다.

GPU코드로 작성하려면 아무래도 제약이 많다보니 코드 최적화는 생략하고, 호스트와 디바이스간 전송도 줄이지 못한 것인데…이런.

죽도록 최적화하면 CPU코드보다 빠르게 작성할 수 있을것 같긴 한데…

뭐하러 그 짓을 해.

요새 I7기반의 6코어 CPU가 나왔는데 그거 꽂으면 2배는 더 빨라지겠구만.

아흑.

하긴 CPU코드도 SSE어셈블리로 최적화하고 나름대로의 캐쉬전략에 별별 짓을 다 했었는데.

하여간 허무하다.

출근할때까지 4시간밖에 못자는데.

아 열받어.


답글 남기기

댓글을 게시하려면 다음의 방법 중 하나를 사용하여 로그인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중