티스토리 뷰

__global__ void func(){
  printf(
  "------------------------------------\n"
  "gridDim.x = %d\n"
  "gridDim.y = %d\n"
  "gridDim.z = %d\n"
  "blockIdx.x = %d\n"
  "blockIdx.y = %d\n"
  "blockIdx.z = %d\n"
  "blockDim.x = %d\n"
  "blockDim.y = %d\n"
  "blockDim.z = %d\n"
  "threadIdx.x = %d\n"
  "threadIdx.y = %d\n"
  "threadIdx.z = %d\n"
  "------------------------------------\n", 
  gridDim.x,
  gridDim.y,
  gridDim.z,
  blockIdx.x,
  blockIdx.y,
  blockIdx.z,
  blockDim.x,
  blockDim.y,
  blockDim.z,
  threadIdx.x,
  threadIdx.y,
  threadIdx.z);
}

 

처음에 CUDA 접하면 커널의 Triple chevron 안에 넣는 값에 따라 

 

커널내에서 gridDim, blockIdx, blockDim, threadIdx 값이 어떻게 정의될지 감이 잘 안잡힌다.

 

감을 잡기 위해서 값을 출력하는 함수를 구현해봤다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함