Ubuntu Server 22.04 LTS安装CUDA[机器学习环境搭建]

4,567 阅读3分钟

本文主要介绍为Ubuntu安装Nvidia CUDA,演示的环境的硬件为AWS EC2 g4dn机型,它搭载了一颗服务器专用的T4 Tensor Core GPU,这台服务器运行Ubuntu Server 22.04 LTS

CUDA(Compute Unified Device Architecture)中文名称为统一计算设备架构,是 NVIDIA 发明的一种并行计算平台和编程模型,它可以充分利用GPU实现更高效的并行计算。

安装驱动

检查环境

输入uname -acat /etc/lsb-release进行操作系统检查 ubuntu-server-22--nvidia-cuda-1.png

检测显卡信息

输入lspci | grep VGAsudo lshw -C video查看显卡信息,我们可以看到Nvidia Tesla T4显卡 ubuntu-server-22--nvidia-cuda-2.png)

安装依赖项

我们先安装一些依赖项,比如gcc,g++,make

我们执行:sudo apt update -y && sudo apt upgrade -y && sudo apt install vim gcc g++ make python3-pip -y,安装完成后建议最好进行一次系统重启 ubuntu-server-22--nvidia-cuda-3.png

查询可用的Nvidia软件版本

我们可以运行nvidia-detectorubuntu-drivers devices,查看可以使用的驱动版本;如果上述的2条命令找不到,可以输入sudo apt install ubuntu-drivers-common进行安装。 ubuntu-server-22--nvidia-cuda-4.png

安装CUDA时,实际上整个过程有更新/安装Driver的动作。其实我们可以不提前安装Driver,而是在安装CUDA的时候自动安装,这样CUDA和Driver的兼容性会更好。所以完全没必要提前安装Driver,如果你有具体的Driver版本需求,你也可以参考机器学习环境搭建 安装Nvidia GPU Driver

检测驱动安装情况

我们运行nvidia-smicat /proc/driver/nvidia/version,我们可以看到我们现在没有安装任何版本的Driver。

ubuntu-server-22--nvidia-cuda-5.png

安装CUDA

安装CUDA 12.3.2

我们可以在CUDA Toolkit Archive下载,目前基于最新技术新特性与PyTorchTensorflow 2兼容性综合考虑,建议安装CUDA 12.3.2

ubuntu-server-22--nvidia-cuda-6.png

本文安装的是CUDA 12.3.2,可以访问CUDA 12.3.2获取

按照上面的说明,逐步执行如下的命令:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/cuda-repo-ubuntu2204-12-3-local_12.3.2-545.23.08-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-3-local_12.3.2-545.23.08-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-3-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-3
# 安装cuda-drivers
sudo apt-get install -y cuda-drivers

如果网络情况不错,安装过程需要大约10多分钟的时间,请等待.... 安装完成后请sudo reboot重启服务器。

配置环境变量

安装后,执行vim ~/.bashrc填如下面的配置,详情参考Post-installation Actions,修改完直接source ~/.bashrc生效环境变量。

export PATH=/usr/local/cuda-12.3/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.3/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.3/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

ubuntu-server-22--nvidia-cuda-8.png

校验 可以执行nvcc -V检测CUDA版本和nvcc版本

ubuntu-server-22--nvidia-cuda-9.png

同时也可以nvidia-smi查看安装CUDA时默认自动安装的Driver版本。

ubuntu-server-22--nvidia-cuda-7.png

我们可以下载github cuda-samples到本地,然后进入文件夹,运行make编译,最后运行./deviceQuery对CUDA测试

# 安装依赖
sudo apt-get install libfreeimage3 libfreeimage-dev

# 下载
wget https://codeload.github.com/NVIDIA/cuda-samples/tar.gz/refs/tags/v12.3
# 解压
tar -zxvf v12.3
# 编译
make

ubuntu-server-22--nvidia-cuda-10.png ubuntu-server-22--nvidia-cuda-11.png

make编译完成后效果如下

报错不影响检查Make failed in v12.3 for cuDLALayerwiseStatsHybrid and cuDLALayerwiseStatsStandalone ubuntu-server-22--nvidia-cuda-14.png

我们运行./deviceQuery进行测试,这个文件的路径为bin/x86_64/linux/release,当出现pass时表示CUDA安装完成并通过了测试

ubuntu-server-22--nvidia-cuda-13.png

参考