nvidia-smi
选择的CUDA版本要比 CUDA version 的版本更低
ps. 本机之前已经把CUDA驱动器在windows端安装完成:
参考:Windows10/11 WSL2 安装nvidia-cuda驱动
进入CUDA各版本官方下载地址:https://developer.nvidia.com/cuda-toolkit-archive 选择合适的版本
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-6-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
ps. 如果报错:
可以直接改成 sudo apt-get -y install cuda
安装相关依赖库:
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
配置CUDA的环境变量:
sudo vim ~/.bashrc
.bashrc文件末尾添加:
export PATH=/usr/local/cuda-11.6/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
更新文件:
source ~/.bashrc
配置完成,成功运行 nvcc --version
,即可使用nvcc编译器
测试代码:
#include
#include
#include
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;
}
// from https://blog.csdn.net/chongbin007/article/details/123973475
运行结果:
安装完成!!
之前安装的时候没有选择 WSL-Ubuntu,导致出现了一系列的bug
NVIDIA-SMI报错:NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver
有可能是ubuntu的内核版本升级后造成的问题
解决方法:
sudo apt-get install dkms
ls -l /usr/src/
可以看到有一个nvidia的文件,如果没有这需要自己去安装驱动
方法:Ubuntu下安装NVIDIA驱动的三种方法
sudo dkms install -m nvidia -v 470.141.03
此时我的报错如下:
尝试 install
所需的内核:
原因:安装内核headers,在ubuntu里只需要执行:sudo apt-get install linux-headers-$(uname -r),但是在WSL里,这样子是不行的,因为WSL安装的是微软特供版,需要用对应版本的headers,apt-get安装不到
方法:WSL升级到最新版本Linux内核headers的方法
再次 sudo dkms install -m nvidia -v 470.141.03
Debug过程中的总结:
安装CUDA:
Windows10/11 WSL2 安装nvidia-cuda驱动 (important)
ubuntu的linux下下载CUDA
Linux显卡驱动命令
CUDA各版本官方下载地址:https://developer.nvidia.com/cuda-toolkit-archive
ERROR: nvidia-smi not found:
解决NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver. Make sure 的报错(亲测有效)
nvidia-smi报错:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver 原因及避坑解决方案
显卡驱动报错:NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver.
NVIDIA-SMI报错:NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver.问题解决
Ubuntu下安装CUDA驱动器:
初次使用Ubuntu18.04遇到的问题——笔记5 (Ubuntu 18.04 下安装安装NVIDIA显卡驱动+CUDA-10.1+cudnn-7)
Ubuntu下安装NVIDIA驱动的三种方法
WSL升级Linux内核:
WSL升级到最新版本Linux内核headers的方法
WSL 2 的安装过程(以及介绍)