Voxel Horizon프로젝트에 CUDA를 적용하고 있는 이유

1. 코딩/디버깅환경이 거지같은 Compute Shader를 작성하기 전에 성능을 가늠해볼수 있다. 보수적으로 잡았을때 Compute Shader가 CUDA의 50% – 80%정도 나온다고 예측해보면 CUDA코드가 CPU코드보가 3-4배 빠르면 충분히 GPU코드를 추가 작성할 가치가 있다.

2. Compute Shader를 추가작성하기로 결심했더라도 CPU코드 -> Compute Shader로 바로 가기는 어렵다. 디버깅 환경이 거지같으니 코드 짜놓고도 이게 맞는건지 틀린건지 확인하기 어렵다. CPU -> Compute Shader보단 검증된 CUDA코드를 Compute Shader로 옮기는 쪽이 시행착오를 훨씬 줄여준다.

3. 현재 덩치 큰 맵을 한방에 로딩하면 라이트맵 계산과 오브젝트가 터널 역할을 할 수 있는지 검사하느라 제법 시간이 걸린다. 디버그 빌드에선 무시 못할 정도로 시간이 걸린다. 당장 내가 디버깅할때 불편하다. 요 부분만 CUDA로 돌려도 가장 느린 구간이 4배나 빨라진다. 작업 시간 자체가 줄어든다.

4. nvidia장비에서만 작동하는 것은 단점이다. 그런데 스팀을 예로 들면 75%이상이 nvidia GPU다. 어쨌든 75%, 보수적으로 잡아도 50%이상의 유저는 혜택을 받는다.

5. 요새 의욕이 바닥이라 재밌게 작업할 주제가 필요하다.


답글 남기기

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

WordPress.com 로고

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

Twitter 사진

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

Facebook 사진

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

%s에 연결하는 중