VS+CUDA 新建项目里没有CUDA选项(附详细图文步骤)

2023-10-28


版权声明:本文为CSDN博主「Xav Zewen」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39591031/article/details/124462430

目录
前言
问题说明
方法一:重装CUDA
方法二:手动配置
思路说明
操作步骤
参考链接

前言
参考了两篇文章以及其中的评论(链接见结尾),终于解决。这里分享一下,希望帮到后来的人。

本篇文章在下面的条件下执行(若有任何应用使用的版本不同,请在实际操作中对路径中的版本号等做相应的更改后尝试):

先下载CUDA,后下载的Visual Studio
CUDA版本11.3
VS用的是Visual Studio 2019,安装时只勾选了C++桌面开发,且使用的默认配置

在这里插入图片描述
问题说明
CUDA为Visual Studio提供了搭建cuda项目模板的插件,在安装CUDA时,该插件会被自动下载并配置。然而,如果是先安装CUDA后安装Visual Studio,插件不会被自动配置到VS中,而需在下载了VS后手动配置,或者干脆重装CUDA。

 


方法一:重装CUDA
重装CUDA很简单,首先删除NVIDIA应用中以版本号结尾的程序(比如我的是11.3)。然后重新安装一遍即可。这里建议使用geek应用来卸载,可以在卸载的同时擦除痕迹。

在这里插入图片描述

 

方法二:手动配置
思路说明
配置的大致思路是:

找到CUDA提供的VS模板插件

在这里插入图片描述

 

对这个存有模板的文件夹创建符号链接,链接至Visual Studio存放插件的文件夹下

在这里插入图片描述

 

更新VS的配置并重启VS
操作步骤
进入C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions目录,创建NVIDIA文件夹;然后进入NVIDIA文件夹,创建CUDA 11.3 Wizards文件夹

在这里插入图片描述

 

Ctrl + S打开搜索框,输入cmd,选择以管理员身份运行

在这里插入图片描述

 

在打开的命令行中,输入
mklink /d "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\NVIDIA\CUDA 11.3 Wizards\11.3" "C:\ProgramData\NVIDIA GPU Computing Toolkit\v11.3\extras\visual_studio_integration\CudaProjectVsWizards\15"
1
这个命令的作用是,对C:\ProgramData\NVIDIA GPU Computing Toolkit\v11.3\extras\visual_studio_integration\CudaProjectVsWizards下的15文件夹创建一个符号链接(类似创建快捷方式),创建的符号链接位于第一步中新建的CUDA 11.3 Wizards文件夹,该符号链接名为11.3。

在这里插入图片描述

 

Ctrl + S打开搜索框,输入command,找到Developer Command Prompt for VS 2019,右键,选择以管理员方式运行

在这里插入图片描述

 

找到VS2019的安装位置中,2019文件夹的位置(比如我的是在C:\Program Files (x86)\Microsoft Visual Studio\2019),在命令行中输入cd <2019文件夹的路径>(如:cd C:\Program Files (x86)\Microsoft Visual Studio\2019)
然后运行devenv /updateconfiguration,等待运行完毕

在这里插入图片描述

 

重启Visual Studio,再次创建新项目的时候应该就能看见CUDA模板了

在这里插入图片描述
参考链接
VS2017+CUDA9.2 新建项目里没有CUDA选项 - CSDN
Visual Studio 2022 中的 CUDA 11.6 缺少項目模板 - NVIDIA论坛
windows 软链接的建立及删除 - ChinaUnix
Win10中CUDA、cuDNN的安装与卸载 - CSDN

 

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

