将 CUDA 与 Visual Studio 2017 结合使用

2024-01-14

我正在尝试安装 CUDA,但收到一条消息“未找到支持的 Visual Studio 版本”。我认为这是因为我使用的是 Visual Studio 2017(社区),而 CUDA 目前仅支持 Visual Studio 2015。不幸的是,微软不允许我在不支付订阅费的情况下下载旧版本的 Visual Studio。

有没有办法解决 VS 2017 的兼容性问题,或者我可以不使用 CUDA 吗?


  1. 如果你想安装CUDA 8.0 with Visual Studio 2017您需要为 Visual Studio 2017 安装附加组件。

    单击“开始”菜单并键入 Visual Studio Installer。打开 Visual Studio 安装程序

    Open Individual components选项卡并选择VC++ 2015.3 v140 toolset
    under Compilers, build tools and runtimes.
  1. 您还需要安装.NET Framework 3.5如果你没有安装它。
    Nvda.Build.CudaTasks.v8.0.dll集会依赖于 MS .NET Framework 3.5 https://stackoverflow.com/a/39862254/266068.

打开经典控制面板,转到Programs and features
并按Turn Windows features on or off。选中 .NET Framework 3.5,然后按“确定”。

  1. 下载完整版CUDA toolkit分发并将其提取到磁盘上的某个位置。
  2. 如果你没有CUDA toolkit已安装,现在就做。如果你只有Visual Studio 2017已安装,取消选择Visual Studio integration复选框。


现在您想收到"No supported version of the visual studio was found" error.

但是为了成功构建Cuda工具包项目Visual Studio 2017,您还需要执行步骤 5 和 6。

  1. 前往CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions
    文件夹中的提取分发,复制所有文件并将它们粘贴到
    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\BuildCustomizations:
  1. 在最后一步中,您需要编辑您的Cuda用于识别 NVidia 的构建任务的项目Visual Studio 2017。打开你的.vcxproj在文本编辑器中查找文件并查找所有出现的CUDA 8.0.props。将字符串开头的宏替换为$(VCTargetsPath14)这样 XML 片段将如下所示:

<ImportGroup Label="ExtensionSettings"> <Import Project="$(VCTargetsPath14)\BuildCustomizations\CUDA 8.0.props" /></ImportGroup>

不要忘记编辑文件末尾的自定义目标路径:

<ImportGroup Label="ExtensionTargets"> <Import Project="$(VCTargetsPath14)\BuildCustomizations\CUDA 8.0.targets" /></ImportGroup>



Make sure to double check your path conifuration!
If you use nvcc from command prompt you might not be calling cl.exe from Visual Studio folder!

another cl.exe might be in path

现在您可以从 Visual Studio 2017 构建您的 Cuda 项目。

该解决方案的部分内容来自奥列格·塔拉索夫博客 https://www.olegtarasov.me/how-to-build-cuda-toolkit-projects-in-visual-studio-2017/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 CUDA 与 Visual Studio 2017 结合使用 的相关文章

