CUDA 9 RC, cudaErrorInsufficientDriver, and Driver Installation on Windows 7

I have a lot of experience with CUDA, and its installation on Windows and Ubuntu, but a looming deadline has left me looking for help.

On Windows 7 Enterprise I recently installed Visual Studio 2017 Enterprise (15.2 (26430.15)) - alongside VS 2015. I first upgraded my graphics driver from 353.30 to 385.41 (I have a Quadro 4200). I then tried installing CUDA 9 RC (alongside CUDA 8, which was already installed and working). During the CUDA 9 RC installation another graphics driver was offered (384.94 I believe), and I chose to install that.

Afterwards, I found that CUDA 9 sample programs (within VS 2017) such as oceanFFT, which were working with CUDA 8 (VS 2015), would now fail with a runtime error such as:

CUDA error at c:\programdata\nvidia corporation\cuda samples\v9.0\common\inc\helper_cuda.h:1162 code=35(cudaErrorInsufficientDriver) "cudaGetDeviceCount(&device_count)"

I then opened the CUDA 8 samples within VS 2015 and found that I now get the same error here too.

I’ve since tried repairing, uninstalling, and reinstalling (353.30, 385.41 and 384.94 within the CUDA 9 RC installer) to no avail. Typically the installation of the graphics driver fails. If I store the log using:

setup.exe -log:"C:\NVlog"

the first error I see is:

ERROR: [NVI2.Installation] 1156@CInstallationCheckingBase::CheckConstraints : Constraints blocked install.

Each installation after a failed attempt requires me to reboot. Can anyone offer some advice?

Thanks,

