Things I have tried:

Install Visual Studio 15
Install CUDA 8.0 + patch
Install Visual Studio 13 <- Yes Nvidia / CMake'ers sometimes we have to do back ports
Install CUDA 7.5
VS 13 will run CUDA 8.0 samples nbody/deviceQuery
VS 13 does not run CUDA 7.5 samples nbody or any example attempting to actually use the GPU. deviceQuery worked. CMake v3.2/3.9 compiles with either FindCUDA approach v3.2 or new "project" approach v3.9, but neither is able to access the deivce. Devcie query code such as in deviceQuery works stating there is a CUDA cable device ready and waiting but fails on device access like cudaMalloc calls.
Reinstalled CUDA 7.5
Still only VS with 8.0 works with samples.
Used NVIDIA Control panel to assign every program to run on NVIDIA GPU such as VS and CMake instead of Integrated graphics through Nvidia Optimus Interface.
Used GeForce Experience to get latest driver.
VS, CUDA, CMake is at same state.
Removed all CUDA 8.0 goop
Forced to reinstall/repair VS 13 due to .NET not sure why this happened.
VS unable to run nbody in VS 13 CUDA 7.5
Reinstall CUDA 7.5
Same state
Reinstall CUDA 8.0
VS 13 works with CUDA 8.0 but still will not run nbody with 7.5 will run deviceQuery and report happily there a a CUDA device just beckoning to be used.
Removed CUDA 8.0
Removed CUDA 7.5
Removed GeForce Experience to keep it from mucking about in the background with what ever driver version shenanigans it may be performing.
Device Manager -> NVIDIA GeForce GTX 960M -> Uninstall device.
Device keeps cumming back across reboots as it appears, may be due to NVIDIA Graphics Driver 353.90 in "Add remove programs"
Reinstalled CUDA 7.5
VS 13 runs successfully deviceQuery and nbody with 7.5. Oddly deviceQuery reports driver version at 9.0 ??? Not sure how that's possible. My understanding/experience has been Driver version / Runtime match after install say like 7.5 / 7.5, but hey this has gone completely off the rails.

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


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? Posted @ https://devtalk.nvidia.com/default/board/58/ to see if anyone knows what is going on here.

CMake 3.2/3.9 still fail to run (again compiles fine)

What It appears I am experiencing is some CUDA 7.5 / 8.0 driver version conflicts where 7.5 does not seem to play nice with 8.0 drivers, but *might* be working with 9.0 driver... I say might as I am not sure what is going on there.

I have some bad news for NVIDIA their driver "API Backward/Not Forward Compatible" diagram may have been accurate from 1.0 to 2.0, but 7.5 8.0 is shaping up to need a whole new diagram of broken links and end around curvy arrows.

file:///C:/Program%20Files/NVIDIA%20GPU%20Computing%20Toolkit/CUDA/v7.5/doc/html/common/graphics/compatibility-of-cuda-versions.png

CMake is still a dysfunctional hot mess. It does not work in any scenario. That's not to say I can't get it to work as I have on a Dell M4700 with a Quadro and 7.5 with CMake 3.2 and VS12/13. Thought I would try upgrade to 3.9 on new laptop, but hey I can't seem to get any version to work on the new laptop and I can only get Samples in 7.5 to work if I seemingly uninstall all CUDA 8.0 related bits, most notable of which appears/seems to be the driver.

Next I am going to remove all NVIDA drivers and try reinstall of CUDA 7.5 see if I can get deviceQuery to report 7.5/7.5. Also looking into a mooc course on weaving to make something useful out of this pile of hair I have pulled out.

Thoughts on how to get CMake to work at all in any scenario.



--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to