配置VScode开发环境-CUDA编程
如果觉得本篇文章对您的学习起到帮助作用,请 点赞 + 关注 + 评论 ,留下您的足迹💪💪💪
本文主要介绍VScode下的CUDA编程配置,因此记录以备日后查看,同时,如果能够帮助到更多人,也不胜荣幸。
文章目录
- 一、创建compile_commands.json
- 1、cmake中使用
- 2、make中使用
- 二、安装必要的插件
- 1.远程连接ssh
- 2.C/C++
- 3.C/C++ Extension Pack
- 4.Nsight Visual Studio Code Edition
- 5. vscode-cudacpp
- 三、配置c_cpp_properties.json
- 四、配置setting.json
- 五、配置tasks.json
- 六、配置launch.json
一、创建compile_commands.json
compile_commands.json 文件能够有效提高一些工具(比如vscode)的代码跳转、补全等功能。
1、cmake中使用
cmake工程生成 compile_commands.json 文件比较简单:
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1
2、make中使用
安装bear:
sudo apt-get install bear
执行:
bear -- make -j8
会生成compile_commands.json文件
二、安装必要的插件
1.远程连接ssh

2.C/C++

3.C/C++ Extension Pack

4.Nsight Visual Studio Code Edition

5. vscode-cudacpp

三、配置c_cpp_properties.json
Ctrl+Shift+P搜索C/C++:Edit Configurations(JSON),点击进入:

随后生成.vscode文件:

c_cpp_properties.json配置为如下所示:
{"configurations": [{"name": "Linux","includePath": ["${workspaceFolder}/**"],"defines": [],"compilerPath": "/usr/bin/gcc","cStandard": "c17","cppStandard": "gnu++17","intelliSenseMode": "linux-gcc-x64","configurationProvider": "ms-vscode.makefile-tools","compileCommands": "${workspaceFolder}/compile_commands.json"}],"version": 4
}
“compileCommands”: "${workspaceFolder}/compile_commands.json"为新添加的内容。
配置路径也可以在includePath中进行配置:
{"configurations": [{"name": "Linux","includePath": ["${workspaceFolder}/**","/usr/local/cuda/include/**"],"defines": [],"compilerPath": "/usr/bin/gcc","cStandard": "c17","cppStandard": "gnu++17","intelliSenseMode": "linux-gcc-x64","configurationProvider": "ms-vscode.makefile-tools"}],"version": 4
}
四、配置setting.json
在.vscode文件夹中创建setting.json文件,添加内容:
{"files.associations": {"*.cu":"cuda-cpp"}
}
参考查询网址vscode language identifier
五、配置tasks.json
1.Ctrl+Shift+P搜索Tasks:Configures Task,点击进入:

2.选择 使用模板创建tasks.json文件(可能是英文形式)

3.选择Others

最终tasks.json文件内容:
{"version": "2.0.0","tasks": [{"label": "make","type": "shell","command": "make -j16"}]
}
六、配置launch.json
1.Ctrl+Shift+P搜索Debug:Add Configuration,点击进入:
2.选择 CUDA C++(CUDA-GDB)

