I’m developing a CUDA application with visual studio 2005 and I’m working on a GTX 560 Ti.
CUDA is really great but I have a tricky problem. Sometimes my kernel doesn’t work (is not executed) but non error segnalation was given. If I restart my PC everything is ok for some period, then it presents the same behaviour.
I’m compiling my code for GPU Architecture sm_13 for backward compatibility, this could be a problem?
Use cudaGetLastError() and check its returned error directly after a kernel before any synchronization or other Cuda function, as some errors at kernel launch might be missed otherwise.
Apart from that we might need a few more details to be able to help you. In the best case a very small piece of example code which causes the same errors.
Nevertheless I’ll try a blind guess. Am I understanding correctly that the kernel isn’t simply interrupted at some point but really doesn’t start at all?
In that case I suspect your kernel has an out of bounds memory access. This can cause the GPU to act erratically until restart. This includes refusing to launch kernels sometimes.