VS+CUDA 新建项目里没有CUDA选项(附详细图文步骤) 的相关文章

  • 如何在 CUDA 中执行多个矩阵乘法?

    我有一个方阵数组int M 10 以便M i 定位第一个元素i th 矩阵 我想将所有矩阵相乘M i 通过另一个矩阵N 这样我就收到了方阵数组int P 10 作为输出 我看到有不同的可能性 分配不同元素的计算M i 到不同的线程 例如 我
  • 无法在 CUDA 中执行设备内核

    我正在尝试在全局内核中调用设备内核 我的全局内核是矩阵乘法 我的设备内核正在查找乘积矩阵每列中的最大值和索引 以下是代码 device void MaxFunction float Pd float max int x threadIdx
  • cuda中有模板化的数学函数吗? [复制]

    这个问题在这里已经有答案了 我一直在寻找 cuda 中的模板化数学函数 但似乎找不到 在普通的 C 中 如果我调用std sqrt它是模板化的 并且将根据参数是浮点数还是双精度数执行不同的版本 我想要这样的 CUDA 设备代码 我的内核将真
  • 如何在cmake中添加cuda源代码的定义

    我使用的是 Visual Studio 2013 Windows 10 CMake 3 5 1 一切都可以使用标准 C 正确编译 例如 CMakeLists txt project Test add definitions D WINDOW
  • cudaSetDevice() 对 CUDA 设备的上下文堆栈有何作用?

    假设我有一个与设备关联的活动 CUDA 上下文i 我现在打电话cudaSetDevice i 会发生什么 Nothing 主上下文取代了堆栈顶部 主上下文被压入堆栈 事实上 这似乎是不一致的 我编写了这个程序 在具有单个设备的机器上运行 i
  • 有没有一种有效的方法来优化我的序列化代码?

    这个问题缺乏细节 因此 我决定创建另一个问题而不是编辑这个问题 新问题在这里 我可以并行化我的代码吗 还是不值得 https stackoverflow com questions 17937438 can i parallelize my
  • 如何使用 CUDA/Thrust 对两个数组/向量根据其中一个数组中的值进行排序

    这是一个关于编程的概念问题 总而言之 我有两个数组 向量 我需要对一个数组 向量进行排序 并将更改传播到另一个数组 向量中 这样 如果我对 arrayOne 进行排序 则对于排序中的每个交换 arrayTwo 也会发生同样的情况 现在 我知
  • 如何为 CUDA 内核选择网格和块尺寸?

    这是一个关于如何确定CUDA网格 块和线程大小的问题 这是对已发布问题的附加问题here https stackoverflow com a 5643838 1292251 通过此链接 talonmies 的答案包含一个代码片段 见下文 我
  • 将 nvidia 运行时添加到 docker 运行时

    我正在运行虚拟机GCP配备特斯拉 GPU 并尝试部署一个PyTorch基于应用程序使用 GPU 加速 我想让 docker 使用这个 GPU 可以从容器访问它 我设法在主机上安装了所有驱动程序 并且该应用程序在那里运行良好 但是当我尝试在
  • CUDA Thrust 的多 GPU 使用

    我想使用我的两张显卡通过 CUDA Thrust 进行计算 我有两张显卡 在单卡上运行对于两张卡都适用 即使我在 std vector 中存储两个 device vector 也是如此 如果我同时使用两张卡 循环中的第一个周期将起作用并且不
  • 如何在CUDA应用程序中正确应用线程同步?

    一般来说 我在应用程序中偶尔会使用线程同步 因为我并不经常需要此功能 我并不是真正的高级 C C 程序员 但我也不是初学者 我开始学习 CUDA C 对当今 GPU 与 CPU 的能力相比感到兴奋 我意识到 CUDA 编程主要是关于并行线程
  • 摆脱异步 cuda 流执行期间的忙等待

    我正在寻找一种方法 如何摆脱以下代码中主机线程中的忙等待 不要复制该代码 它仅显示我的问题的想法 它有许多基本错误 cudaStream t steams S N for int i 0 i lt S N i cudaStreamCreat
  • 将内核链接到 PTX 函数

    我可以使用 PTX 文件中包含的 PTX 函数作为外部设备函数 将其链接到另一个应调用该函数的 cu 文件吗 这是另一个问题CUDA 将内核链接在一起 https stackoverflow com questions 20636800 c
  • 在 Cuda 中简单添加两个 int,结果始终相同

    我开始了学习Cuda的旅程 我正在玩一些 hello world 类型的 cuda 代码 但它不起作用 我不知道为什么 代码非常简单 取两个整数并将它们添加到 GPU 上并返回结果 但无论我将数字更改为什么 我都会得到相同的结果 如果数学那
  • 如何在没有 nvcc 的情况下在编译时获取 CUDA 工具包版本?

    我在 cpp 文件中对 cuSPARSE 库进行了一些调用 这些调用在旧工具包中不可用 为了支持使用旧工具包的系统 我想使用编译器指令编译不同的代码部分 特别是 我想使用旧工具包的 CSR 格式矩阵和新工具包的 BSR 格式矩阵来求解稀疏三
  • 对 CUDA 操作进行计时

    我需要计算 CUDA 内核执行的时间 最佳实践指南说我们可以使用事件或标准计时函数 例如clock 在Windows中 我的问题是使用这两个函数给出了完全不同的结果 事实上 与实践中的实际速度相比 事件给出的结果似乎是巨大的 我实际上需要这
  • cudaMalloc使用向量>进行管理 > C++ - NVIDIA CUDA

    我正在通过 NVIDIA GeForce GT 650M GPU 为我创建的模拟实现多线程 为了确保一切正常工作 我创建了一些辅助代码来测试一切是否正常 在某一时刻 我需要更新变量向量 它们都可以单独更新 这是它的要点 device int
  • 为什么使用 boost::none 无法通过 nvcc 编译?

    我正在尝试编译以下代码 include
  • 如何降级cuda版本

    我目前使用的是 cuda 版本 4 2 但我需要将其更改为 3 1 是否可以卸载当前版本 4 2 版 然后安装以前的版本 3 1 版 编辑 请参阅我的操作系统是linux ubuntu 10 04 64位 编辑 我找到了如何获取 3 1 版
  • goto 指令对 CUDA 代码中扭曲内发散的影响

    对于CUDA中简单的warp内线程发散 我所知道的是SM选择一个重新收敛点 PC地址 并在两个 多个路径中执行指令 同时禁用未采用该路径的线程的执行效果 例如 在下面的代码中 if threadIdx x lt 16 A do someth

