C++ Compiler from Visual Studio 2017 and NVidia's CUDA?

I am attempting to set up PyTorch to work my laptop's on board GTX 1050 GPU. Following this I have attempt to set up CUDA, I have been following the guide set up by Nvidia here. As far as I can tell I haven't had any issues with this. I can run nvcc -V and get below as I would expect:

enter image description here

When I attempt to run the sample solutions they provide to ensure the installation was successful - ie nvcc displayQueue or nvcc bandwidth I only received the following error:

enter image description here

In following with this, I attempted to download the community version of Visual Studio 2017 to obtain a C++ compiler and "cl.exe". Upon doing this though it appears that the installation did not set a path to a compiler "cl.exe" in the environment variables.

Attempting to find a "cl.exe" in my files appears to be another issue as I have multiple "cl.exe"'s under the following paths:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x86
\...\bin\Hostx86\x64
\...\bin\Hostx64\x64
\...\bin\Hostx64\x86

Setting any one of these paths to PATH in my environment variables then running "nvcc displayQueue" or "nvcc bandwidth" again then only gives the error:

enter image description here

Something has changed, but the system does not appear to work.
Any help is greatly appreciated.


Setting only cl.exe path will not take effect as it need other tools also. The official way is to use developer command prompt that comes with Visual Studio only.

According to this:

Try searching for the name of the command prompt file, such as VsDevCmd.bat, or go to the Tools folder such as C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools (path changes according to your Visual Studio version, edition, and installation location).

Open a Command Prompt (CMD) window, run this command:

call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 

This will set all the required paths for you. The x64 parameter is for 64 bit Intel CPU only. Change that parameter to x86 for 32 bit Intel CPU. Or arm and arm64. The path may change according to your Visual Studio version. Do not close that CMD window. You can also check the path (if it is set correctly) with where cl.exe command. Now run the required commands to compile.

Note: If you need only C++ compiler try the VS build Tools and Windows SDK only.