Programming/openCL & CUDA
CUDA 쓰레드 계산
구차니
2014. 1. 15. 21:58
머리를 데굴데굴 굴려봐도 깔끔한 계산식이 안나온다..
걍 2차원 배열로 하는수 밖에 없으려나?
일단 1차원으로 할당한 녀석을 2차원 block/thread 로 구성시에 대한 수식이다.
근데.. 걍.. 데이터를 2차원 으로 해서 하는게 속 편할지도 모르겠네...
뻘짓 끝에 디버거로 돌려보니..
blockIdx 에는 thread block의 dimension이 들어간다....
다시 글들을 보니..
block에 대한 카운트와 인덱스는 gridDim 과 blockIdx에서
thread에 대한 카운트와 인덱스는 blockDim 과 threadIdx 에서 내장변수로 제공한다.
---
끄아아.. 벌써 세번째 글이었구나 ㅠㅠ
2011/01/16 - [Programming/openCL / CUDA] - CUDA 내장변수 - built in variable
2012/04/30 - [Programming/openCL / CUDA] - cuda 내장변수
걍 2차원 배열로 하는수 밖에 없으려나?
일단 1차원으로 할당한 녀석을 2차원 block/thread 로 구성시에 대한 수식이다.
threadIdx.x +blockIdx.x * blockDim.x + (gridDim.x * blockDim.x) * (blockIdx.y * blockDim.y + threadIdx.y); |
근데.. 걍.. 데이터를 2차원 으로 해서 하는게 속 편할지도 모르겠네...
blockIdx 에는 thread block의 dimension이 들어간다....
다시 글들을 보니..
block에 대한 카운트와 인덱스는 gridDim 과 blockIdx에서
thread에 대한 카운트와 인덱스는 blockDim 과 threadIdx 에서 내장변수로 제공한다.
---
끄아아.. 벌써 세번째 글이었구나 ㅠㅠ
2011/01/16 - [Programming/openCL / CUDA] - CUDA 내장변수 - built in variable
2012/04/30 - [Programming/openCL / CUDA] - cuda 내장변수