如何在 Visual Studio 解决方案中升级 CUDA 版本?

Ser*_*tch 2 cuda upgrade build visual-studio

早些时候我安装CUDA 9.2在我的机器上并用它构建了一个解决方案。然后我升级Visual Studio 2017到了 不支持的修订版CUDA 9.2,所以我收到如下错误:

1>D:\Dev\Views\Engines\ProbQA\ProbQA\PqaCore>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin\nvcc.exe" -gencode=arch=compute_61,code=\"sm_61,compute_61\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64" -x cu -rdc=true -ID:\Dev\Views\Engines\ProbQA\ProbQA\PqaCore\ -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include" --source-in-ptx -G -lineinfo  --keep-dir x64\Debug -maxrregcount=32  --machine 64 --compile -cudart static  -g   -D_DEBUG -D_WINDOWS -D_USRDLL -DPQACORE_EXPORTS -D_WINDLL -D_UNICODE -DUNICODE -Xcompiler "/EHsc /W4 /nologo /Od /FS /Zi /RTC1 /MDd /GR" -o x64\Debug\CudaEngineGpu.cu.obj "D:\Dev\Views\Engines\ProbQA\ProbQA\PqaCore\CudaEngineGpu.cu"
1>c:\program files\nvidia gpu computing toolkit\cuda\v9.2\include\crt/host_config.h(133): fatal error C1189: #error:  -- unsupported Microsoft Visual Studio version! Only the versions 2012, 2013, 2015 and 2017 are supported!
1>CUDACOMPILE : nvcc warning : '--device-debug (-G)' overrides '--generate-line-info (-lineinfo)'
1>CudaEngineGpu.cu
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations\CUDA 9.2.targets(707,9): error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin\nvcc.exe" -gencode=arch=compute_61,code=\"sm_61,compute_61\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64" -x cu -rdc=true -ID:\Dev\Views\Engines\ProbQA\ProbQA\PqaCore\ -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include" --source-in-ptx -G -lineinfo  --keep-dir x64\Debug -maxrregcount=32  --machine 64 --compile -cudart static  -g   -D_DEBUG -D_WINDOWS -D_USRDLL -DPQACORE_EXPORTS -D_WINDLL -D_UNICODE -DUNICODE -Xcompiler "/EHsc /W4 /nologo /Od /FS /Zi /RTC1 /MDd /GR" -o x64\Debug\CudaEngineGpu.cu.obj "D:\Dev\Views\Engines\ProbQA\ProbQA\PqaCore\CudaEngineGpu.cu"" exited with code 2.
Run Code Online (Sandbox Code Playgroud)

我已经安装了CUDA 10.0声称与任何更高版本兼容的VS2017 Update 8版本。但是,我的解决方案仍然使用CUDA 9.2.

如何将解决方案升级到CUDA 10.0?我可以从 GUI 的某个地方执行此操作,还是必须编辑项目文件和其他内容?

Jac*_*ern 5

您可以通过两种方式升级 Visual Studio 解决方案中的 CUDA 版本:

  1. Build dependencies-> Build customizations;
  2. 打开vcxproj与 Visual Studio 解决方案关联的文件并更改9.2为发生的10.0位置9.2