在 CentOS 上加速 PyTorch 训练/推理,通常从硬件加速、软件环境、代码层面、系统配置几个方向入手。下面给你一套实用清单(重点上标⭐)。
不要用 pip 默认 CPU 版。
# CUDA 11.8 示例
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
验证:
import torch
print(torch.cuda.is_available())
print(torch.version.cuda)
device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device)
x = x.to(device)
nvidia-smi
如果没有输出:
.run 驱动export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
sudo cpupower frequency-set -g performance
numactl --interleave=all python train.py
torch.compile(PyTorch 2.x)model = torch.compile(model)
torch.backends.cudnn.benchmark = True
torch.backends.cudnn.enabled = True
from torch.cuda.amp import autocast, GradScaler
scaler = GradScaler()
with autocast():
output = model(x)
loss = loss_fn(output, y)
scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()
DataLoader(
dataset,
batch_size=64,
num_workers=8,
pin_memory=True,
prefetch_factor=4
)
CentOS 上注意:
num_workers 一般 = CPU 核数torchrun --nproc_per_node=2 train.py
torch.distributed.init_process_group("nccl")
model = torch.nn.parallel.DistributedDataParallel(model)
使用 nccl + 高速网络(InfiniBand 最佳)
torch.utils.checkpointnvidia-smi
htop
iostat -x 1
常见问题:
✅ CentOS + CUDA + DDP + AMP + torch.compile
✅ 本地 SSD + pin_memory
✅ cudnn.benchmark=True
如果你愿意,可以告诉我:
我可以直接给你最优配置命令。