Roll back to 7.5 and removal of GeForce Experience yeilds a CUDA driver version I can't even downlo...

I installed
CUDA 8.0
CUDA 7.5
CUDA cats in a bag fighting occurred… with only 8.0 wining 7.5 samples will not run, but deviceQuery happly reports there is a cuda device ready and waiting for use.
Uninstall 8.0
Uninstall 7.5
Uninstall of GeForce Experience
Unload of driver from Device->Manager->NVIDIA GeForce 960M
Reboots

Install of CUDA 7.5

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

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

Detected 1 CUDA Capable device(s)

Device 0: “GeForce GTX 960M”
CUDA Driver Version / Runtime Version 9.0 / 7.5
CUDA Capability Major/Minor version number: 5.0
Total amount of global memory: 4096 MBytes (4294967296 bytes)
( 5) Multiprocessors, (128) CUDA Cores/MP: 640 CUDA Cores
GPU Max Clock rate: 1176 MHz (1.18 GHz)
Memory Clock rate: 2505 Mhz
Memory Bus Width: 128-bit
L2 Cache Size: 2097152 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 Domain ID / Bus ID / location ID: 0 / 2 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.0, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 960M
Result = PASS

Anyone notice anything weird there say:

CUDA Driver Version / Runtime Version 9.0 / 7.5

I can’t even get 9.0 through GeForce Experience driver update or 8.0 install… is it getting it from the OS?

Device Manager -> NVIDIA GeForce GTX 960M -> Properties reports:
NVidia GeForce GTX 960M
Driver provider: NVIDIA
Driver Date: 7/18/2017
Driver Version: 22.21.13.8494
Digital Signer: Microsoft Windows Hardware Compatibility Publisher

Note: Driver Date: 7/18/2017

Could this mean there is a 9.0 driver in the wild that I cannot download from NVIDIA or through GeForce Experience, but may be delivered via OS?

So to ask a dumb question: Did I get the CUDA 9.0 driver installed on my computer by removing every known driver installer?

If so this makes alot of sense right? Want a new driver hey just uninstall everything? What the…??

A CUDA 9.0 driver is a 384.xx (or 385.xx) driver currently. When you remove any of your own attempts at installing a driver, you end up with the driver that windows (microsoft) wants to install and use on your GPU, and currently that appears to be 384.94.

I don’t see anything odd here.

And yes, you can manually install that driver. It is here:

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

After uninstalling everything and uninstalling OS driver in Device manager then going forward I realized it came from:

384.94-notebook-win10-64bit-international-whql.exe

Which I found in my downloads and realized what happened.

Has anyone had issues getting CUDA 7.5 to run the driver shipped with it or driver shipped with CUDA 8, or driver versions 7.5+ but pre 9.0 from GeForce Experience. My experience has been:

Broken: CUDA Driver Version / Runtime Version 7.0 / 7.5
Broken: CUDA Driver Version / Runtime Version 8.0 / 7.5
Broken: GeForce Experience pre 9.0 (It could not get the 9.0 driver version for some reason… had to download 384.94-notebook-win10-64bit-international-whql.exe)
Worked: CUDA Driver Version / Runtime Version 9.0 / 7.5

On Dell 7559 with 960M

That particular combo is expected to be broken. The general rule is that the CUDA driver version must be greater than or equal to the CUDA runtime version. I can’t speak to the other cases, obviously you had a whirlwind of activity, and you don’t mention the specific driver version in each case.

Apologies… Correction/Typo… I never had 7.0 installed. And yes I do not expect that to work.

Broken: CUDA Driver Version / Runtime Version 7.5 / 7.5

Yeah it did not work with itself.

This all started when I needed to go back in time to 7.5 with VS2013 on Win10 professional box.

Begin whirlwind :

Installed: VS 2015 (Community Editions)
Installed: 8.0
Device Query works 8.0/8.0
NBody works 8.0/8.0
Installed: VS 2013
Installed: 7.5
Lunched 7.5 samples
Device Query works 8.0/7.5
NBody failed 8.0/7.5 (any app trying to actually use device fails).
Uninstalled 8.0
Repaired install of VS 2013 .NET (yes this happens not sure why… par for course)
Reinstall of 7.5
Device Query works 7.5/7.5
NBody failed 7.5/7.5 (any app trying to actually use device fails).
Updated Driver using GeForce Experience to what ever that was a day or so ago.
Device Query works 8.0/7.5
NBody failed 8.0/7.5 (any app trying to actually use device fails).
Remove all drivers (add remove programs)
Remove GeForce Experience
Remove drivers from Device Manager for 960M
Reboot
Install CUDA 7.5
Device Query works 7.5/7.5
NBody failed 7.5/7.5 (any app trying to actually use device fails).
Install 384.94-notebook-win10-64bit-international-whql.exe <- (magic sauce)
Device Query works 9.0/7.5
NBody successful 9.0/7.5

End whirlwind

Well there were attempts mixed in there to try and get to work with CMake 3.2/3.9(new cuda supported as first class language as of 3.7/3.8… but all that is on CMake Users/sufferers group…