(1)查看操作系统的版本信息:cat /etc/issue或 cat /etc/lsb-release
(2)查看服务器显卡信息:
A. lspci | grep -i nvidia查看全部显卡信息
B. nvidia-smi 查看已经安装了对应的显卡驱动
C. cat /proc/driver/nvidia/version查看安装的显卡的驱动信息。
显卡驱动的安装需要根据操作系统的版本进行选择。
(1) 安装驱动前必须先安装gcc
由于ubuntu22默认安装的是gcc版本是11.x, 在驱动安装过程中会出现不匹配问题,需要将gcc版本指定为9。
sudo apt -y install gcc-9 g++-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 9
后边两行用于将刚安装的gcc和g++类似于注册的操作加入到bin中,用于可选择操作。也就是说通过这个操作不断向系统注册新的gcc和g++版本。
/usr/local/cuda-11.1/bin/gcc -> /usr/bin/gcc-9
/usr/local/cuda-11.1/bin/ar -> /usr/bin/gcc-ar-9
/usr/local/cuda-11.1/bin/ranlib -> /usr/bin/gcc-ranlib-9
/usr/local/cuda-11.1/bin/nm -> /usr/bin/gcc-nm-9
更新链接配置
sudo ln -s /usr/bin/gcc-9 /usr/local/cuda-11.1/bin/gcc
添加到PATH
export PATH=/usr/local/gcc/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc/lib64
export MANPATH=/usr/local/gcc/share/man:$MANPATH
用gcc --version
或gcc -v
查看安装的版本号
(2) Nvidia驱动安装
Note: 旧版本的显卡驱动完全卸载
sudo sh NVIDIA-Linux-x86_64-xxx.xx.xx.run -- uninstall
或
sudo /usr/bin/nvidia-uninstall
此外,安装之前,需要先禁用。
sudo vim /etc/modprobe.d/blacklist.conf
在文件的最后面加入以下的内容:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
检查操作是否成功:lsmod | grep nouveau
没显示即成功。
更新initramfs,需要稍微等一会
sudo update-initramfs -u
重启系统。
验证屏蔽是否成功,执行下面语句,结果为空,即为成功。
lsmod | grep nouveau
Nvidia驱动下载
由于Linux系统是Ubuntu22, 因此cuda Toolkit选择11.2。
将下载好的显卡驱动上传到服务器进行安装。
chmod +x NVIDIA-Linux-x86_64-460.106.00.run
sudo bash ./NVIDIA-Linux-x86_64-460.106.00.run
采用上述命令进行驱动的安装。安装完成之后,可以采用以下命令进行检查:
nvidia-smi
(3)下载对应版本的cuda, 选择cuda v11.1.0。
下载cuda .run文件并进行安装
wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
sudo sh cuda_11.1.0_455.23.05_linux.run
nvidia accelerated graphics driver ,n 。重复安装会报错
其他的都选yes。
软连接的建立。注意还有一个选项是软连接的建立,会在/usr/local/下面建立一个软连接cuda该软连接连接到安装的真正的cuda-11.1的地址。软连接的建立可以用于多个版本的cuda的管理。
修改软连接就可以修改cuda的版本。
sudo vim ~/.bashrc加入以下的内容:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
删除旧的软连接再建立新的软连接的方式来实现不同版本的cuda的切换。
sudo rm -rf cuda # 删除旧版本的软连接
sudo ln -s /usr/local/cuda-9.1 /usr/local/cuda # 建立新版本的软连接,前面的路径是需要的版本的cuda的安装路径。
(4) 安装对应的cudnnv8.2.1。
上传到服务器安装。
解压:
tar zxvf cudnn-11.3-linux-x64-v8.2.1.32.tgz
解压之后得到一个 cuda文件夹。采用如下的操作进行cudnn的安装。(这时候的cudnn要直接安装到对应的版本的cuda的真实的安装路径中。这样建立软连接的时候才会读到cudnn文件)
sudo cp cuda/include/cudnn.h /usr/local/cuda-11.1/include # 填写对应的版本的cuda路径
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.1/lib64 # 填写对应的版本的cuda路径
sudo chmod a+r /usr/local/cuda-11.1/include/cudnn.h /usr/local/cuda-11.1/lib64/libcudnn*
(5) Anaconda安装
sudo bash Anaconda3-2022.10-Linux-x86_64.sh
安装。安装过程需要同意将安装路径加入到环境变量的配置文件中。
source ~.bashrc
使其生效。
建立自己新的环境 conda create-n your_name python=your_version
激活新的环境 source activate your_name
(6) Pytorch安装(1.10.1)
pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/torch_stable.html
测试
python # 进入python 环境
import torch # 导入安装的pytorch包
torch.cuda.is_available() # 检查cuda是否可以使用
如果torch.cuda.is_available()如果输出是false,那就表示前面的驱动或者cuda的安装有问题,最可能的就是驱动。直接卸载重新安装显卡驱动即可解决问题。
参考:
1.https://blog.csdn.net/kingfoulin/article/details/98872965
2.https://zhuanlan.zhihu.com/p/527283224