我的NVIDIA开发者之旅——张小白手把手教你写CUDA的HelloWorld

张小白TWO 2022-06-28 16:20:34

"我的NVIDIA开发者之旅” | 征文活动进行中.......

在Windows下的CUDA程序运行起来需要装Visual Studio一堆东西,但是Windows 11有个WSL还是蛮好用的。我们用这个方法来试试运行CUDA代码吧!

在Windows 11下搜索 Microsoft Store:

编辑切换为居中

 

在Store中搜索ubuntu 20.04:

​点击获取:

​耐心等待下载完毕:

​下载完毕后:

​点击打开:

​输入用户名:zhanghui

输入两次密码:z******i

就进入了ubuntu 20.04的环境。

使用nvidia-smi可以看到Nvidia的显卡信息:

​打开nvcc直接报错:

​我们可以按照提示按照nvidia的cuda toolkit。

​但是他不一定听你的话。

那我们还是去nvidia官网去下载CUDA toolkit吧!

打开:

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=runfile_local

​下面会显示具体的下载和安装命令,照此执行:

wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run

​chmod +x *.run

​sudo ./cuda_11.7.0_515.43.04_linux.run

​告诉你gcc校验版本出错。

那就安装gcc吧:

sudo apt install gcc

​报错了:

​这个时候应该先做下sudo apt-get update:

​再安装就可以了:

​gcc --version

​再来试一遍安装cuda toolkit:

sudo ./cuda_11.7.0_515.43.04_linux.run

​会弹出以下界面:

​输入accept,继续:

​当然这个时候张小白发现一个问题,就是wsl所在的C盘空间所剩不多了。

​那就使用迁移大法,把刚才安装的wsl ubuntu 20.04移到其他硬盘吧:(E盘还有500G空间)

​使用管理员打开 PowerShell:

​下载move-wsl工具:

git clone https://github.com/pxlrbt/move-wsl.git

​停止wsl运行:

wsl --shutdown

​确认ubuntu的窗口已被关闭。

cd move-wsl

​执行:.\move-wsl.ps1

​按提示完成 wsl源的选择,并输入目的目录 e:\wsl2,耐心等待后会发现移动成功。

此时看一下C盘和E盘的剩余空间情况:

​文件也移过来了:

​那我们重新打开wsl的ubuntu 20.04

​居然是root用户。

切换到zhanghui用户,重新执行cuda toolkit安装:

sudo ./cuda_11.7.0_515.43.04_linux.run

​输入accept后:

​点击install:

​按照上面的提示修改 .bashrc,增加下面两个环境变量:

export PATH=$PATH:/usr/local/cuda-11.7/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.7/lib64

​source ~/.bashrc使其生效:

​检查nvcc是否正常安装:

nvcc -V

​编辑一个helloworld.cu的CUDA代码:


 

保存后编译

nvcc -o helloworld helloworld.cu

​看来还是要装g++

sudo apt-get install g++

​重新编译:

nvcc -o helloworld helloworld.cu

​编译是通过了,但是没有结果。。。LOL。。。

 

那么,是不是CUDA 11.7的版本太新了,跟驱动不匹配呢?

我们换下载 CUDA 11.4的版本试试:

打开 CUDA Toolkit 11.4 Update 4 Downloads

按如下方式选择:

​wget https://developer.download.nvidia.com/compute/cuda/11.4.4/local_installers/cuda_11.4.4_470.82.01_linux.run

​chmod +x *.run

sudo sh cuda_11.4.4_470.82.01_linux.run

​accept后会提示:

​继续会提示:

​因为刚才已经装过CUDA 11.7了。

​装完了。到/usr/local下看看:

​可见,/usr/local/cuda的软链接指向了 /usr/local/cuda-11.4,而原来指向的是 /usr/local/cuda-11.7.

这样我们将 .bashrc简单地调整为指向 /usr/local/cuda,这样不管是哪个版本都会指向应该指向的实际目录:

​source ~/.bashrc使其生效

nvcc -V看看版本:

​nvidia-smi看看版本:

​然后再重新编译:

rm helloworld

nvcc -o helloworld helloworld.cu

并执行:

./helloworld

​终于完成了WSL的ubuntu 20.04上第一个CUDA的hello world程序。

(全文完,谢谢阅读)

"我的NVIDIA开发者之旅” | 征文活动进行中.......

...全文
399 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,381

社区成员

发帖
与我相关
我的任务
社区描述
NVIDIA 开发者技术交流
人工智能 企业社区
社区管理员
  • nvdev
  • 活动通知
  • AI_CUDA_Training
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