yuchi's Development Home
글 수 201
Parallel NSight는 nVidia에서 제공하는 CUDA,쉐이더코드의 디버깅툴입니다.
물론 nVidia의 GPU에서만 작동합니다.
실제 GPU에서 코드 작동중에 브레이크 포인트 찍어가며 디버깅을 할 수 있습니다.
Visual Studio 플러그인 형태로 설치되므로 사용하기도 편리합니다.물론 설치를 잘 했다는 전제 하에...
그 동안 계속 관심을 가지고 있던 nVidia의 Parallel NSight가 드뎌 VS2010을 지원하여 큰 맘먹고 설치했습니다.
사실 현재 릴리즈된 정식버젼은 1.0버젼이고 VS2008까지만 지원합니다.
개발자 등록을 하면 1.5 Release Candidate버젼을 받을 수 있는데, 이 1.5버젼이 VS2010을 지원합니다. 아울러 포함된 CUDA ToolKit도 VS2010을 지원하기 때문에 VS2010에서 CUDA어플리케이션을 작성할 수 있습니다.
기본적으로 설치를 하고 테스트하는데 꽤 애를 먹었습니다. nVidia의 문서 말고는 워낙 자료가 없어서요.
설치에 관해서 요약하자면...
1.nVidia개발자페이지에서 개발자용 드라이버를 받아서 설치해야합니다.
2.개발자 등록을 먼저 했다는 전제 하에 Parallel NSight 1.5 RC버젼을 다운받아서 설치합니다.
3.로컬머신에서 CUDA또는 쉐이더 코드를 디버깅하고자 한다면 GPU가 두개 필요합니다. 대부분의 경우는 GPU가 두개가 아니죠. 그렇다면 PC가 두대 필요합니다.
4.타겟 머신의 GPU는 G92이상이어야합니다. GTS250,9800GTX+이상입니다.
5.타겟머신에는 Parallel NSight모니터를, VS로 디버깅할 머신에는 Parallel NSight를 설치하면 되지만 편의상 양쪽 모두Parallel NSight관련된 패키지를 몽땅 설치하는 것이 좋습니다.
6. 디버깅할 exe과 관련된 파일들이 들어있는 폴더, DXSDK폴더 CUDA폴더등을 로컬머신과 원격머신 모두 동일하게 맞춰야 합니다.
7.VS에 Property항목 외에 Parallel NSight Property항목이 하나 더 생기는데 여기서 런칭할 exe와 폴더를 지정합니다. 로컬의 exe와 폴더를 지정하면 디버깅할때 알아서 원격 머신에서 실행합니다.
대충 기본 세팅은 이 정도. 해보면 딱히 어렵진 않습니다. 귀찮을뿐.
직접 돌려보면 스샷과 같습니다. 쉐이더 코드에 브레이크 포인트를 떡 찍어서 변수 내용 확인 가능합니다.
단 현재는 DX9를 지원하지 않습니다. 아마 앞으로도 지원하지 않을겁니다.
DX10/11만 지원하고 OpenGL은 테스트 해보지 않아서 모르겠습니다.
일단 cuda디버깅만으로도 의미는 있다고 생각합니다.
올해가 가기전에 DX11을 지원하는 장비를 장착하고 DX11학습을 시작할 예정이니까 앞으로 사용할 일이 많겠지요.
당장 VS2008로 만들어 놓은 라이트맵 계산용 CUDA DLL모듈을 2010으로 바꿀 수 있게 되었습니다.
관심 있는 분들은 저와 정보를 교류해보아요.