CUDA compile problems on Windows, Cmake error: No CUDA toolset found
Solution 1
I have tried it on a different PC now and it works fine. So I had absolutely no idea why it's not working on this one. As CUDA_PATH is correctly setup in my system variables.
Then looking into it further, by uninstalling the 'Build Tools' of Visual Studio and only having the Community IDE installed, CMake used the IDE instead of the Build Tools and then it started working fine.
Solution 2
Look at this. It may solve your issues. https://gitlab.kitware.com/cmake/cmake/issues/19029
Seems like Nvidia cuda installer has some issues with installing the VS integration with vs 2017. Check if you can find this file in your vs installing path.
C:/Program Files (x86)/Microsoft Visual
Studio/2017/Professional/Common7/IDE/VC/VCTargets/BuildCustomizations/CUDA
10.1.xml
Solution 3
For Windows 10, VS2019 Community, and CUDA 11.3, the following worked for me:
- Extract the full installation package with 7-zip or WinZip
- Copy the four files from this extracted directory
.\visual_studio_integration\CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions
into the MSBuild folder of your VS2019 installC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations
The four files are:
- CUDA 11.3.props
- CUDA 11.3.targets
- CUDA 11.3.xml
- Nvda.Build.CudaTasks.v11.3.dll
I had tried installing (and reinstalling) CUDA with Visual Studio Integration, but CMake wasn't able to find the CUDA installation (even with CUDA_PATH and CMAKE_CUDA_COMPILER defined).
Solution 4
I was trying to build darknet from source and came across this issue.
What resolved it for me was the following:
- making sure no other Visual Studio or Visual Studio Build Tool was installed except for VS2019. (I configured this using the uninstall feature of the ~1 mb vs_community.exe installer program)
- REINSTALLING CUDA 10.1, using the 2.5 gb installer, and in that process, making sure 'VS Integration' is installed (for me... this was a 'reinstall' since I had already installed it, but with a bunch of VS2019,VS2017 + Build Tools all installed at once!!) during the installation.
At that point, my cudnn files were still in the bin/lib/include folder of the 10.1 installation, and I hit "Configure" in CMake again.
Success! No errors. (CMake 3.18, VS2019, CUDA 10.1.243, cudnn 7.6.5)
Solution 5
I just have the same issue of No CUDA toolset found with different versions, and my system:
-Windows 11 -Cmake 3.20.0 -Visual Studio 2019 -CUDA Toolkit 11.6
Some netizens said that it happened if you installed Visual Studio before you install CUDA. So, I tried and reinstall CUDA, finally it work now. You also can try it. Good luck.

Mineral
Updated on June 13, 2022Comments
-
Mineral 12 months
so I've been successfully working on my CUDA program on my Linux but I would like to support Windows platform as well. However, I've been struggling with correctly compiling it. I use :
- Windows 10
- Cmake 3.15
- Visual Studio 2017
- CUDA Toolkit 10.1
When using the old deprecated Cmake CUDA support of using
find_package(CUDA 10.1 REQUIRED)
it correctly reports the correct path to the toolkit when using it. However, it is my understanding that the latest Cmake does not properly support the old method anymore and thatcuda_add_library
etc don't properly link anymore. So I have reformatted my 'CMakeLists.txt' file to the following based on this:cmake_minimum_required(VERSION 3.8 FATAL_ERROR) project(myproject LANGUAGES CXX CUDA) add_library(mylib SHARED mycudalib.cu) # My code requires C++ 11 for the CUDA library, not sure which ones of these # will do the trick correctly. Never got the compiler this far. target_compile_features(mylib PUBLIC cxx_std_11) SET(CMAKE_CXX_STANDARD 11) SET(CMAKE_CUDA_STANDARD 11) set_target_properties( mylib PROPERTIES CUDA_SEPARABLE_COMPILATION ON) add_executable(test_mylib test.cpp) target_link_libraries(test_mylib mylib ${CUDA_CUFFT_LIBRARIES})
However, I get the following error from line 2:
CMake Error at C:/Program Files/CMake/share/cmake-3.15/Modules/CMakeDetermineCompilerId.cmake:345 (message): No CUDA toolset found. Call Stack (most recent call first): C:/Program Files/CMake/share/cmake-3.15/Modules/CMakeDetermineCompilerId.cmake:32 (CMAKE_DETERMINE_COMPILER_ID_BUILD) C:/Program Files/CMake/share/cmake-3.15/Modules/CMakeDetermineCUDACompiler.cmake:72 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:2 (project)
I've tried a variation of suggestions online such as adding the following to 'CMakeLists.txt':
set(CMAKE_CUDA_COMPILER "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1/bin/nvcc")
or adding the following variable to Cmake:
This is the 'CMakeLists.txt' file I use on Linux to compile succesfully. The difference is there I use Cmake 3.5 and CUDA Toolkit 9.0:
cmake_minimum_required(VERSION 3.5) project( myproject) find_package(CUDA 9.0 REQUIRED) if(CUDA_FOUND) list(APPEND CUDA_NVCC_FLAGS "-std=c++11") endif(CUDA_FOUND) cuda_add_library(mylib SHARED mycudalib.cu) cuda_add_executable(test_mylib test.cpp) target_link_libraries(test_mylib mylib ${CUDA_CUFFT_LIBRARIES})
-
user2023370 over 3 yearsThis file is missing on my system (well, I am using 2019, so it's missing from
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\VC\VCTargets
). Is there an installer option which will installs that file? -
Neng Qian over 3 yearsI have no idea. Finally, I decided to use instead just use VS 2015. And it works quite well so far.
-
A. Hendry almost 2 yearsNote that you actually install the CUDA toolkit from an executable (not extract from 7-zip). Then, in the CUDA subfolder you listed (e.g.
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\visual_studio_integration\MSBuildExtensions
for CUDA 10.2, you'll find the 4 files you listed. Those you copy to the MS Visual Studio folder you listed. -
Matthew Dixon over 1 yearI just ran into the same issue with the Build Tools. If you want to keep the Build Tools installed, you just need to copy everything from: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\extras\visual_studio_integration\MSBuildExtensions To: C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\BuildCustomizations Change your CUDA and VS versions in those paths as necessary. For some reason the CUDA toolkit installer doesn't consider the Build Tools installs when choosing where to add the integrations.
-
ma7555 about 1 yearwow this worked like a charm. you just saved my sanity