【问题标题】:What CUDA version for VS2017 and GTX 870M?VS2017 和 GTX 870M 的 CUDA 版本是什么?
【发布时间】:2019-02-15 17:07:25
【问题描述】:
我想使用 CUDA 开发一个程序,但我在 NVidia's site 上的安装说明迷路了。
这就是我所拥有的:
- 配备 NVidia GPU GeForce GTX 870M 的 Windows 10 笔记本电脑
(操作系统和 GPU 驱动程序都是最新的)
- Visual Studio 2017,版本 15.8(也是最新的)_MS_VER=1915
在this webpage 上,我发现我的 GPU 启用了 CUDA(好消息),并带有“计算能力”3.0。 这是什么意思?
我知道 CUDA 版本对使用的 Visual Studio 版本很敏感,所以
我的问题很简单:
- 我应该下载和安装哪个版本的 CUDA?我可以使用我的 Visual Studio 版本构建和运行程序吗?
【问题讨论】:
标签:
visual-studio
cuda
visual-studio-2017
【解决方案1】:
据我所知,目前没有任何版本的 CUDA Toolkit 支持 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 安装程序中选择了 VC++ 2015.3 v14.00 (v140) toolset for desktop 包:
然后您可以在“项目属性”>“常规”中切换要用于每个项目的工具集:
不幸的是,我最近在将使用 VS 2015 构建的二进制文件链接到使用 VS 2017 15.8 编译器构建的二进制文件时遇到了一些问题,因此该路径可能不再有效(似乎与新的“仅我的代码调试”有关)特征)。但是,跨编译器版本的二进制兼容性从一开始就不是真正值得依赖的东西……
另一种解决方案是将downgrade your Visual Studio 改为 15.6。
设备的计算能力基本上告诉您您正在处理哪一代 GPU 架构以及您可以依赖哪些功能。或者用CUDA Programming Guide的话来说:
设备的计算能力由版本号表示,有时也称为“SM 版本”。此版本号标识 GPU 硬件支持的功能,并由应用程序在运行时用于确定当前 GPU 上可用的硬件功能和/或指令。
可以找到有关单个计算能力/架构的更多详细信息,例如,here。