随机推荐

  • ibm hacmp双机服务器系统的解决方案,IBM HACMP双机服务器系统的解决方案

    IT168 专稿 Hacmp High Availability Cluster Multi Processing 双机热备份软件的主要功能是提高客户计算机系统及其应用的可靠性 而不是单台主机的可靠性 一 Hacmp双机系统的工作原理 HA
  • oracle的long类型字段的应用

    1 LONG 数据类型中存储的是可变长字符串 最大长度限制是2GB 2 对于超出一定长度的文本 基本只能用LONG类型来存储 数据字典中很多对象的定义就是用LONG来存储的 3 LONG类型主要用于不需要作字符串搜索的长串数据 如果要进行字
  • eclipse安装lombok 不能启动

    lombok安装与配置 前言 一 lombok 是什么 二 eclipse 安装 lombok 2 1 官网下载 lombok 2 2 打开项目 三 eclise 安装 lombok 后不能启动 前言 最近接手 其他项目代码 导入 ecli
  • 如何在LINUX下利用QT调用第三方软件WPS

    如何在LINUX下利用QT调用第三方软件WPS 前言 在开发过程中 客户需要一个在线查看功能 能够打开WORD PDF的文件 并且显示在屏幕上 需要调用第三方软件WPS来实现这个功能 技术点 1 如何调用WPS等第三方软件 首先 WPS等第
  • js 解决计算 失去精确度问题

    https www npmjs com package big js v 3 1 3
  • padding(卷积中的填充)

    文章目录 情景 步长s为1 另外一种情景 步长不为1 卷积存在问题 填充 Valid卷积 Same卷积 一般用在s 1情况 s 1情况 s 1 情况 情景 步长s为1 一个6x6的图像 3x3的卷积核 每一行卷积的过程类似 如图 卷积核每走
  • leetcode 算法题 371:不用加减号计算两个数的加减法

    题目 leetcode源地址 不使用运算符 和 计算两整数 a b 之和 示例 1 输入 a 1 b 2 输出 3 示例 2 输入 a 2 b 3 输出 1 解决方案 正数与边界数 按位与 操作后 仍得到这个数本身 负数与边界数 按位与 操
  • 企业进行媒体宣传的重要性

    传媒如春雨 润物细无声 大家好 我是51媒体网胡老师 媒体邀约 简而言之 是企业或组织主动邀请媒体参与某个事件或活动 如新闻发布会 新产品发布 开业庆典等 目的是希望媒体报道并传播这些消息 对于企业宣传而言 媒体邀约有着重要的作用 以下列出
  • 通过STM32Cubemx实现按键控制继电器通断,从而控制电磁铁通断

    1 准备 一路的继电器模块 电磁铁 开关电源 F103 接线方式如下 其实不推荐这款 接线不太方便 2 STM32CUBE上开好引脚 这个按键就用103上自带的就行 然后就直接生成了配置好的KEIL文件了 3 简单的if函数编程 定义按键
  • ArcGIS里shp文件连接Excel的字段,出现无法显示Excel里全部字段的问题

    1 在arcgis连接Excel属性表时 连接表的字段不全 经查发现Excel所要关联的字段下有数值和文本两种内容 导致arcgis预读关联表字段时排除了 解决方法 在Excel修改该关联字段的内容数据格式一致 转载于 https www
  • Qt、Qt Creator下载、安装

    一 Qt Qtcreator简介 Qt是一个跨平台应用开发框架 Qt Creator是一个跨平台的集成开发环境 IDE 集成了Qt所提供的功能 可以单独下载使用 也可以结合Qt组合使用 二 下载 下载地址 https download qt
  • 【微信支付开发流程】

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 场景介绍 支付步骤 总结 场景介绍 适用于商户在移动端APP中集成微信支付功能 商户APP调用微信提供的SDK调用微信支付模块 商户APP会跳转到微信中完成支付 支
  • Vue2项目练手——通用后台管理项目第七节

    Vue2项目练手 通用后台管理项目 用户管理 分页 使用的组件 Users vue mock js 关键字搜索区 Users vue 权限管理 登录页面 样式修改 Login vue 登录权限 使用token对用户鉴 使用cookie对当前
  • 在win10环境中安装xilinx vivado IDE时出现的问题及解决方法

    1 问题 There is no valid Xilinx installation that this Update can be applied to 解决方法一 下载的是更新包 如果设备没有预装vivado的情况下就会出现这种问题 可
  • 前后端分离架构图

    本图 介绍的是目前大部分公司的前后端分离架构设计框架 是较为简单的框架图 底层实现原理需要了解其中包含的技术要点 重点包括了 Vue和Java springboot框架 以及mysql数据库 适合新手学习 借鉴
  • matlab怎么把三维离散点投影到二维平面_基于CT扫描的沥青混合料试件三维离散元重构...

    文章来源 微信公众号 沥青路面 沥青混合料是由沥青胶结料 集料以及空隙等构成的非均质多层次复合材料 如何精确地还原沥青混合料复杂的材料组成结构并生成虚拟数字试件是进行沥青混合料力学性能模拟分析的基础与前提 随着计算机技术的发展 有学者开始运
  • 【环境搭建】使用IDEA创建SpringBoot项目详细步骤

    目录标题 一 创建springboot项目 1 创建spring initializr工程 2 勾选需要的的依赖 3 项目结构如下 1 pom 2 目录结构 3 测试类 4 如何在springboot项目中添加测试 二 SpringBoot
  • 用Python制作一个自动抢票脚本

    前言 大麦网 是中国综合类现场娱乐票务营销平台 业务覆盖演唱会 话剧 音乐剧 体育赛事等领域 但是因为票数有限 还有黄牛们不能丢了饭碗 所以导致了 很多人都抢不到票 那么 今天带大家用Python来制作一个自动抢票的脚本小程序 知识点 面向
  • android调用本地js文件上传,原生JS实现前端本地文件上传

    本文实例为大家分享了JS实现前端本地文件上传的具体代码 供大家参考 具体内容如下 通过input type file来选择本地文件 var fileInput document querySelector file input fileIn
  • VS+CUDA 新建项目里没有CUDA选项(附详细图文步骤)

    版权声明 本文为CSDN博主 Xav Zewen 的原创文章 遵循CC 4 0 BY SA版权协议 转载请附上原文出处链接及本声明 原文链接 https blog csdn net weixin 39591031 article detai