Cuda threadIdx, blockIdx
혼자 공부한것이라 틀릴수도 있어요. ^^;; threadIdx 는 블럭 내에서의 스레드의 위치를 나타내고 blockIdx 는 그리드 내에서 블럭의 위치를 나타낸다. 2*2의 블럭내에 2*2의 스레드(총 4개 )가 있다면, threadIdx는 블럭내의 인덱스 이므로 아래와 같다. (블럭(0,0) Thead(00,10,01,11) 총 4개를 가진다는 예제의 그림임) 서로 다른 블럭내의 스레드는 모두 동일한 인덱스를 가진다. 따라서, 작업하는 실제 스레드 위치를 알기 위해서는 다음과 같이 계산해 줘야 한다. int work_x = blockIdx.x * blockDim.x + threadIdx.x; int work_y = blockIdx.y * blockDim.y + threadIdx.y; 여기서 blockD..
전공/MFC 삽질들..
2010. 11. 23. 11:29