I wanted to write a little app which shows me the general informations about my GPU. The idea itself is easy enough yet the beginning is not working perfectly. First, i went with this:
cudaDeviceProp dev_prop; int dev; cudaGetDeviceProp(&dev); if(dev == 0) printf("No CUDA-capable device found"); else printf("%d device(s) found", dev);
The method itself should be good, written down is textbooks about the topics. I asked a bunch of people who have computers with no NVIDIA GPU in it to try the app, and the output about the number of devices were like 12 (in most case), 4063588 and a some other random (?) numbers. So this method is not good at all. It detects there is a device when dev is anything but 0. Then:
cudaDeviceProp dev_prop; int dev; cudaError_t check = cudaGetDeviceProp(&dev); if(check == cudaSuccess) printf("%d device(s) found", dev); else printf("No CUDA-capable device found");
This one is better, at least it does not throw random numbers, but also, it does not detect a lot of NVIDIA GPU-s, mostly older ones, but ones with CUDA support (e.g. 8600GS, 8800GT, etc.). My first thought was it has something to do with compute-capability (1.1), but it does not, becouse 1-2 guys with 8800 GTS (also with CC of 1.1) comfirmed that my app is working just fine. So i really don’t understand the situation here. You have to have the CUDA toolkit installed to run an app like this? Or it requires something else?
Thank You and as always, sorry for my english.