Significance of Linear Grid vs. 2D Grid

Hi, I am new at using CUDA, but I hope the answer to my question isn’t too obvious… If I use a 2D grid of blocks, is there any performance benefit vs. using multiple 1D grids? Do they make the 2D grid possible simply for easier means to relate the execution configuration to the problem at hand?


There can be a relationship between block thread index and memory access pattern, described in the programming guide, also in the videos in CUDA U section of web site. Also execution is block scheduled not thread scheduled: what is in memory in the card qua blocks and what is the code of your block accessing? If you use a thread’s block coordinates properly you can simplify keeping memory access efficient. The videos in CUDA U are very good on this stuff.