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

问题描述 投票:0回答:1

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

所以这就是我所拥有的:

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

this webpage上,我发现我的GPU启用了CUDA(好消息),带有“Compute capability”3.0。这是什么意思?

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

  • 我应该下载和安装哪个版本的CUDA?我可以使用我的Visual Studio版本构建和运行程序吗?
visual-studio cuda visual-studio-2017
1个回答
1
投票

据我所知,目前没有任何版本的CUDA工具包支持Visual Studio 15.8。据推测,最新的CUDA 9.2支持Visual Studio 15.6。请注意,Visual Studio支持的问题实际上只涉及NVCC编译器和Visual Studio集成。没有什么可以防止你,例如,使用CUDA驱动程序API与你想要的任何编译器(包括最新版本的VS)。

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

确保在Visual Studio Installer中选择了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

© www.soinside.com 2019 - 2024. All rights reserved.