背景:
遇到这个问题不要慌,因为我已经解决了,大概率可以帮助到你。 同事给我反应遇到了上述问题,我思考了下解决这个问题的思路。
解决方案:
1、确认当前nvidia对应的cuda版本
nvidia-smi
如下图所示:
2、去官网下载相应版本的CUDA
https://developer.nvidia.com/cuda-11-4-4-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=18.04&target_type=deb_local
如图所示:
根据你服务器的配置选择相应的选项,这里我选择runfile(local),下一步直接执行下面相应的代码即可,如下图所示:
也可以直接使用下面的代码
wget https://developer.download.nvidia.com/compute/cuda/11.4.4/local_installers/cuda_11.4.4_470.82.01_linux.run
sudo sh cuda_11.4.4_470.82.01_linux.run
3、执行sudo sh cuda_11.4.4_470.82.01_linux.run过程中,出现报错
由于你服务上可能有旧的版本的cuda,所以你执行前要先删除相应的cuda
sudo dpkg -l |grep cuda
sudo dpkg -P cuda名称
-p后面就是上面查出的那些cuda
4、继续执行sudo sh cuda_11.4.4_470.82.01_linux.run,选择continue以后一直继续,如果已经安装了nvidia,可以勾掉相应选项,输入accept即可。(这里不好意思,没图片了)没有报错即是成功了。这个时候你可以在/usr/local/目录下发现安装的cuda和cuda-11.4文件夹。
5、配置环境变量
vim ~/.bashrc
输入两行代码即可
export PATH=/usr/local/cuda/bin/:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64/
配置生效
source ~/.bashrc
6、全文搜索,这个文件已经存在即可。
find / -name libcusparse.so.11
也可通过输入ncvv -V查看当前cuda版本是否为新安装版本。
7、好了,可以愉快的运行了。wtf,还不行,报了以下错误:
RuntimeError: 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.
8、不要着急,在通知相关人员确定可以重启后,重启服务器即可。一般都可以解决。
9、生活愉快,事业有成!