I’ve added the following line to the start of my program to keep CUDA from spin looping:
status = cudaSetDeviceFlags(cudaDeviceBlockingSync);
The addition of this line causes the first call to cudaMalloc() to fail with the error message, “no CUDA-capable device is available”. If I replace cudaDeviceBlockingSync with any other value (cudaDeviceScheduleSpin, cudaDeviceScheduleYield, etc.) it works fine. It’s only cudaDeviceBlockingSync that produces the error. Any idea what the problem could be?
I’m using CUDA 2.2 on Fedora 9 with a GTX280.