VS2017和GTX 870M的CUDA版本是什么?

时间:2018-09-11 08:27:58

标签: visual-studio cuda visual-studio-2017

我想使用CUDA开发程序,但是我在NVidia's site上的安装说明中迷了路。

这就是我所拥有的:

  • 带有NVidia GPU GeForce GTX 870M的Windows 10笔记本电脑 (OS和GPU驱动程序都是最新的)
  • Visual Studio 2017版本15.8(也是最新版本)_MS_VER = 1915

this webpage上,我发现我的GPU已启用CUDA,具有“计算能力” 3.0。 这是什么意思?

我知道CUDA版本对使用的Visual Studio版本敏感,因此 我的问题很简单:

  • 我应该下载并安装哪个版本的CUDA?可以使用我的Visual Studio版本构建和运行程序吗?

1 个答案:

答案 0 :(得分:1)

据我所知,当前没有CUDA Toolkit版本支持Visual Studio 15.8。据说最新的CUDA 9.2最多支持Visual Studio 15.6。请注意,Visual Studio支持问题实际上仅涉及NVCC编译器和Visual Studio集成。没有什么可以阻止您例如将CUDA Driver API与所需的任何编译器一起使用(包括最新版本的VS)。

解决这些问题的一种方法是,将CUDA代码放入一个单独的静态库中,使用VS 2015编译器进行构建,然后将其链接到可以使用VS 2017构建的主项目中。

确保已在Visual Studio安装程序中选择了VC++ 2015.3 v14.00 (v140) toolset for desktop程序包:

visual studio installer

然后您可以在“项目属性”>“常规”中切换工具集以用于每个项目。

enter image description here

不幸的是,最近我在将VS 2015生成的二进制文件链接到VS 2017 15.8编译器生成的二进制文件时遇到了一些问题,因此该路径可能不再起作用(似乎与新的“ Just My Code Debugging”有关。特征)。但是随后,跨编译器版本的二进制兼容性从来就不是真正要依赖的东西……

另一种解决方案是将downgrade your Visual Studio设为15.6。


设备的计算能力基本上可以告诉您要处理的是哪一代GPU架构以及可以依靠的功能。或用CUDA Programming Guide的话:

  

设备的计算能力由版本号表示,有时也称为其“ SM版本”。此版本号标识GPU硬件支持的功能,供应用程序在运行时用于确定当前GPU上可用的硬件功能和/或指令。

有关单个计算功能/体系结构的更多详细信息,例如here