1.安装英伟达显卡驱动
首先需要到NAVIDIA官网去查自己的电脑是不是支持GPU运算。
网址是:CUDA GPUs | NVIDIA Developer。打开后的界面大致如下,只要里边有对应的型号就可以用GPU运算,并且每一款设备都列出来相关的计算能力(Compute Capability)。
明确了显卡性能后,接下来就开始在Ubuntu20.04中安装对应的显卡驱动。
首先,检测NVIDIA图形卡和推荐的驱动程序的模型,在终端输入:
ubuntu-drivers devices
具体可以使用下面的命令安装:
sudo ubuntu-drivers autoinstall
或者去官网下载驱动再手动安装的方式,命令官网上有。
安装完成后重启系统,然后在终端中输入命令检测是否安装成功:
nvidia-smi
效果如下图所示:
2.安装CUDA
首先要知道硬件支持的CUDA版本:
在上图右上角我们看到“CUDA Version:12.2”,这个表明对于这款显卡,我们后面要装的CUDA版本最高不能超过12.2。
其次要明确CUDA版本需求:
本文最终的目的是装好深度学习环境,这里指的是最终能够正常的使用pytorch和paddlepaddle。这两款是当前使用比较多的深度学习框架,pytorch侧重于科研和模型验证,paddlepaddle更适合工业级深度学习开发部署(当然也可以使用tensorflow)。
为了能够使用他们,我们接下来需要按照顺序安装CUDA、cuDNN、nccl、paddlepaddle、pytorch。
在正式安装前我们首先要来确定当前的版本一致性,否则装到后面就会发现各种版本问题了。
前面2.2节我们装好了对应显卡的驱动,并且我们通过nvidia-smi命令知道了当前驱动最高适配到CUDA11.4,因此,我们后面安装的CUDA版本不能超过11.4。
接下来我们先看paddlepaddle和pytorch官网目前稳定版所支持的cuda。
paddlepaddle目前官网安装界面如下图所示:
pytorch官网安装界面:
尽量选择两个框架都支持的了,并且本机驱动也支持的CUDA版本。
接下来开始安装:
首先在英伟达官网下载cuda12.2进行安装即可。
这里选择CUDA Toolkit 12.2.0,单击进入下载页面。然后按照下图所示进行选择:
按照runfile(local)安装的方式简单,只需要在终端输入图中下方的两条NVIDIA推荐的命令就好了。
为了提高下载速度,可以先在windows上将这个run文件下载下来,然后再拷贝到Ubuntu服务器上进行安装。
在安装过程中会跳出一些选择界面,首先是 Abort和continue,选择continue。然后输入accept后出现CUDA Installer,如果已经安装过NVIDIA的驱动了,而弹出的CUDA Installer 自带显卡驱动,需要按空格去掉安装显卡驱动的选项(如果不去掉可能会引起驱动冲突),然后选择install。
最后一步,配置环境变量:
在终端输入下面的命令打开文件:
gedit ~/.bashrc
在文件结尾输入以下语句,保存:
export PATH=/usr/local/cuda-12.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
上面语句需要结合自己安装的CUDA版本对照着修改即可,此处是CUDA12.2版本。
最后,更新环境变量配置:
source ~/.bashrc
至此cuda安装完成,输入nvcc -V命令查看cuda信息。
如果没有输出,证明没有安装成功,此时基本只能重装系统,想想哪里和上面的步骤不一致,然后按上面的过程再来一遍。
如果想要卸载CUDA(例如重新安装了驱动等情况),需要使用下面的命令:
cd /usr/local/cuda-xx.x/bin/
sudo ./cuda-uninstaller
sudo rm -rf /usr/local/cuda-xx.x
3.安装CUDNN
安装CUDNN的过程相对比较简单。上官网进行下载。
选择对应的CUDA版本,单击后选择cuDNN Library for Linux(x86_64)下载安装包。
然后打开终端输入类似下面的命令进行解压并拷贝安装:
tar -xf cudnn-linux-x86_64-8.9.3.28_cuda12-archive.tar.xz
cp cuda/lib/* /usr/local/cuda-12.2/lib64/
cp cuda/include/* /usr/local/cuda-12.2/include/
注意,将上面的版本替换为你自己的版本。到这里就安装完成了。其实,cuDNN的安装本质上就是复制一堆的文件到CUDA中去。
我们可以使用如下的命令查看cuDNN的信息:
cat /usr/local/cuda-11.1/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
CUDN + cuDNN安装完成,我们可以监控一下gpu状态:
watch -n 1 nvidia-smi
如果能有输出,就证明cuda和cudnn能正确匹配。
4.安装NCCL
由于深度学习分布式训练需要nccl支持,因此本小节来安装nccl。
首先从官网下载对应版本的nccl.
单击对应版本的nccl进行本地下载或在线下载:
本地下载需要执行以下命令:
sudo dpkg -i nccl-local-repo-ubuntu2004-2.19.3-cuda12.2_1.0-1_amd64.deb
sudo apt-get update
sudo apt install libnccl2=2.19.3-1+cuda12.2 libnccl-dev=2.19.3-1+cuda12.2
5.安装anconda
首先下载Anaconda3
在[清华镜像]下载Linux版本的anaconda
清华镜像官网Anaconda下载
这里选择的是Anaconda3-5.0.0-Linux-x86_64.sh
在用户文件夹下新建一个名为anaconda的文件夹,并将刚刚下载的文件放在此文件夹中,执行以下命令:
bash Anaconda3-5.0.0-Linux-x86_64.sh
需要都很多页协议,不断按回车键跳过。
出现询问时就输入yes
之后选择默认的安装目录,按回车确定。
出现询问是否初始化或配置环境变量就输入yes
安装完成。
创建虚拟环境:
conda create -n 环境名 python=版本号
进入虚拟环境:
conda activate 环境名
即可进行环境的安装。
6. 安装PaddlePaddle
这里参照官网进行安装即可:
最后进行验证。
使用 python 或 python3 进入python解释器,输入:
import paddle
paddle.utils.run_check()
如果出现PaddlePaddle is installed successfully!,说明您已成功安装。同时会显示当前可以并行使用的GPU数量。
7.安装Pytorch
参照官网命令进行安装:
最后验证安装是否成功。
打开Python,输入以下命令:
import torch
print(torch.cuda.is_available())
正常的话输出“True”。
参考文献:
一文掌握Ubuntu20.04深度学习环境搭建(显卡驱动、CUDA、CUDNN、NCCL、Pytorch、PaddlePaddle)
Ubuntu安装Anaconda详细步骤(Ubuntu22.04.1,Anaconda3-2023.03)