Strange "Invalid Configuration Argument" Error


I’m currently working on some code that needs to repeatedly launch a kernel with a slightly different thread block each time. However, some of my configurations do not work.

When using a {1,1,256} thread block I get an “Invalid Configuration Argument” error.

However block configurations of:

{2,1,128} {4,1,64} {8,1,32} and {256,1,1} work just fine.

What is the reasoning for this? My kernel only uses 12 registers so I don’t think I’m running out of resources. Any help would be much appreciated.

I figured this out,

Max z-size of the thread block is 64 as listed in section A1 of the programming guide.

[Edit: I was too slow ;)]