I tried the two latest Quadro drivers on Windows 7. As before, both fail at the graphics driver installation step. I can neither use CUDA, OpenGL, or even rotate my display by 90 degrees :(

Quadro New Feature Driver (QNF)
388.16-quadro-grid-desktop-notebook-win8-win7-64bit-international-whql.exe

Optimal Driver for Enterprise (ODE)
385.90-quadro-grid-desktop-notebook-win8-win7-64bit-international-whql.exe

What is the exact name of your Quadro? Is it Quadro K4200? If so, that should still be supported with CUDA 9, as an sm_30 device. Why did you install CUDA 9 RC, given that the final version of CUDA 9 became available weeks ago?

I haven’t noticed any driver installation problems recently, so I am a bit puzzled why the installer fails to work for you. I am on Windows 7 with a Quadro K2200 (so similar platform to yours), but my driver is only updated to ODE driver 385.41 (I only use ODE drivers).

Yes indeed, a Quadro K4200; and I know it should be supported. Why did I install CUDA 9 RC? Because I was curious about CUDA 9; and CUDA 9 was not then available. (The date on my first post may count as a clue here.)

Needless to say I also tried the CUDA 9 Release installer (the week it was released) - it also fails at the graphics driver installation step.

I am also puzzled. Thanks for the input.

Are you trying with https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_windows-exe?
cudaErrorInsufficientDriver means your driver is too old for current toolkit.

Yes I am. There is only that one and the network version for Win 7. It fails at the display driver installation.

I’ve inlined “LOG.setup.exe.log” which is the only log file generated using the Quadro ODE 385.90 driver I mentioned above. This output follows: setup.exe -log:“C:\NVlog”:

  0.559 |   SYSTEM: [NVI2.NVInstaller] 84@CNVInstaller::PerformSteps : Performing install steps, via module C:\Program Files\NVIDIA Corporation\Installer2\CoreTemp.{D22A3E81-C08E-4B2F-8EB6-DFA40D0B976C}\NVI2.DLL version 2.1002.259.2253 - date "2017-10-30T21:22:36.920" - command "setup.exe  -log:"C:\NVlog"". 
  0.559 |   SYSTEM: [NVI2.NVInstaller] 90@CNVInstaller::PerformSteps : Running on Windows 6.1.7601 - Arch ID: 9 - Wow-64 check: "true". 
  9.447 |    ERROR: [NVI2.Installation] 1156@CInstallationCheckingBase::CheckConstraints : Constraints blocked install. 
  9.447 |    ERROR: [NVI2.InstallThread] 54@CInstallThread::ThreadProc : Install failed - Exception {0xe0e06001; File: InstallationStepper.cpp; Line: 382} - going to fail state. 
 11.912 |    ERROR: [NVI2.NVInstaller] 240@CNVInstaller::PerformSteps : Installation failed with error Exception {0xe0e06001; File: SimpleThread.h; Line: 228}. 
  2.501 |   SYSTEM: [NVI2.NVInstaller] 84@CNVInstaller::PerformSteps : Performing install steps, via module C:\Program Files\NVIDIA Corporation\Installer2\CoreTemp.{B8BF2EAA-7EEB-420D-8E51-6EBFD69BEC9E}\NVI2.DLL version 2.1002.259.2253 - date "2017-10-30T21:22:36.920" - command "setup.exe  -log:"C:\NVlog"". 
  2.521 |   SYSTEM: [NVI2.NVInstaller] 90@CNVInstaller::PerformSteps : Running on Windows 6.1.7601 - Arch ID: 9 - Wow-64 check: "true". 
 32.601 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.677 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.678 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.679 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.680 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.681 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.682 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.683 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.683 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.684 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.685 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.686 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.687 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.688 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.689 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.690 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 32.690 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 61.731 |    ERROR: [NVI2.NVFileAction] 833@CNVFileAction::InvokeAction : Exception {0x80070020 - The process cannot access the file because it is being used by another process.; File: FilePath.cpp; Line: 1385; While moving C:\ProgramData\NVIDIA\DisplaySessionContainer1.log to c:\temp\INS_63816acb.TMP; While deleting C:\ProgramData\NVIDIA\DisplaySessionContainer1.log} thrown while performing file action. 
 61.731 |    ERROR: [NVI2.NVFileAction] 866@CNVFileAction::InvokeAction : COM error: Exception {0x80070020 - The process cannot access the file because it is being used by another process.; File: FilePath.cpp; Line: 1385; While moving C:\ProgramData\NVIDIA\DisplaySessionContainer1.log to c:\temp\INS_63816acb.TMP; While deleting C:\ProgramData\NVIDIA\DisplaySessionContainer1.log}. 
 61.949 |    ERROR: [NVI2.NVFileAction] 833@CNVFileAction::InvokeAction : Exception {0x80070005 - Access is denied.; File: FilePath.cpp; Line: 680; GetLastError()} thrown while performing file action. 
 61.949 |    ERROR: [NVI2.NVFileAction] 866@CNVFileAction::InvokeAction : COM error: Exception {0x80070005 - Access is denied.; File: FilePath.cpp; Line: 680; GetLastError()}. 
 70.284 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.287 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.288 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.289 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.289 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.290 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.291 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.292 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.293 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.294 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.294 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.295 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.296 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.297 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.298 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.298 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 70.299 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 72.590 |    ERROR: [NVI2.NVServiceAction] 1071@CNVServiceAction::ControlService : Failed to open service Exception {0x80070424 - The specified service does not exist as an installed service.}. 
 72.590 |    ERROR: [NVI2.NVServiceAction] 661@CNVServiceAction::InvokeAction : COM error: Exception {0x80070424 - The specified service does not exist as an installed service.; GetLastError()}. 
 74.206 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.208 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.209 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.209 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.210 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.210 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.211 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.212 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.213 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.213 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.214 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.214 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.215 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.216 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.216 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.217 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
 74.217 |    ERROR: [NVI2.NVDevicePhase] 2707@CNVDevicePhase::InfFileRoot : INF not expected to contain a DirID: 13 relative: <no-value>. 
  0.644 |   SYSTEM: [NVI2.NVInstaller] 84@CNVInstaller::PerformSteps : Performing install steps, via module C:\Program Files\NVIDIA Corporation\Installer2\CoreTemp.{B0A7C5CE-B6F4-4037-A6F6-0E5C8A832BE3}\NVI2.DLL version 2.1002.259.2253 - date "2017-10-30T21:22:36.920" - command ""C:\temp\NVIDIA\NvDisplayContainerInstallerTemp\setup.exe"  -n -s". 
  0.645 |   SYSTEM: [NVI2.NVInstaller] 90@CNVInstaller::PerformSteps : Running on Windows 6.1.7601 - Arch ID: 9 - Wow-64 check: "true". 
  1.845 |   SYSTEM: [NVI2.NVInstaller] 84@CNVInstaller::PerformSteps : Performing install steps, via module C:\Program Files\NVIDIA Corporation\Installer2\CoreTemp.{603AE5EF-2B7A-41C2-B7AD-2E6AF43C2F7C}\NVI2.DLL version 2.1002.259.2253 - date "2017-10-30T21:22:36.920" - command ""C:\temp\NVIDIA\ControlPanelInstallerTemp\setup.exe"  -n -s Display.ControlPanel". 
  1.845 |   SYSTEM: [NVI2.NVInstaller] 90@CNVInstaller::PerformSteps : Running on Windows 6.1.7601 - Arch ID: 9 - Wow-64 check: "true". 
  3.984 |    ERROR: [NVI2.NVServiceAction] 1071@CNVServiceAction::ControlService : Failed to open service Exception {0x80070424 - The specified service does not exist as an installed service.}. 
  3.985 |    ERROR: [NVI2.NVServiceAction] 661@CNVServiceAction::InvokeAction : COM error: Exception {0x80070424 - The specified service does not exist as an installed service.; GetLastError()}. 
  3.985 |    ERROR: [NVI2.NVServiceAction] 661@CNVServiceAction::InvokeAction : COM error: Exception {0xe0e00000; File: NVServiceAction.cpp; Line: 1175}. 
  4.292 |    ERROR: [NVI2.NVAppPhase] 383@CNVAppPhase::InvokePhase : COM error: Exception {0x80070002 - The system cannot find the file specified.; File: FilePath.cpp; Line: 664; GetLastError()}. 
 28.169 |    ERROR: [NVI2.NVFileAction] 833@CNVFileAction::InvokeAction : Exception {0x80070002 - The system cannot find the file specified.} thrown while performing file action. 
 28.169 |    ERROR: [NVI2.NVFileAction] 866@CNVFileAction::InvokeAction : COM error: Exception {0x80070002 - The system cannot find the file specified.}. 
 28.169 |    ERROR: [NVI2.NVPhase] 206@INVCommonPhaseImpl<class CNVStandardPhase,struct INVStandardPhase,struct INVStandardAction,struct INVCloseInstallStandardAction,struct INVValidationAction>::InvokePhase : COM error: Exception {0x80070002 - The system cannot find the file specified.; File: NVCommonPhaseImpl.h; Line: 202; Action failed forregisterDLLs-}. 
 28.177 |    ERROR: [NVI2.NVInstaller] 1984@CNVInstaller::InternalPerformInstall : Package "Display.ControlPanel" failed with error: Exception {0x80070002 - The system cannot find the file specified.; File: PerformInstall.cpp; Line: 3949; Phase failure}. 
 28.177 |    ERROR: [NVI2.NVInstaller] 2043@CNVInstaller::InternalPerformInstall : Failing at package "Display.ControlPanel" failed with error: Exception {0x80070002 - The system cannot find the file specified.} - aborting install. 
 28.178 |    ERROR: [DisplayCPL.DisplayCplExtSite] 1754@CDisplayCplExtSite::AfterInstall : Control Panel install status is considered a failure. 
 28.178 |    ERROR: [NVI2.InstallThread] 54@CInstallThread::ThreadProc : Install failed - Exception {0x80070002 - The system cannot find the file specified.; File: PerformInstall.cpp; Line: 3949; Phase failure} - going to fail state. 
 28.179 |    ERROR: [NVI2.NVInstaller] 240@CNVInstaller::PerformSteps : Installation failed with error Exception {0x80070002 - The system cannot find the file specified.; File: InstallThread.cpp; Line: 109}. 
210.175 |    ERROR: [NVI2.NVAppPhase] 770@CNVAppPhase::InvokeApp : Executable failed. 
210.180 |    ERROR: [NVI2.NVInstaller] 1984@CNVInstaller::InternalPerformInstall : Package "Display.Driver" failed with error: Exception {0xe0e00059; File: PerformInstall.cpp; Line: 3949; Phase failure}. 
210.226 |    ERROR: [CPLUtil] 832@CPLUtil::CPLInstallSuccess : Control Panel install failed with error 2147942402. 
210.226 |    ERROR: [DisplayDriver.DisplayDriverExtSite] 3907@CDisplayDriverExtSite::ConfirmCPLInstall : Uninstalling "Display.Driver" due to the failure of Display.ControlPanel. 
213.521 |    ERROR: [NVI2.NVInstaller] 2483@CNVInstaller::InternalFinalizePackage : Error Exception {0xe0e00050} while finalizing package. 
213.522 |    ERROR: [NVI2.NVInstaller] 2043@CNVInstaller::InternalPerformInstall : Failing at package "Display.Driver" failed with error: Exception {0xe0e00059} - aborting install. 
213.524 |    ERROR: [NVI2.InstallThread] 54@CInstallThread::ThreadProc : Install failed - Exception {0xe0e00059; File: PerformInstall.cpp; Line: 3949; Phase failure} - going to fail state. 
226.366 |    ERROR: [NVI2.NVInstaller] 240@CNVInstaller::PerformSteps : Installation failed with error Exception {0xe0e00059; File: SimpleThread.h; Line: 228}.

I don’t see the issue on my platform.
AFAIK, VS2017 isn’t supported by CUDA 9.0.
Could you try with CUDA 9.1 again?
https://developer.nvidia.com/compute/cuda/9.1/Prod/local_installers/cuda_9.1.85_387.26_linux