CUDA의 kernel 부분에서 사용되는 내장변수는 다음과 같다.
아직 내용이 헷갈리지만 -_-
kernel<<<grid, thread_block>>>(vars, ... );
이런식으로 커널을 사용하는데
현재 block의 인덱스는 blockIdx에
현재 thread의 인덱스는 threadIdx에 들어간다.
blockDim 에는 전체 블럭의 카운트 값이 들어가는데
그렇다면 쓰레드의 전체 카운트 값은 어디에 들어갈려나?
아래는 Programming Guid에서 검색한 kernel 코드의 인덱스 부분
int row = blockIdx.y * blockDim.y + threadIdx.y;
int col = blockIdx.x * blockDim.x + threadIdx.x;
|
'Programming > openCL & CUDA' 카테고리의 다른 글
vectorAdd 를 이용한 CUDA 연습 (0) | 2011.01.18 |
---|---|
CUDA 메모리별 범위(scope) (0) | 2011.01.17 |
CUDA Toolkit 3.2 - SDK와 Toolkit을 둘다 설치하세요! (2) | 2011.01.16 |
CUDA SDK 3.2 예제파일 변경점 (0) | 2011.01.14 |
CUDA_Occupancy_calculator 내용 캡쳐 (0) | 2011.01.14 |