当前位置:   article > 正文

WSL安装CUDA并成功运行_wsl cuda

wsl cuda

概述

因为我想运行GPU程序,我的笔记本是带一个nvidia独显的。但是windows下折腾了很久,安装Visual Studio并且安装CUDA环境还需要配置很多东西,最后运行cuda程序还是有很多包找不到,最后放弃了,windows果然不适合开发者。
就想起了可以试试WSL用Linux系统来做GPU开发,折腾一下,最终成功了。
下面记录一下步骤:

安装windwos下子系统Ubuntu 18.04

这个需要windows商店, Microsoft appstore下,直接找到Ubuntu 18.04直接获取就可以了。
有的电脑没有Microsoft appstrore,应该是盗版系统没破解好。
非常方便,安装完后直接开启会出现一个Linux控制台,以前没用过,体验很好速度很快。

在linux系统下安装CUDA

这个我百度的教程每一个好用的,直接看官网,最权威的而且最好用
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=18.04&target_type=deb_local
选择好你的系统对应版本,下面就会展示给你安装步骤
在这里插入图片描述

主要是下面几步:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda-repo-ubuntu1804-11-6-local_11.6.2-510.47.03-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-11-6-local_11.6.2-510.47.03-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu1804-11-6-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

注意这几步中下载和安装很慢,网速不太好的话,大概要一个小时,因为那个包确实有点大。

没有nvcc

nvcc类似于GCC,没有nvcc就无法编译cuda以.cu结尾的文件。
所以检查有没有nvcc
安装完了,这时就有cuda运行环境里,但是需要一些配置。
我在运行nvcc --version
报错找不到,查找资料发现是因为没配置路径。
参考:
https://blog.csdn.net/weixin_31325725/article/details/116587093

主要步骤

  1. 查看/usr/local/cuda/bin下是否有nvcc可执行程序,如果没有说明cuda没有正常安装,需要重新安装,如果有,进入下一步
  2. 添加环境变量,打开~/.bashrc ,添加环境变量export PATH=$PATH:/usr/local/cuda/bin
  3. 再在terminal中输入nvcc --version可以看到已经可以显示为8.0版本了
    在这里插入图片描述

nvidia-smi 不显示GPU

nvidia-smi 不显示GPU就是ubuntu找不到GPU

运行CUDA程序可以运行,但是获取不到GPU信息。

原因,查找到网上原因说是WSL无法获取到GPU,需要WSL2才可以。并且windows版本也有要求,需要windows10 1903以上
版本低的自己更新
在这里插入图片描述

所以需要升级WSL
以管理员身份进入cmd 或者 powershell
先使用 wsl -l -v 查看当前wsl 版本。
发现我的WSL版本确实是WSL1,那么需要升级。

wsl升级为wsl2

参考
https://www.jianshu.com/p/9b2f9f269f58

首先打开
在这里插入图片描述
红框中第一个,在上面应该已经开了,不然安装不了WSL。
然后打开第二个,重启电脑。

去官网下载WSL2程序并安装
https://docs.microsoft.com/en-us/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package

然后设定ubuntu为wsl2,用管理员身份运行power shell
执行
wsl --set-default-version 2
wsl --set-version Ubuntu-18.04 2

大概需要十多分钟。再打开ubuntu就可以了。

运行CUDA程序

这时我们检查能否找到GPU
在这里插入图片描述
成功找到了。
然后我们运行CUDA程序试一下

#include <iostream>
#include <math.h>
#include <cuda_runtime.h>
using namespace std;
int main() {
    int count = 0;
 	cudaGetDeviceCount(&count);
	cout <<"当前计算机包含GPU数为"<< count << endl;
    cudaError_t err = cudaGetDeviceCount(&count);
    if (err != cudaSuccess) 
	    printf("%s\n", cudaGetErrorString(err));


    cudaDeviceProp prop;
    cudaGetDeviceProperties(&prop, 0);
    printf("Device Number: %d\n", 0);
    cout << "当前设备名字为" << prop.name << endl;
	cout << "GPU全局内存总量为" << prop.totalGlobalMem << endl;
	cout << "单个线程块中包含的线程数最多为" << prop.maxThreadsPerBlock << endl;
  
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

在这里插入图片描述
成功显示我笔记本GPU的名称。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/128523
推荐阅读
相关标签
  

闽ICP备14008679号