2018年7月9日更新:
CUDA已推出9.2版本,最高支持MSVC++ 14.13 _MSC_VER == 1913 (Visual Studio 2017 version 15.6)。
然而最新版本是MSVC++ 14.14 _MSC_VER == 1914 (Visual Studio 2017 version 15.7),可見CUDA總比VS要慢一拍。
環境:
CUDA Toolkit - v9.1.85
Visual Studio 2017 (VS2017 15.6.4) + 平台工具集 v141(version 14.12,_MSC_VER=1912)或
CUDA Toolkit - v9.2.88.1
MSVC++ 14.13 _MSC_VER == 1913 (Visual Studio 2017 version 15.6)
原因:
CUDA未能兼容最新版工具集。
打開C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\include\crt\host_config.h,定位到133行:
可以看到當前CUDA支持的工具集版本。
由於當前工具集版本為1912
,故無法兼容。修改_MSC_VER > 1911為更高的數字可以消除報錯,但是編譯仍然是無法通過的。
解決方案:
安裝兼容的工具集版本。在這里,我們可以選擇1900、1910、1911版本工具集。
打開Visual Studio Installer,選擇相應的工具集進行安裝。
然后修改項目工具集即可。