저도 여전히 헷갈리는 부분이 있지만...
http://minimonk.net/2291
http://minimonk.net/2287 을 일단 참고 하시고..
하드웨어 적으로는 한번에 생성이 가능한 쓰레드(cuda core)는 갯수가 제한되어 있으나
논리적으로 여러블럭으로 나누어 하드웨어를 반복 계산을 하는 식으로
32*32 의 쓰레드 블럭을 생성하여 (1024 쓰레드) 4*4의 그리드를 형성하여
총 128*128 개의 쓰레드 처럼 구현도 가능하기 때문에
효율을 제외하면 어떤식으로든 상상하는 이상의 크기로 배열을 계산이 가능합니다. 물론 결합전송이라던가 이런 제한이 8800GT 에는 있었지만 650GTX만 해도 상당히 완화되고 780이나 Titan 에서는 거의 없다 싶을 정도로 좋아져서 일단은 돌리는데 집중을 하시고
천천히 최적화를 해보시는게 좋지 않을까 합니다.
Visual Studio 2008 SP1설치후
CUDA 5.5 재설치 - Nsight Visual Studio Edition
음.. 그런데 이녀석.. CUDA SDK에 포함되어서 굳이 Nvidia에서 가입/등록하고 안해도 되네?
물론.. SDK를 통채로 다운받아서 갈아 엎어야 하는 귀차니즘이 있긴 하겠지만..
Installed에 똭! 추가!
기본 값은 Launcher debugging enabled False이므로
True로 바꾸어 주고(위에것도 해야하려나?)
VS2008의 디버거를 사용하지 말고 그냥
Start CUDA Debugging을 누르면 지가 알아서 실행되고 프로파일링 한다.
머하다가 이게 떴더라..?
막 누르다 보니.. 정신없는데..
Application Control에 Launch를 누르면 프로그램이 실행되면서
Nsight에서 녹화하고 그 데이터를 기반으로 디버깅 정보를 출력한다.
Summary Report 아직 보는 법은 모르겠고
nsight를 설치해서인지 VS2008 자체 디버거로 실행시 kernel에서 내장 변수들이 출력된다.
근데.. 막 건너뛰는 기분..(마스터 쓰레드만 하나 출력되려나?)
댓글을 달아 주세요