Are 3D grids possible? Beginner question

Hello all, just getting started in CUDA and I had a quick question.

Can a grid (of thread blocks) be three dimensional (where z > 1)?
The programming guide states:

“To help with complex addressing based on the block ID, an application can
specify a grid as a two-dimensional array of arbitrary size…”

This would seem to imply that a grid of blocks is intrinsically a 2D structure.
However, much (all) of the data I work with is large and 3-space native so for
several reasons I would prefer not to squash everything down to 2D
addressing and then transfer back (i.e. the ol’ fragment program paradigm).

Thanks for your time and help,


The grid of block is a 2D structure and it will stay 2D for a while.

Thanks for the speedy reply! Address crunching it is :-)

Well, the block layout can be 3D. With the limited number of threads per block however, this only helps you so far.