程序跑的好好的,重启后发现出现了这样的问题。出现这样的问题有以下几种情况
一、CUDA的环境变量出现问题
使用命令
echo $PATH
$LD_LIBRARY_PATH
查询环境变量是否配置正确
PATH=/usr/local/cuda/bin
LD_LIBRARY_PATH=/usr/local/cuda/lib64
假如查询到以上环境变量存在,且cuda版本对应,那么环境变量就没问题。
假如环境变量不存在则运行
输入这个指令并定位到最后一行,这个文件是配置文件
加入这两个行指令,你的CUDA版本是多少,就改成多少。目的是让系统找你的CUDA编译器
二 、版本问题不对应
在命令行输入 nvidia-smi
第一个红框是驱动版本,第二个红框是最高可支持的CUDA版本
使用命令 nvcc --version
查看当前系统中的CUDA版本
查看是否配套,可去NVIDIA官网查看。
三、系统内核冲突
如果你的驱动刚刚升级,那么使用这两个命令进行linux内核升级。
如果你之前先使用这两个命令,Linux系统内核升级了,而驱动并没有升级所以匹配不上了。
那么恭喜你,要重新装驱动了。个人建议将CUDA和驱动一块卸载。再进行重装
CUDA和驱动都有卸载程序,执行官方的卸载程序即可
卸载程序存储位置在
CUDA在/usr/local/cuda/bin
驱动在 /usr/bin
卸载之后去英伟达官网下载一个不太新也不太旧的一个版本CUDA Toolkit 里面会包含驱动程序
然后就是安装了,安装过程需要退出图形化界面,因为上一个驱动的模块还在运行
sudo systemctl isolate multi-user.target
sudo modprobe -r nvidia-drm
然后再查询下还有没有nvidia模块在运行
lsmod | grep nvidia
查询是否还有nvidia模块在运行,没有的话,就进行安装
安装结束后
sudo systemctl set-default graphical.target
reboot
重启