当前位置: 首页 > news >正文

使用cuda编写并运行你的第一个程序(基于WSL2+vscode)

使用cuda运行你的第一个程序(基于WSL2+vscode,附NCU无权限解决方法)

1 安装步骤

可以参考知乎此篇文章WSL2安装CUDA,nvidia环境小白教程和踩坑记录,驱动安装在此不赘述,此外,那篇文章的官网链接挂了,我补充在此:
1.点我下载最新NVIDIA驱动
该链接是在windows上安装NVIDIA驱动,我的是GeForce架构,windows11,因此选择的是这个:

2.点我下载CUDA Toolkit
我选择的设置是这样的,最后选的是deb本地安装,避免在线安装容易断网失败

安装步骤很简单,选完之后有一个安装说明:

把这个直接复制到你的WSL2终端里面就行,等待自动安装完成
3.使用nvidia-smi检查一下能不能出来显卡信息:

4.最后输入nvcc -V检查一下bash的配置,报错的话修改一下.bashrc文件:

vim~/.bashrc#进入配置文件#按I,进入插入模式,在配置文件最下面粘贴下列代码 这里下载的是13.1exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-13.1/lib64exportPATH=$PATH:/usr/local/cuda-13.1/binexportCUDA_HOME=$CUDA_HOME:/usr/local/cuda-13.1exportPATH=/usr/local/cuda/bin:$PATH# esc,退出插入模式,进入命令行模式# 输入:wq,保存退出#最后再应用配置文件:source~/.bashrc

这时再用nvcc -V就可以输出正确的版本信息了

2 编写并运行你的第一个程序

在vscode里面编程还是很方便的,界面也很熟悉,推荐使用

  1. 在voscode的用户目录下创建你存放文件的文件夹
  2. 在文件夹里面新建一个你的cuda程序文件,如:first_proc.cu
  3. 编写程序,这里编写了一个从cpu启动的程序:
#include<stdio.h>__global__voidcuda_hello(){printf("Hello CUDA from GPU!\n");}intmain(){printf("Hello CUDA from CPU!\n");cuda_hello<<<1,1>>>();cudaDeviceSynchronize();return0;}
  1. 在终端使用nvcc编译一下,命令是
    nvcc <cuda文件名,如:first_proc.cu> -o <输出的文件名,如:first_proc>
  2. 运行一下,输出:

    恭喜,迈出了cuda编程的第一步!

更新线:
为了在WSL2中使用性能分析工具ncu(nsight-compute),使用如下方法进行配置权限:
1.WSL2终端里检查是否有ncu:which ncu,有路径的话继续执行下一步

2.打开windows端nvdida控制台

3.启用开发者设置

4.允许所有用户访问GPU性能计数器
完成!

http://www.gsyq.cn/news/1527618.html

相关文章:

  • UniApp微信小程序选点踩坑记:从requiredPrivateInfos报错到manifest.json正确配置
  • 2025_NIPS_Task-aware world model learning with meta weighting via bi-level optimization
  • Linux fat_add_cluster FAT32簇链与shortname生成
  • DeepLab_v3评估指标详解:mIoU、像素准确率等关键指标计算
  • MTK平台DWS配置GPIO,这10个选项别再乱勾了(附EintMode中断避坑指南)
  • 哪个豆包可以生成 word 文档?AI 导出鸭助力文档一键生成,高效便捷超实用
  • GPR数据切片(Slice)实战:从3D数据到清晰成像,关键参数设置与避坑指南
  • 从热失控到封装熔断:一张SOA图背后的5个MOSFET“死亡陷阱”与实测避坑
  • STC8G1K08A-8PIN开发踩坑记:为什么P54引脚不能当普通IO用?一个实习生的血泪教训
  • Prometheus日志里总报‘无序时间戳’?别慌,这5个配置坑你肯定踩过
  • 2025_NIPS_Ensemble-based Deep Reinforcement Learning for Vehicle Routing Problems under Distribut...
  • PyTorch DataLoader报错‘stack expects each tensor to be equal size’?别慌,手把手教你排查图片数据集里的‘通道数刺客’
  • 哪个 ChatGPT 和 Gemini 可以生成 word 文档,AI 导出鸭一键导出更省心
  • Outlook邮件变‘隐形’?可能是你的显卡驱动或字体颜色在捣鬼
  • 2026成都高端名酒回收市场深度观察:哪里更靠谱? - 优质品牌商家
  • 别再为`code been used`和字段名抓狂了!微信米大师2.0接入的这两个坑,我帮你填平了
  • Fable5做代码分析实测
  • 从‘通信中断’到精准定位:CAN总线三大经典短路故障的排查心法与避坑指南
  • SH9认知曲率的严格定义与Ω_c阈值猜想的几何推导(世毫九实验室学术研究版)
  • 2026年潍坊活动板房行业深度调研:从临建用房到创意箱,这12家企业谁更懂你的需求? - 优质品牌商家
  • 数据结构实验避坑指南:严蔚敏C语言版‘图书信息管理’常见Bug与调试技巧
  • 别再只会kubectl delete了!深入理解K8s Finalizer和Webhook,彻底解决Namespace Terminating问题
  • Cadence OrCAD新手避坑指南:从DRC检查到Annotate重排,搞定网表导出全流程
  • CF2232A题解
  • Scratch列表排序避坑指南:蓝桥杯考过的‘移动’和‘删除’操作,你真的做对了吗?
  • 保姆级教程:用示波器和CAN分析仪诊断并解决CAN总线Bus Off故障
  • YOLO环境配置翻车实录:从‘-U’误操作到CUDA版本不匹配,我踩过的坑你别再踩了
  • 避坑指南:Proteus8仿真AT89C51串口通信,你的数码管为啥不亮?
  • 避坑指南:用频谱分析仪调试MC1496混频电路时,如何准确设置扫频范围和分辨率带宽?
  • 5大场景重塑你的网盘下载体验:告别限速烦恼的终极指南