Windows 7 no CUDA-capable device is detected

Hello. I have a new Dell workstation T7600 which runs Windows 7 and is equipped with a nVidia Quadro K2000. After confirming from nVidia website that K2000 is CUDA-capable, I installed CUDA Toolkit 6.5, restarted the workstation, and ran the deviceQuery program. (The driver version was 340.62 after installing CUDA 6.5.) However, I got the following error:

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v6.5\bin\win64\Release>deviceQuery.exe
deviceQuery.exe Starting…

CUDA Device Query (Runtime API) version (CUDART static linking)

cudaGetDeviceCount returned 38
-> no CUDA-capable device is detected
Result = FAIL

I tried a different PCIe x16 slot (that is, physically installed the card, re-installed CUDA 6.5, and restarted) but the same error appeared. After searching online, I found some people had this error in Windows because they were using Remote Desktop Connection, but I was not…It would be much appreciated if the Development team or anyone else could give me some hint on this. Thank you!

are you connecting in any remote fashion to this machine? Or are you using the keyboard and display directly attached to the machine?

are there any GPUs in the system besides the K2000?

Is the K2000 visible in device manager? Does it indicate any issues/problems in device manager?

Are you running the main windows desktop display from the K2000 ?

The T7600 is a dual CPU machine. Do you have dual processors installed?

Was the K2000 installed by Dell (preconfigured that way) or did you install it?

Hi txbob,

I am using the keyboard and display directly attached to the machine.

K2000 is the only GPU in the system. It is visible in the device manager and its device status in device manager is “This device is working properly” .

I am running the main windows desktop display from the K2000. I am actually having two monitors (Dell U2410, and P190S), both on the K2000.

I have dual processors installed. On the “computer properties” page, it says Intel® Xeon® CPU E5-2620 0 @ 2.00GHz 2.00 GHz (2 processors).

The K2000 was originally installed by Dell on the Accelerated graphics port (PCIe x16) (blue color slot) on the motherboard. After the DeviceQuery reported this error, I installed it in another slot, that is, a PCIe x16 slot (black color slot), but the DeviceQuery reported the same error after I re-installed CUDA 6.5 (as I mentioned in the question).

can you use the windows search facility to find the executable nvidia-smi.exe on your machine, then run it, and report whatever it prints out. It should have been installed with the 340.62 driver install.

Is your windows 7 a 32-bit OS or a 64-bit OS?
Which CUDA toolkit installer did you use?
Were there any error messages reported during the CUDA toolkit install?

Have you rebooted the machine after installing the CUDA toolkit?

I ran the nvidia-smi.exe in the directory “C:\Program Files\NVIDIA Corporation\NVSMI” and it returned:

C:\Program Files\NVIDIA Corporation\NVSMI>nvidia-smi.exe
Tue Nov 25 18:13:11 2014
±-----------------------------------------------------+
| NVIDIA-SMI 340.62 Driver Version: 340.62 |
|-------------------------------±---------------------±---------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro K2000 WDDM | 0000:06:00.0 On | N/A |
| 30% 33C P8 N/A / N/A | 2010MiB / 2047MiB | 0% Default |
±------------------------------±---------------------±---------------------+

±----------------------------------------------------------------------------+
| Compute processes: GPU Memory |
| GPU PID Process name Usage |
|=============================================================================|
| 0 684 Insufficient Permissions N/A |
| 0 3736 C:\Windows\system32\Dwm.exe N/A |
| 0 956 …iles (x86)\Google\Chrome\Application\chrome.exe N/A |
±----------------------------------------------------------------------------+

My Windows 7 is a 64-bit OS.
I used CUDA Toolkit 6.5 installer with filename “cuda_6.5.14_windows_general_64.exe”, which I downloaded from nVidia website.
There was no error message during the CUDA toolkit install. I chose the “express” installation mode.

I rebooted the machine after installing the CUDA toolkit, then ran DeviceQuery, and got the error message.

