本文主要介绍为Ubuntu安装Nvidia CUDA,演示的环境的硬件为AWS EC2 g4dn机型,它搭载了一颗服务器专用的T4 Tensor Core GPU,这台服务器运行Ubuntu Server 22.04 LTS。
CUDA(Compute Unified Device Architecture)中文名称为统一计算设备架构,是 NVIDIA 发明的一种并行计算平台和编程模型,它可以充分利用GPU实现更高效的并行计算。
安装驱动
检查环境
输入uname -a和cat /etc/lsb-release进行操作系统检查
检测显卡信息
输入lspci | grep VGA和sudo lshw -C video查看显卡信息,我们可以看到Nvidia Tesla T4显卡
安装依赖项
我们先安装一些依赖项,比如gcc,g++,make
我们执行:sudo apt update -y && sudo apt upgrade -y && sudo apt install vim gcc g++ make python3-pip -y,安装完成后建议最好进行一次系统重启
查询可用的Nvidia软件版本
我们可以运行nvidia-detector和ubuntu-drivers devices,查看可以使用的驱动版本;如果上述的2条命令找不到,可以输入sudo apt install ubuntu-drivers-common进行安装。
安装CUDA时,实际上整个过程有更新/安装Driver的动作。其实我们可以不提前安装Driver,而是在安装CUDA的时候自动安装,这样CUDA和Driver的兼容性会更好。所以完全没必要提前安装Driver,如果你有具体的Driver版本需求,你也可以参考机器学习环境搭建 安装Nvidia GPU Driver。
检测驱动安装情况
我们运行nvidia-smi和cat /proc/driver/nvidia/version,我们可以看到我们现在没有安装任何版本的Driver。
安装CUDA
安装CUDA 12.3.2
我们可以在CUDA Toolkit Archive下载,目前基于最新技术新特性与PyTorch、Tensorflow 2兼容性综合考虑,建议安装CUDA 12.3.2。
本文安装的是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}}
校验
可以执行nvcc -V检测CUDA版本和nvcc版本
同时也可以nvidia-smi查看安装CUDA时默认自动安装的Driver版本。
我们可以下载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
make编译完成后效果如下
报错不影响检查:Make failed in v12.3 for cuDLALayerwiseStatsHybrid and cuDLALayerwiseStatsStandalone
我们运行./deviceQuery进行测试,这个文件的路径为bin/x86_64/linux/release,当出现pass时表示CUDA安装完成并通过了测试