当前位置: 首页 > 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.jsqmd.com/news/1015797/

相关文章:

  • HFSS仿真报错别慌!手把手教你搞定‘Acis error’、‘Optimization failed’等5个高频坑
  • 避坑指南:解决URDF添加摄像头后Gazebo不显示图像或Topic无法发布的常见问题
  • UniApp微信小程序选点踩坑记:从requiredPrivateInfos报错到manifest.json正确配置
  • Linux fat_add_cluster FAT32簇链与shortname生成
  • DeepLab_v3评估指标详解:mIoU、像素准确率等关键指标计算
  • MTK平台DWS配置GPIO,这10个选项别再乱勾了(附EintMode中断避坑指南)
  • Flask部署PyTorch模型时,我踩过的5个坑和解决办法(附打包exe避雷指南)
  • 在飞腾FT2000+上编译openEuler内核,卡在exiting boot services?手把手教你用系统自带config避坑
  • ArcMap地图导出AI格式后,在Illustrator里编辑总失败?试试这个保姆级避坑流程
  • 哪个豆包可以生成 word 文档?AI 导出鸭助力文档一键生成,高效便捷超实用
  • iOS 15+ WebView/Safari 下 WebSocket 神秘断连?手把手教你定位并关闭‘permessage-deflate’压缩头
  • uaal-example完全指南:如何将Unity无缝集成到iOS和Android原生应用中
  • GPR数据切片(Slice)实战:从3D数据到清晰成像,关键参数设置与避坑指南
  • 从热失控到封装熔断:一张SOA图背后的5个MOSFET“死亡陷阱”与实测避坑
  • STC8G1K08A-8PIN开发踩坑记:为什么P54引脚不能当普通IO用?一个实习生的血泪教训
  • Prometheus日志里总报‘无序时间戳’?别慌,这5个配置坑你肯定踩过
  • 别再乱改文件夹权限了!一次搞懂SFTP的chroot目录所有权和权限设置(附CentOS 7.3实战)
  • 哪个 ChatGPT 和 Gemini 可以生成 word 文档,AI 导出鸭一键导出更省心
  • 为什么团队氛围越来越差?答案藏在“烂苹果效应”里
  • Outlook邮件变‘隐形’?可能是你的显卡驱动或字体颜色在捣鬼
  • PyTorch DataLoader报错‘stack expects each tensor to be equal size’?别慌,手把手教你排查图片数据集里的‘通道数刺客’
  • 2025_NIPS_Ensemble-based Deep Reinforcement Learning for Vehicle Routing Problems under Distribut...
  • 2026成都高端名酒回收市场深度观察:哪里更靠谱? - 优质品牌商家
  • VASP能带计算踩坑实录:为什么我的能带图总是断开的?(附vaspkit 303避坑指南)
  • 别再为`code been used`和字段名抓狂了!微信米大师2.0接入的这两个坑,我帮你填平了
  • Fable5做代码分析实测
  • SH9认知曲率的严格定义与Ω_c阈值猜想的几何推导(世毫九实验室学术研究版)
  • deepseek 怎么复制表格?AI 导出鸭助力表格搬运
  • Silvaco TCAD电极定义报错?手把手教你排查‘Cannot find the electrode’问题(附完整PIN二极管仿真流程)
  • 避坑指南:VSpy连接ValueCAN硬件时,你一定会遇到的6个问题及解决方法(附License/固件更新处理)