Can you use the windows search facility to locate devicequerydrv.exe and run that?
(it may be in C:\ProgramData\NVIDIA Corporation\CUDA Samples\v6.5\bin\win64\Release, if so use that)

The driver appears to be installed and working correctly, this would help confirm it.

If deviceQuerydrv.exe also reports an error, can you try running these deviceQuery apps from an “elevated console”, i.e. right-click on the command prompt icon in the start menu, and select “run as administrator”, then try running devicequery.exe or devicequerydrv.exe from there.

Do you have any version of visual studio installed on this machine?

Sorry for the late reply. I ran the DeviceQueryDrv.exe in the directory “C:\ProgramData\NVIDIA Corporation\CUDA Samples\v6.5\bin\win64\Release” and it returned the following error:

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v6.5\bin\win64\Release>deviceQuer
yDrv.exe
deviceQueryDrv.exe Starting…

CUDA Device Query (Driver API) statically linked version
cuInit(0) returned 100
-> CUDA_ERROR_NO_DEVICE (no CUDA-capable devices were detected)
Result = FAIL

I also ran the DeviceQueryDrv.exe after selecting “run as administrator” but it returned the same error. I also ran the DeviceQuery.exe after selecting “run as administrator” but the returned error message was the same as in my posted question.

I do have two versions of VS installed on this machine, VS 2008 and VS 2010. I installed VS 2008 right after I got this machine, then installed CUDA toolkit, and got the “no CUDA-capable device is detected” error. After some time until recently, I installed VS 2010, then installed CUDA toolkit 6.5, and got the “no CUDA-capable device is detected” error as well.

I’m running out of ideas. Your configuration should work. However the indication is that the driver is non-functional in some respect. (nvidia-smi is usually a good test, and that is not reporting an error. But the driver API apps are not working…)

Can you try loading the latest driver (only) for that GPU? 340.62 is what shipped with the CUDA 6.5 installer package, but there are newer driver versions.

If you can try loading a new driver, I would suggest this one:

http://www.nvidia.com/download/driverResults.aspx/79105/en-us

When you run that installer, please select the option for a “clean install”. If you’re not sure how to do that, please review this:

http://nvidia.custhelp.com/app/answers/detail/a_id/2900/~/guide-on-how-to-install-the-nvidia-display-driver-under-windows-7%2Fwindows-8

Regarding visual studio, have you rebuilt any of these apps (e.g. deviceQuerydrv.exe)?

I installed the latest driver (341.05) following your links (checked the “clean install” option), restarted the machine, but it still returned the same errors when I ran DeviceQuery.exe and DeviceQueryDrv.exe.

I have not built any VS solution after installing the VS 2008 and the VS 2010, so I think I have not rebuilt any of these apps (e.g. DeviceQueryDrv.exe).

I also ran nvidia-smi.exe and copied the output here, but I did not find anything changed after installing the latest driver…

C:\Program Files\NVIDIA Corporation\NVSMI>nvidia-smi.exe
Wed Nov 26 13:47:44 2014
±-----------------------------------------------------+
| NVIDIA-SMI 341.05 Driver Version: 341.05 |
|-------------------------------±---------------------±---------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro K2000 WDDM | 0000:06:00.0 On | N/A |
| 30% 30C P8 N/A / N/A | 2009MiB / 2047MiB | 1% Default |
±------------------------------±---------------------±---------------------+

±----------------------------------------------------------------------------+
| Compute processes: GPU Memory |
| GPU PID Process name Usage |
|=============================================================================|
| 0 672 Insufficient Permissions N/A |
| 0 4864 C:\Windows\system32\Dwm.exe N/A |
| 0 5936 …iles (x86)\Google\Chrome\Application\chrome.exe N/A |
±----------------------------------------------------------------------------+

Do you think it might be caused by potential manufacture defects in either the Dell motherboard or the GPU?

