目录
问题:能够查到nvidia驱动版本,但却不可用
(一)准备工作:
卸载原有的Pytorch
卸载cuda cudnn
查看nvidia-smi
官方cuda与nvidia的linux版本对应关系
查看GCC版本4.8.5
gcc与cuda版本对应关系
(二)开始安装
升级gcc至8.3.1
安装cuda
安装cudnn
安装GPU版的pytorch
安装NVIDIA
解决步骤:
conda uninstall pytorch
conda uninstall libtorch
cd到 /usr/local/cuda-10.1/bin下,执行 ./cuda-uninstaller
cd /usr/local/cuda-10.1/bin
./cuda-uninstaller
Centos 7默认gcc版本为4.8,有时需要更高版本的,这里以升级至8.3.1版本
参考(16条消息) CentOS 7升级gcc 8.3.1 7.x.x 4.9.4版本_一只牛_007的博客-CSDN博客_centos7升级gcc8
1.安装centos-release-scl
sudo yum install centos-release-scl
2.安装devtoolset,如果想安装7.*版本的,就改成devtoolset-7-gcc*,以此类推
sudo yum install devtoolset-8-gcc*
3.激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本(注意重启后需重新激活)
scl enable devtoolset-8 bash
4.查看一下gcc版本
gcc -v
1.下载
官方链接CUDA Toolkit Archive | NVIDIA Developer
输入命令行:
wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
sudo sh cuda_10.2.89_440.33.01_linux.run
2.本机已经有Driver,因此不选择Driver
3.配置cuda系统环境
vim /etc/profile
# 编辑环境变量文件,末尾追加(由于文件只读,我直接在/etc/profile文件里进行修改)
export PATH=/usr/local/cuda-10.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
# 通过 esc - :wq 保存编辑
# 保存后立马生效
source /etc/profile
# 检查配置是否成功
echo $LD_LIBRARY_PATH
# 安装完成,检查cuda是否正常
cat /proc/driver/nvidia/version
nvcc -V(注意是大写的V)
4.再次检查nvidia驱动
1.下载
官方链接cuDNN Archive | NVIDIA Developer
2.解压
tar -xvf cudnn-linux-x86_64-8.4.0.27_cuda10.2-archive.tar.xz
3.使用指令进行对应文件的复制即可
cp include/cudnn*.h /usr/local/cuda-10.2/include/
cp lib/libcudnn* /usr/local/cuda-10.2/lib64/
chmod a+r /usr/local/cuda-10.2/include/cudnn.h
chmod a+r /usr/local/cuda-10.2/lib64/libcudnn*
4.执行以下命令,检查cudnn的安装
cat /usr/local/cuda-10.2/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
如出现以下输出,则安装成功
1.下载
官方链接 PyTorch
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
注意版本对应问题
2.查验是否成功 结果cuda不可用
结果cuda不可用,猜测NVIDIA应该并未安装成功,打算重装NVIDIA
1.下载
2.安装
chmod +x NVIDIA-Linux-x86_64-440.64.run
./NVIDIA-Linux-x86_64-440.64.run
报错了
后面加上-no-x-check 重新运行
sudo ./NVIDIA-Linux-X86_64-440.100.run -no-x-check
An NVIDIA kernel module 'nvidia' appears to already be loaded in your kernel. This may be because it is in use (for example, by an X server, a CUDA program, or the NVIDIA Persistence Daemon), but this may also happen if your kernel was configured without support for module unloading. Please be sure to exit any programs that may be using the GPU(s) before attempting to upgrade your driver. If no GPU-based programs are running, you know that your kernel supports module unloading, and you still receive this message, then an error may have occured that has corrupted an NVIDIA kernel module's usage count, for which the simplest remedy is to reboot your computer.
NVIDIA内核模块“NVIDIA”似乎已经加载到您的内核中。这可能是因为它正在使用(例如,由X服务器、CUDA程序或NVIDIA持久性守护进程使用),但如果您的内核配置不支持模块卸载,也可能会发生这种情况。在尝试升级驱动程序之前,请确保退出任何可能正在使用GPU的程序。如果没有基于GPU的程序正在运行,您知道您的内核支持模块卸载,并且您仍然收到此消息,那么可能发生了一个错误,该错误损坏了NVIDIA内核模块的使用计数,最简单的补救方法是重新启动计算机。
Installation has failed. Please see the file '/var/log/nvidia-installer.log' for details. You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com.
安装失败。请参阅文件“/var/log/nvidia安装程序”。详细信息请登录。您可以在www.nvidia的Linux驱动程序下载页面上的自述文件中找到关于修复安装问题的建议。通用域名格式。
最后重新装NVIDIA,又报错了,说似乎已经加载进来了,然后,就不知道怎么解决了,哪位大佬帮忙看看,哪一个步骤出错了