本篇文章主要介绍基于Linux系统的Tesla A30 GPU的硬件环境搭建深度学习环境,为训练和推理DeepSeek R1 提供必要的环境,篇幅最后也会介绍到MIG的一些常见报错解决方案。
Anaconda安装
- 进入 https://www.anaconda.com/download/success 选择Linux安装包。
- 右键复制下载链接:https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh
- 通过命令行下载:
wget https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh
- 运行并安装:
bash Anaconda3-2023.09-0-Linux-x86_64.sh
(可选)如果没有运行权限,需要加运行权限
sudo chomod +x Anaconda3-2023.09-0-Linux-x86_64.sh
- 通过source初始化对应路径下的conda
source ~/anaconda3/bin/activate
conda init
- 创建虚拟环境(建议python=3.10)
conda create -n your_name python=3.10
CUDA-driver & CUDA-toolkit & Pytorch安装
安装driver
进入网址:https://www.nvidia.com/en-us/drivers/
选择对应的版本安装
右键复制download的链接,https://cn.download.nvidia.com/tesla/560.35.03/nvidia-driver-local-repo-ubuntu2204-560.35.03_1.0-1_amd64.deb
在Linux内下载:
wget https://cn.download.nvidia.com/tesla/560.35.03/nvidia-driver-local-repo-ubuntu2204-560.35.03_1.0-1_amd64.deb
sudo dpkg -i nvidia-driver-local-repo-ubuntu2204-560.35.03_1.0-1_amd64.deb
sudo apt-get install cuda
安装过程非常漫长,如果中途断网输入:
sudo apt-get install cuda --fix-missing
把错配的显卡驱动(老版本)清理干净
sudo apt-get --purge remove nvidia-*
验证
nvidia-smi
安装toolkit
进入网址https://developer.nvidia.com/cuda-downloads
选择对应的操作系统、架构、版本进行安装
wget https://developer.download.nvidia.com/compute/cuda/12.6.1/local_installers/cuda_12.6.1_560.35.03_linux.runsudo
sh cuda_12.6.1_560.35.03_linux.run
更新环境变量
vim ~/.bashrc
export PATH=/usr/local/cuda-12.6/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.6/lib64:$LD_LIBRARY_PATH
注意:cuda-12.6需要根据自己下载的cuda版本进行更换,这里是最新的12.6。
source ~/.bashrc
更新更改的内容
#验证
nvcc -V
Pytorch安装
进入网址:https://pytorch.org/get-started/locally/
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
这里如果用不到torchvision
和torchaudio
,可以使用如下命令,避免等待时间过长
pip3 install torch --index-url https://download.pytorch.org/whl/cu124
通过Python代码中进行验证
import torch
torch.cuda.is_available()# 返回True
torch.cuda.device_count()
# 返回正确数量
至此,环境已经安装成功。但对于服务器,还得额外注意MIG的问题。
MIG相关
如果MIG显示N/A表示没有开启MIG。但如果存在enable和disable的情况,需要额外注意:
#disable->enable
nvidia-smi -i <GPU IDs> -mig 1
#enable->disable
nvidia-smi -i <GPU IDs> -mig 0
MIG的基本操作
MIG
的shell操作主要包括:查看命令、创建命令和删除命令。MIG的操作都要用root权限,所以如果是非root
用户,操作命令要加上sudo
字符,下面操作示例中默认用户是root
。
首先将这些操作例出来,然后对一些创建与删除操作进行讲解。
注意:使用MIG无法使用并行训练、推理,最好关闭。
- 一个进程中只有一个 MIG 实例可见。这是 CUDA 限制,与 PyTorch 无关。
- 这意味着不能在 PyTorch 上使用两个 MIG GPU 进行模型推理过程。
MIG的操作顺序概况为:
功能MIG -> 创建GI实例 -> 创建CI实例 -> 删除CI实例 -> 删除GI实例 -> 关闭MIG。
在分区 GPU 上运行任何 MIG 工作负载之前,启用 CUDA 模式,然后对 A30 进行分区。要划分 A30 ,请创建 GPU 实例,然后创建相应的计算实例。
下面是如果存在MIG,如何找到其配置文件进行修改的办法:
- 代表的含义
disable
后面的星号(*
)通常表示该功能或选项的当前状态是禁用的。
#检查 GPU 的当前 MIG 状态
nvidia-smi -i <GPU_ID> -q | grep MIG
#启用MIG
sudo nvidia-smi -i <GPU_ID> -mig 1
#重启GPU
sudo nvidia-smi -i <GPU_ID> --gpu-reset