At the moment, I’m stumped. A hardware issue seems unlikely to me at this point, since your windows desktop seems to be working, but I can’t rule anything out.

I’ve got some requests into colleagues, but since it’s right before a holiday it may be a while before I hear anything back.

certainly if you have a relationship with Dell, you might share your concerns with them.

Thank you for your requests into colleagues. I really appreciated and please keep me posted. I will try more on this machine during the holiday, e.g. try all the other PCI slots and maybe try another GPU.

A colleague of mine set up a Dell T7600 with a K2000 card and a fresh load of Win7. With CUDA 6.5 toolkit loaded, there was no problems running deviceQuery – it reported the presence of the K2000 card. This doesn’t really tell us much except that it should work. I’ll probably have a brief period of time where I can access the T7600 set up by my colleague.

I assume you are not running any sort of virtualized OS? i.e. the win7 OS is not running in a VM?

How much memory is installed in the workstation?

I am not running any sort of virtualized OS. I am running the win7 OS directly. The installed memory (RAM) is 32 GB.

Yesterday I borrowed another GPU (Geforce GTX 470), replaced with K2000, and performed the same installation (display driver and CUDA 6.5), but still had the same error reported by deviceQuery. It seems this problem is not K2000 specific and something is wrong with the workstation, either hardware or software?

I doubt it is hardware at this point. If there were a hardware problem significant enough to interfere with GPU behavior, I think there would be some indication of that in ordinary (desktop graphics) usage of the Quadro GPU.

Just as you’ve now replaced the GPU and found that it is not the culprit, I think it would make sense to begin trying to replace the software. If it’s possible to grab another hard disk and do a complete reload of windows 7 on a blank HDD for test purposes, I think that would be most instructive.

Another configuration area that I might usually check is the system BIOS, but I can’t think of a system BIOS setting that would allow the GPU driver to function but not CUDA.

One thing I did notice is that when I run nvidia-smi on my colleague’s workstation, it reported the GPU temp at 43C and the perf state was P0 (the highest performance state). This is pretty much what I would expect, because the GPU should be active servicing the attached displays, if nothing else. In your printout above, the GPU temp was reported at 33C and the perf state was P8 (a low-power idle state). To me, this is curious, but it may be “normal”. Having said that, I don’t know what might cause it, even if it were somehow connected to the problem.

Some suggestions from my colleague:

  1. be sure to use the latest SBIOS (A12)
  2. in System BIOS setup, set MMIO size to “large” and CPU resource allocation to “more to CPU1”

We don’t know for sure that these have any impact on what you are seeing, however. We’ve not been able to duplicate the issue.

Thank you and your colleague for the suggestions. I have been using the A12 BIOS since I posted the question. But I will change the BIOS setting according to the 2nd suggestion and install win7 on a blank HDD todday (just got a HDD).

txbob, I get good news here. My problem has been solved by reinstalling Windows 7. Since this Wed., I have been working on reinstalling the same operating system (64 bit Windows 7) on this workstation using another empty hard drive. I first encountered a problem that the Windows installation could not see the hard drive. I used the T7600 Knowledge Base Resource Library and figured out that I need to install a driver for the storage controller. I downloaded the driver from Dell website and loaded using a USB flash drive during the installation. (In my case, I found my T7600 has C600 Series controller, so I downloaded the IRSTe F6 Driver and used the “RSTe_f6_iaStorS_64” folder in it. It seems working.) After solving this problem, I could reinstall Windows, update Windows to the latest updates, and install CUDA Toolkit 6.5. I put both Quadro T2000 and another one (GTX 470) in T7600 before installing CUDA Toolkit. The result is that both GPUs can be detected by DeviceQuery as CUDA-capable GPU.

I think my problem has been solved by reinstalling Windows. I just figure this out this morning, and feel very excited about it. Yet, I am still not sure why neither Quadro K2000 nor GTX 470 can be detected by the previous same operating system.

