I finally found a fix for this issue! As mentioned in other forum threads, nvcuda.dll does not get installed properly for some system configurations. This is what caused my CUDA device to be unavailable.
Here is a detailed description of what I did to fix the issue on my laptop. This fix will only make a difference if you have attempted to install the NVIDIA drivers for a CUDA supported card, but nvcuda.dll still does not exist in “C:\Windows\System32”!!!
INF files tell Windows how to install and use drivers, so to fix this issue, the INF file for YOUR system configuration needs to be updated. There are a number of INF files that come with the NVIDIA drivers, so the best way to find and edit the INF file for YOUR system is to follow these steps:
- Run msinfo32 from either the command prompt or the Run window.
- Go to the “System Summary\Components\Display” view.
- Look at the value for “INF File” and find that file in “C:\Windows\INF”.
- Open your INF file in Notepad and find the “CatalogFile” field which should be near the top of the file. The catalog filename corresponds to your INF filename from the NVIDIA driver installer. My CatalogFile was NVWI.cat so my original INF file is NVWI.inf.
- Find your original INF file from wherever you extracted the NVIDIA drivers during your initial installation. The directory path should be something like “C:\NVIDIA\WinVista64\174.55”.
- Add “nvcuda.dll = 1” to the “[SourceDiskNames]” section.
- Add “nvcuda.dll,0x00004000” to the “[nv.UMode]” section.
- Run setup.exe again to reinstall your driver.
After following the steps above successfully, you should see nvcuda.dll in your C:\Windows\System32 directory and the Cuda samples should run on the GPU (not in emulation mode).