先说结论,如果后续要装CUDA,不要用Deepin的显卡驱动管理器 安装驱动,应该从nvidia官网装驱动
问题
手贱点了升级系统内核,升级完发现显卡驱动也不适配了,图方便在显卡驱动管理器 中点击升级,升级完成后命令行输入nvidia-smi 显示正常,驱动安装结束!开开心心装cuda,装完nvcc -V : 耶,cuda也是正常的,安装完成! 然而在用pytorch的时候莫名其妙报了这样一个错:
UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero.
解决
我重装了n遍cuda、pytorch、anaconda,试了网上的n种办法都没用,包括但不限于:
export CUDA_VISIBLE_DEVICES=0,1,2,3
apt-get install nvidia-modprobe
sudo aptitude install cuda
sudo apt install nvidia-cuda-toolkit
都无济于事,最后这种还白白占了我几个G的空间。 最后索性卸了显卡驱动管理器 中的驱动,自己老老实实从官网装,居然就成功了。
驱动+CUDA安装步骤
- 官网选自己显卡对应的驱动版本下载
https://www.nvidia.cn/geforce/drivers/ crtl+shift+f2 进入命令行界面,并关闭图形界面:sudo service lightdm stop sudo bash xxx.run 安装驱动,期间可能会各种报错,比如:ERROR: Unable to load the 'nvidia-drm' kernel module. 不用管,不影响结果。nvidia-smi 有这样的输出说明驱动安装成功: 注意到这里右上角有个CUDA Version,意思是11.4以下的CUDA都能装,去https://developer.nvidia.com/cuda-toolkit-archive 选一个11.4以下的。 可以先去看看tensorflow适配哪些CUDA版本https://tensorflow.google.cn/install/source_windows 。 到这一步就可以sudo service lightdm start 开启桌面了,不然总是心惊胆战的。sudo bash xxx.run 安装cuda, 只需要装第二个toolkit就行。 注意到第一个是Driver,我们已经装过了(试过直接装这个driver,没一次成功,所以还是先去把driver装好再说),下面的samples等完全可以不装。在option里修改安装路径到/home/用户名/cuda 。sudo vim ~/.bashrc ,在最下面加入这几句:
CUDA_HOME=home/用户名/cuda
export PATH=\$PATH:\$CUDA_HOME/bin/
export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$CUDA_HOME/lib64
- 最后
source ~/.bashrc ,再nvcc -V ,成功。pytorch试一下:
import torch
print(torch.cuda.is_available())
>>>True
就装好啦!
|