I am trying to set up three dimensional indexing using 2-D grid and 3-D blocks.
Following is indexing scheme used in my code:
LX=80; LY=80; LZ=32;
TILE_I=8; TILE_J=8; TILE_K=4;
dim3 grid = dim3(LX/TILE_I, LY/TILE_J);
dim3 block = dim3(TILE_I, TILE_J, TILE_K );
int x = blockIdx.x*TILE_I + threadIdx.x;
int y = blockIdx.y*TILE_J + threadIdx.y;
int z = blockIdx.z*TILE_K + threadIdx.z;
int idx= x+ y*LX+ z*LX*LY;
idx is global indexing for any thread.
It is important for me to know each thread in (x,y,z) co-ordinate.
This indexing scheming works ok for first 6400 (80x80) elements, for the 2-D indexing, but something
is wrong with indexing in Z direction.
Could you please help me debug this indexing problem.
Thanks