I'm trying to install CUDA, but I get a message saying "No supported version of visual studio was found". I think that this is because I am using Visual Studio 2017 (Community), and CUDA currently only supports up to Visual Studio 2015. Unfortunately, Microsoft will not allow me to download old versions of Visual Studio without paying a subscription fee.
Is there a way I can get around the compatibility issue with VS 2017, or can I not use CUDA?
CUDA 8.0
with Visual Studio 2017
you need to install additional components for Visual Studio 2017.Individual components
tab and select VC++ 2015.3 v140 toolset
Compilers, build tools and runtimes
..NET Framework 3.5
if you didn't have it installed.Nvda.Build.CudaTasks.v8.0.dll
assembly dependents on MS .NET Framework 3.5.Open Classical Control Panel, go to Programs and features
and press Turn Windows features on or off
. Check .NET Framework 3.5 and press OK.
CUDA toolkit
distribution and extract it somewhere on your disk.CUDA toolkit
installed, do it now. If you have only Visual Studio 2017
installed, unselect Visual Studio integration
checkbox.
Now you want to receive the "No supported version of the visual studio was found"
error.
But in order to successfully build Cuda toolkit projects in Visual Studio 2017
, you also need to follow steps 5 and 6.
CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\BuildCustomizations:
Cuda
projects to recognize NVidia's build tasks from Visual Studio 2017
. Open your .vcxproj
file in a text editor and find all occurrences of CUDA 8.0.props
. Replace the macro at the beginning of the string with $(VCTargetsPath14)
so that XML snippet would look as follows:
<ImportGroup Label="ExtensionSettings"> <Import Project="$(VCTargetsPath14)\BuildCustomizations\CUDA 8.0.props" /></ImportGroup>
Don't forget to edit the custom targets path at the end of the file:
<ImportGroup Label="ExtensionTargets"> <Import Project="$(VCTargetsPath14)\BuildCustomizations\CUDA 8.0.targets" /></ImportGroup>
Make sure to double check your path conifuration!
If you use nvcc
from command prompt you might not be calling cl.exe
from Visual Studio
folder!
Now you can build your Cuda project from Visual Studio 2017.
Parts of this solution are from Oleg Tarasov blog.