随机推荐

  • 使用 Lumen 获取 file_get_contents

    我将此代码放入函数 php 类 中 theFile test test xml these are in the public folder dd file get contents theFile 如果我去mydomain local t
  • 基于两个表之间的子查询的Oracle SQL更新

    我目前正在编写更新语句 以使可查询的表不断保持最新 两个表之间的架构相同 内容并不重要 STAGING ID NAME COUNT PRODUCTION ID NAME COUNT 我的更新语句如下所示 update PRODUCTION
  • C# 小数类型除法的精度在 Mono 上不同?

    decimal d1 4 0m decimal d2 40 0m decimal d d1 d2 string repr d ToString 在 Windows 上 我得到的 repr 为 0 1 在 Mono Xamarin Andro
  • 为什么未初始化的属性在课堂上公开?

    请考虑以下代码 class foo function bar this gt baz hello there f new foo f gt bar echo f gt baz hello there 为什么上面的代码有效 我的意思是我还没有
  • Oracle CASE 语句?

    我有一个存储过程 我在其中传递布尔值 例如IS ELIGIBLE 现在我希望能够编写如下查询 SELECT col1 CASE WHEN IS ELIGIBLE THEN col2 100 ELSE col2 50 END INTO OUT
  • JavaFX 导航栏和内容窗格

    我想在我的新项目中使用 JavaFX 并且想要像下面的屏幕截图所示的东西 在左侧网站上我需要一个导航栏 在右侧网站上我需要一个内容 因此 我会在左侧使用 VBox 在右侧使用 AnchorPane 或者更好的是 ScrollPane 当我单
  • Terraform:heredoc 锚点中的无效字符

    我正在尝试在中使用多行字符串provisioner remote exec 我的 Terraform 脚本块 然而每当我使用EOT文档和各种示例中概述的语法我收到一个错误 抱怨有 invalid characters in heredoc
  • 包含 json 的数据属性中的单引号

    化妆品问题 我有一个 html 元素 其中包含一些嵌入图像的可能尺寸 这些尺寸存储为 div class inside div
  • Chrome 扩展程序不发送 SameSite=Lax cookie

    我在通过弹出脚本的 chrome 扩展处理 cookie 时遇到一些问题 popup js 内容 document addEventListener DOMContentLoaded gt function cookieinfo chrom
  • Tesseract OCR:解析表格单元格

    我正在使用 cmd 中的 Tesseract OCR v4 0 0 alpha 从如下所示的表格的 png 中提取文本 我希望 Tesseract OCR 能够解析一个单元格中的内容 然后再转到下一个单元格 我不想继续 行 中的下一个单词
  • 关于 Google Directions API 中的 escape=tollroads 的问题

    我有一些关于 Google Directions API 的问题 Google Directions API 中的 escape tollroads 是否完全避开部分收费公路 或者它是否足够聪明 知道有些路线可以在部分收费公路上行驶 但实际
  • Android Studio 运行应用程序太慢

    当我运行我的应用程序时 大约需要 10 分钟才能在我的手机上显示 而且每次更改代码也需要 10 分钟 我应该怎么办 我在用Android Studio 2 0 在 android studio 中转到 文件 gt 设置 gt 构建 执行 部
  • 如果攻击者知道盐,那么它们对安全性是否毫无用处?

    假设我有一个这样设置的用户表 CREATE TABLE users id INTEGER PRIMARY KEY name TEXT hashed password TEXT salt TEXT 创建用户时 会生成随机生成的盐并将其与类似结
  • 如何在response.redirect中将列表作为参数传递

    问题1 我有两个列表 我想在下一页中访问它们 我将重定向它们 目前的结果 当我传递结果时 它在 url 中显示列表数据类型 ex System Collections Generic List1 IDataEntities ISearchR
  • Bash 命令查看 dir 中是否有文件 - 测试目录是否为空[重复]

    这个问题在这里已经有答案了 我有以下 bash 脚本 if ls Users david Desktop empty gt dev null then echo yes files else echo no files fi 如果目录中有一
  • 检测整数内的单个一位流

    我必须检查一个号码是否满足以下条件 在二进制中 所有一位必须是连续的 该数字必须至少设置一位 连续的一位可能从 MSB 开始或在 LSB 结束 因此如果该数字由单个一位流后跟零位流组成 则完全有效 反之亦然 我编写了一个代码来检查现实问题的
  • 身份视图在哪里?

    当我在 NET Core 2 1中创建新项目时 我找不到 Identity Account Manage后面的视图 它在哪里 现在如何更改页面样式 这些视图现在是预编译库的一部分 Microsoft AspNetCore Identity
  • PHP SoapClient 类型映射的行为不同

    我有一个 Web 服务函数 它将一组项目返回给 PHP 客户端 根据项目的数量 PHP 返回类型有所不同 如果函数返回一项 则 PHP 类型为stdClass如果函数返回多个项目 则 PHP 类型为array 无论哪种情况都应该是array
  • 更改 ng-repeat 内的角度 ui-view

    我在单个控制器中使用多个命名的 ui 视图 当使用以下代码在 html 文件中命名 ui view 时 一切都按预期工作 div class box div div div div div div div div div div div 但
  • 将 CUDA 与 Visual Studio 2017 结合使用

    我正在尝试安装 CUDA 但收到一条消息 未找到支持的 Visual Studio 版本 我认为这是因为我使用的是 Visual Studio 2017 社区 而 CUDA 目前仅支持 Visual Studio 2015 不幸的是 微软不