I’m experiencing a strange “invalid argument” error. It doesn’t happen in the emulator and the failing invocation takes only 0.1 ms, so it can’t be a runtime error in the kernel or timeout. Actually, I still get the error even if I make the first line of the kernel “if ( threadIdx.x < 512 ) return;”
When I was running with 180 or 192 threads per block it worked fine. When I increased to 256 threads (or even 193) I get the error. I can make the error go away by commenting out a few lines at the end of the kernel’s inner loop (the kernel is 150 lines long and has 32 bytes of arguments). Reducing shared memory usage has no effect.
Any ideas or suggestions? What is this error supposed to mean?