Win10+VS2013+CUDA9.1 Two major errors after installation

I have two issues after installation.

A) The project selection to create a File → New Project → displays no NVIDIA options.

B) Compiling the samples work but you cannot run the resulting file.

Below are some references to start finding the problem from the output in compilation, debug and command prompt when running the example code from source VS 2013 sln för “vectorAdd”.

Can anyone give me a hint or proper solution to these issues?


Build Output…

1>------ Build started: Project: vectorAdd, Configuration: Release x64 ------
1> Compiling CUDA source file vectorAdd.cu…
1>
1> C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.1\0_Simple\vectorAdd>“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin\nvcc.exe” -gencode=arch=compute_30,code="sm_30,compute_30" -gencode=arch=compute_35,code="sm_35,compute_35" -gencode=arch=compute_37,code="sm_37,compute_37" -gencode=arch=compute_50,code="sm_50,compute_50" -gencode=arch=compute_52,code="sm_52,compute_52" -gencode=arch=compute_60,code="sm_60,compute_60" -gencode=arch=compute_61,code="sm_61,compute_61" -gencode=arch=compute_70,code="sm_70,compute_70" --use-local-env --cl-version 2013 -ccbin “C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64” -x cu -I./ -I…/…/common/inc -I./ -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1/include" -I…/…/common/inc -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\include" --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -cudart static -Xcompiler “/wd 4819” -DWIN32 -DWIN32 -D_MBCS -D_MBCS -Xcompiler "/EHsc /W3 /nologo /O2 /FS /Zi /MT " -o x64/Release/vectorAdd.cu.obj “C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.1\0_Simple\vectorAdd\vectorAdd.cu”
1> vectorAdd.cu
1> Creating library …/…/bin/win64/Release/vectorAdd.lib and object …/…/bin/win64/Release/vectorAdd.exp
1> LINK : /LTCG specified but no code generation required; remove /LTCG from the link command line to improve linker performance
1> vectorAdd_vs2013.vcxproj → C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.1\0_Simple\vectorAdd../…/bin/win64/Release/vectorAdd.exe
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

Displayed in debug output window …

‘vectorAdd.exe’ (Win32): Loaded ‘C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.1\bin\win64\Debug\vectorAdd.exe’. Symbols loaded.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\ntdll.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\kernel32.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\KernelBase.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\apphelp.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\shell32.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\msvcrt.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\cfgmgr32.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\windows.storage.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\combase.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\rpcrt4.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\bcryptprimitives.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\advapi32.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\sechost.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\shlwapi.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\gdi32.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\user32.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\kernel.appcore.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\SHCore.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\powrprof.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\profapi.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\imm32.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\nvcuda.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\setupapi.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\version.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\nvfatbinaryLoader.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\ws2_32.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\dwmapi.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\uxtheme.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Unloaded ‘C:\Windows\System32\dwmapi.dll’
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\nvapi64.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\ole32.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\dxgi.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\devobj.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\wintrust.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\msasn1.dll’. Cannot find or open the PDB file.
‘vectorAdd.exe’ (Win32): Loaded ‘C:\Windows\System32\crypt32.dll’. Cannot find or open the PDB file.
The thread 0xb80 has exited with code 0 (0x0).
The thread 0x155c has exited with code 0 (0x0).
The thread 0x17bc has exited with code 0 (0x0).
The thread 0x13c4 has exited with code 1 (0x1).
The thread 0xbb8 has exited with code 1 (0x1).
The program ‘[3704] vectorAdd.exe’ has exited with code 1 (0x1).

Result in command prompt…

[Vector addition of 50000 elements]
Copy of input data from the host memory to the CUDA device
CUDA kernel launch with 196 blocks of 256 threads
Failed to launch vectorAdd kernel (error code no kernel image is available for execution on the device)!

what GPU are you trying to run on?

The GPU is a ZOTAC GeForce GTX 570 per the following specs…

1,280 MB DDR 5, 320-bit 152 GB/s (according to specs by NVIDIA)
480 SPs on 15 SMs with 4 GPCs

GTX 570 is a compute capability 2.0 GPU. It is not supported by CUDA 9.0 or 9.1. The last CUDA toolkit that supported it was CUDA 8.0. That is the reason for this error:

(error code no kernel image is available for execution on the device)!

So will CUDA 8.0 support WIN10 and VS2013 without an issue?
Is this also the reason to why CUDA 9.1 did not include itself in the VS2013 suite?
Can the CUDA 8.0 also run on VS2010?

Hint to the marketing team: Include a warning to future downloaders that 2.0 GPUs are not supported so we can save two days time in DL and installation issues.

Thanks for your help txbob.

I’m not sure why CUDA 9.1 did not install itself in the VS2013 suite. If you have VS 2013 Community Edition or VS 2013 express or something like that, then that is not supported.

To find out the supported environments (e.g. VS ) for a particular CUDA version, refer to the appropriate install guide. For CUDA 9.1 for windows it is here:

[url]Installation Guide Windows :: CUDA Toolkit Documentation

For older CUDA version, go to the CUDA legacy toolkit page (try googling that), go to the point where you would actually download the installer, and you will find a link on that page to the install guide.

Thanks txbob.

It is actually a VS 2013 Pro however it states when looking again that it is a 32 bit version.
According to support pages on the net VS2013 was only issued as a 32 bit application with ability to compile code for Win x64.

A change may be required so that one has to apply an update by SDK 7.1 or higher to enable fully qualified x64 compilation for CPP programs in VS 2013 but this is regardless of the GUI in VS2013.

I can today compile for x64 in CPP but this does not help the matter much so it should not affect the installer of the CUDA but I will try with CUDA 8.0 now.

I am unsure if such issues are at all addressed in NVIDIA documentation for CUDA of any version previously as this should already be known to your developers.

Summary on solution suggested by txbob above.

It now works fine.

The final solution to prevent this error from occurring for any other developer is to include a definition sensor in the installer of CUDA 9.x so that it also determines the capabilities of the target adapter already at install time.

That is, senses if the target host has a GPU < 3.0 then fail installation with appropriate message.

This solution of installing CUDA 8.0 on the target system also resolved the issues with inclusion of the VS2013 GUI tools and links to enable selection of File → New Project → NVIDIA → runtime.

Thanks again txbob.
/Mike