Below I copy the new output from the DeviceQuery

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v6.5\bin\win64\Release>deviceQuery.exe
deviceQuery.exe Starting…

CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 2 CUDA Capable device(s)

Device 0: “GeForce GTX 470”
CUDA Driver Version / Runtime Version 6.5 / 6.5
CUDA Capability Major/Minor version number: 2.0
Total amount of global memory: 1280 MBytes (1342177280 bytes)
(14) Multiprocessors, ( 32) CUDA Cores/MP: 448 CUDA Cores
GPU Clock rate: 1215 MHz (1.22 GHz)
Memory Clock rate: 1674 Mhz
Memory Bus Width: 320-bit
L2 Cache Size: 655360 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65535), 3D=(2048, 2048, 2048)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 32768
Warp size: 32
Maximum number of threads per multiprocessor: 1536
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (65535, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 1 copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
CUDA Device Driver Mode (TCC or WDDM): WDDM (Windows Display Driver Model)
Device supports Unified Addressing (UVA): Yes
Device PCI Bus ID / PCI location ID: 6 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

Device 1: “Quadro K2000”
CUDA Driver Version / Runtime Version 6.5 / 6.5
CUDA Capability Major/Minor version number: 3.0
Total amount of global memory: 2048 MBytes (2147483648 bytes)
( 2) Multiprocessors, (192) CUDA Cores/MP: 384 CUDA Cores
GPU Clock rate: 954 MHz (0.95 GHz)
Memory Clock rate: 2000 Mhz
Memory Bus Width: 128-bit
L2 Cache Size: 262144 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 1 copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
CUDA Device Driver Mode (TCC or WDDM): WDDM (Windows Display Driver Model)
Device supports Unified Addressing (UVA): Yes
Device PCI Bus ID / PCI location ID: 5 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simu
ltaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Versi
on = 6.5, NumDevs = 2, Device0 = GeForce GTX 470, Device1 = Quadro K2000
Result = PASS

Thanks for the update. I’m unable to explain why reloading the OS fixed it, but if you’re satisfied and want to move on, then good luck! I’m not sure I could be of much further assistance anyway, but I think you can have a higher level of confidence in the hardware now. I would be curious to see the output from nvidia-smi.exe in the working configuration, but there’s no particular need for it if you simply want to move on. I also suspect you had Chrome browser loaded on the previous config, and I would be curious to know if Chrome was loaded on the working config, and if not, whether anything changes after installing Chrome.

Anyway, good luck to you!

Sorry for replying late. I was working on a deadline. Below is the output from nvidia-smi.exe in the working config (newly installed OS).

c:\Program Files\NVIDIA Corporation\NVSMI>nvidia-smi.exe
Wed Dec 17 11:13:27 2014
±-----------------------------------------------------+
| NVIDIA-SMI 340.62 Driver Version: 340.62 |
|-------------------------------±---------------------±---------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro K2000 WDDM | 0000:05:00.0 On | N/A |
| 30% 34C P8 N/A / N/A | 2009MiB / 2047MiB | 0% Default |
±------------------------------±---------------------±---------------------+
| 1 GeForce GTX 470 WDDM | 0000:06:00.0 N/A | N/A |
| 40% 43C P12 N/A / N/A | 1242MiB / 1279MiB | N/A Default |
±------------------------------±---------------------±---------------------+

±----------------------------------------------------------------------------+
| Compute processes: GPU Memory |
| GPU PID Process name Usage |
|=============================================================================|
| 0 584 Insufficient Permissions N/A |
| 0 3012 C:\Windows\system32\Dwm.exe N/A |
| 0 3708 …iles (x86)\Google\Chrome\Application\chrome.exe N/A |
| 1 Not Supported |
±----------------------------------------------------------------------------+

I had Chrome installed in both the previous OS and current OS, and it seems the Chrome appeared in the output of nvidia-smi.exe in both OS.

The two GPUs in the current OS are working fine till now. Thank you for the help!