赞
踩
nvidia-smi
选择的CUDA版本要比 CUDA version 的版本更低
ps. 本机之前已经把CUDA驱动器在windows端安装完成:
参考:Windows10/11 WSL2 安装nvidia-cuda驱动
进入CUDA各版本官方下载地址:https://developer.nvidia.com/cuda-toolkit-archive 选择合适的版本
Installation Instructions:
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编译器
nvidia-smi
驱动正常
测试代码:
#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; } // from https://blog.csdn.net/chongbin007/article/details/123973475
运行结果:
安装完成!!
之前安装的时候没有选择 WSL-Ubuntu,导致出现了一系列的bug
( 所以WSL的话最好不要选择这个)
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
此时我的报错如下:
应该是本机WSL的Linux内核的问题
尝试 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)
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)
WSL升级Linux内核:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。