生成launch.json文件。
增加"program": “${workspaceFolder}/cudaAPP”,cudaAPP是编译出的可执行文件。
{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "CUDA C++: Launch","type": "cuda-gdb","request": "launch","program": "${workspaceFolder}/cudaAPP"},{"name": "CUDA C++: Attach","type": "cuda-gdb","request": "attach"}]
}
如果您觉得这篇文章对你有帮助,记得 点赞 + 关注 + 评论 三连,您只需动一动手指,将会鼓励我创作出更好的文章,快留下你的足迹吧💪💪💪
相关文章:
配置VScode开发环境-CUDA编程
如果觉得本篇文章对您的学习起到帮助作用,请 点赞 关注 评论 ,留下您的足迹💪💪💪 本文主要介绍VScode下的CUDA编程配置,因此记录以备日后查看,同时,如果能够帮助到更多人…...
openGauss学习笔记-101 openGauss 数据库管理-管理数据库安全-客户端接入之用SSH隧道进行安全的TCP/IP连接
文章目录 openGauss学习笔记-101 openGauss 数据库管理-管理数据库安全-客户端接入之用SSH隧道进行安全的TCP/IP连接101.1 背景信息101.2 前提条件101.3 操作步骤 openGauss学习笔记-101 openGauss 数据库管理-管理数据库安全-客户端接入之用SSH隧道进行安全的TCP/IP连接 101.…...
STM32如何使用中断?
一:EXTI 简介 STM32F10x 外部中断/事件控制器(EXTI)包含多达 20 个用于产生事件/中断请求的边沿检测器。 EXTI 的每根输入线都可单独进行配置,以选择类型(中断或事件)和相应的触发事件(上升 沿触…...
用于物体识别和跟踪的下游任务自监督学习-2-(计算机视觉中的距离度量+损失函数)
2.4 计算机视觉中的距离度量 在深度学习和计算机视觉中,距离度量通常用于比较图像、视频或其他数据的特征或嵌入。根据具体任务和数据属性,可以使用不同类型的距离度量。下面介绍了深度学习和计算机视觉中使用的一些常见类型的距离度量。 余弦相似性距…...
热成像仪的工作原理及在工业设备状态监测中的应用
前面我们介绍过>>热分析技术在工业设备状态监测中的应用,下面我们将深入探讨热成像仪的工作原理及在工业设备状态监测中的应用。 近年来,热成像仪作为一种先进的检测工具,在工业设备状态监测领域得到了广泛的应用。热成像仪能够通过探测…...
什么是库存管理?无需Excel,2023年这几款大热库存管理软件你get了吗?
什么是库存管理?库存管理是什么意思?都有哪些好用的库存管理系统?相信这些都是大家非常关注的话题,这篇就跟大家详细唠唠什么是库存管理,都用什么系统可以进行库存管理,并且为大家盘点2023年这几款大热库存…...
c# xml 参数配置表的使用
使用简介 实际使用界面 配置表管理界面 进入 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;…...
ubuntu20.04 nerf Instant-ngp
Instant-ngp linux ubuntu 20.04 GPU RTX3050Ti Instant-ngp官方文档地址 https://github.com/NVlabs/instant-ngp 参考链接Instant-ngp linux部署及使用 - 简书 Ubuntu20.04复现instant-ngp,自建数据集,导出mesh_XINYU W的博客-CSDN博客 步骤 安装基…...
隐写术--python隐写
0x00 背景 何为隐写术? 隐写术是一类可以隐藏自己写的一些东西的方法,是一门关于信息隐藏的技巧与科学。指的是采取一些不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容的方法。 可参考 一文让你完全弄懂Stegosaurus - 知乎 本文要…...
MySQL的InnoDB存储引擎中的自适应哈希索引技术
一、自适应哈希索引的工作机制与优化策略 MySQL的InnoDB存储引擎使用了一种叫做自适应哈希索引(Adaptive Hash Indexes)的技术。在某些索引值被频繁访问的情况下,InnoDB会自动在内存中为这些值建立哈希索引,以加速查询操作。 何…...
交互设计主要做什么?新手入门必读
什么是交互设计?它涉及哪些内容?交互设计师是什么样的人群?他们到底是做什么的?他们身怀什么技能?他们工作的价值在哪里?交互设计行业的现状是怎样的?工作前景又是如何的? 如果你心…...
【深度学习实验】循环神经网络(三):门控制——自定义循环神经网络LSTM(长短期记忆网络)模型
目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. LSTM类 a.__init__(初始化) b. init_state(初始化隐藏状态) c. forward(前向传播) 2. RNNModel类 a.__init__&am…...
flutter 消息并发时处理,递归查询
收到新消息的时候执行receiveNewConversation方法 可以自己模拟一下两条数据插入,延时执行插入会话的操作 收到一条新的会话消息,先记录会话ID到列表,直到第一条处理完(插入数据库后清理这个会话ID),才处理…...
第五十八章 学习常用技能 - 查看查询缓存
文章目录 第五十八章 学习常用技能 - 查看查询缓存查看查询缓存建立索引使用调谐表工具 第五十八章 学习常用技能 - 查看查询缓存 查看查询缓存 对于 SQL(用作嵌入式 SQL 时除外),系统会生成可重用代码来访问数据,并将该代码放置…...
AI 辅助学 Java | 专栏 1 帮你学 Java
在利用 ChatGPT 辅助学 Java 之前,你得先知道,它到底能辅助你干什么?如何能帮你更好的学习 Java。 苍何:作为一个语言模型,你能给 Java 的初学者提供什么帮助?请罗列具体的点。 ChatGPT:当你是一个 Java 初学者时,我可以提供以下具体的帮助和指导: 基本语法和语言特…...
2023_Spark_实验十六:编写LoggerLevel方法及getLocalSparkSession方法
一、搭建Spark项目结构 在SparkProject模块的pom.xml文件中增加一下依赖,并等待依赖包下载完毕,如上图。 <!-- Spark及Scala的版本号 --><properties><scala.version>2.11</scala.version><spark.version>2.1.1</sp…...
彻底搞懂:防止表单重复提交,前端限制还是后端限制?
欢迎大家来到小米的技术分享专栏!今天我将为大家带来一个热门话题:如何有效地防止表单重复提交。在开发中,我们常常会遇到这样的问题:用户频繁点击提交按钮,导致数据重复提交,给系统和用户体验带来不必要的…...
OCPP1.6协议
目录 导言 功能简介 本地授权列表 类型 IdToken IdTagInfo 授权状态 协议指令 1、授权 1.1 说明 1.2 Authorize.req 1.3 Authorize.conf 1.4 JSON格式 1.5 代码 2、启动通知 2.1 说明 2.2 BootNotification.req 2.3 BootNotification.conf 2.4 JSON格式 2…...
【数据存储:小端模式和大端模式】
一、引言 在计算机科学中,数据存储模式是指如何将数据存储在计算机内存中的方式。小端模式和大端模式是两种主要的字节序方式,它们决定了字节在内存中的排列顺序。这种字节顺序的选择对于跨平台编程和数据传输至关重要。在这篇博客中,我们将…...
【git】gitlab安装、备份
gitlab官网 官网:官网 中文官网:中文官网 作为一个英文不好的程序员,所以我都去中文网站去看了。下面也是带着大家去走走 安装gitlab 我不想写具体的安装方法,直接去逛网看下面是我的截图。步骤非常详细。 安装文档地址&…...
开源机械爪资源库指南:从入门到ROS集成与自主抓取
1. 项目概述:一个开源“机械爪”的宝藏资源库如果你对机器人、自动化或者DIY硬件感兴趣,最近又在琢磨着给自己的项目加一个“手”,那么你很可能已经听说过“机械爪”这个概念。无论是想做一个自动抓取小物件的桌面机器人,还是为你…...
AI赋能终端:基于LLM的智能命令行助手实现与实战
1. 项目概述:当终端遇见AI,一场效率革命如果你和我一样,每天有超过一半的工作时间是在终端(Terminal)里度过的,那你一定对那种在命令行历史里反复翻找、手动敲击冗长命令、或者为了一个复杂的管道组合而绞尽…...
【Midjourney批量生成黄金工作流】:20年AI工程实战总结的7步标准化流水线(附可复用Prompt模板库)
更多请点击: https://intelliparadigm.com 第一章:Midjourney批量生成工作流的底层逻辑与范式演进 Midjourney 的批量生成并非简单重复调用 /imagine,其本质是围绕提示工程(Prompt Engineering)、状态管理(…...
跨越语言障碍的智能方案:DeepL Chrome扩展助力无缝多语言浏览
跨越语言障碍的智能方案:DeepL Chrome扩展助力无缝多语言浏览 【免费下载链接】deepl-chrome-extension A DeepL Translator Chrome extension 项目地址: https://gitcode.com/gh_mirrors/de/deepl-chrome-extension 想象一下,当你浏览外文网页时…...
AI开发环境一键构建:模块化脚本实现基础设施即代码
1. 项目概述:一个为AI工作流量身定制的开发环境构建器如果你和我一样,经常在本地机器、云服务器甚至多台设备之间切换,只为折腾不同的AI模型、跑通某个开源项目,那你一定对“环境配置”这四个字深恶痛绝。今天要聊的这个项目dabyd…...
贾子竞争哲学与新范式升维战略——从 “多维对抗“ 到 “意义消解“ 的终极战略蓝图
贾子竞争哲学与新范式升维战略——从 "多维对抗" 到 "意义消解" 的终极战略蓝图摘要本战略体系彻底颠覆了以价格、功能、渠道为核心的传统红海对抗逻辑,提出了一套基于 "维度升维、悖论锁定、意义消解、时间收割" 的全新竞争哲学。其…...
告别论文焦虑:Paperxie 为本科毕业论文搭建的「全流程写作脚手架」
paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPThttps://www.paperxie.cn/ai/dissertationhttps://www.paperxie.cn/ai/dissertation 毕业季的凌晨三点,宿舍台灯下亮着的电脑屏幕,是无数本科生共同的记忆。当 10000 字的毕业…...
GaussDB定时任务管理:从基础到高级实践
一、定时任务体系架构1.1 双引擎调度架构GaussDB采用内置调度器外部集成的混合架构:内置调度器:基于PostgreSQL的pgAgent增强实现 外部集成:支持与Linux cron、Kubernetes CronJob联动 分布式调度࿱…...
【技术底稿 35】低配单机混跑 Dev/Test 微服务环境,Jenkins 部署包错乱踩坑全复盘
一、核心背景在不新增服务器、沿用现有 7G 低配开发机前提下,同时承载:开发环境(2 个 admin 节点)测试环境(1 个 admin 节点)Jenkins 打包编译MySQL / Redis / Zookeeper / Milvus 等全套中间件机器硬件资源…...
单元幕墙组装检验标准
单元幕墙组装检验标准 1 范围 本标准规定了沈阳远大企业集团单元幕墙组装的检验项目、检验方法、检验工具、质量评定方法。 本标准适用于单元幕墙板块的组装检验。 2 规范性引用文件 下列文件中的条款通过本标准的引用而成为本标准的条款,凡是注日期的引用文件,其随后所…...
