在 CentOS 上加速 PyTorch,一般从 硬件加速、软件环境、代码层面 三个方向入手。下面按实用性从高到低说明。
nvidia-smi
有输出说明有 GPU。
CentOS 常见做法:
# 查看显卡
lspci | grep -i nvidia
# 安装驱动(示例)
yum install kmod-nvidia
# 或官方 run 文件
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
import torch
print(torch.cuda.is_available())
print(torch.cuda.get_device_name(0))
torch.set_num_threads(8) # 根据 CPU 核数
DataLoader(..., num_workers=8, pin_memory=True)
CentOS 默认可能没开 MKL:
pip install intel-extension-for-pytorch
或安装 MKL:
yum install mkl mkl-devel
验证:
torch.__config__.show()
from torch.cuda.amp import autocast, GradScaler
scaler = GradScaler()
with autocast():
output = model(input)
loss = criterion(output, target)
scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()
scripted = torch.jit.script(model)
scripted(input)
cpupower frequency-set -g performance
ulimit -n 65535
❌ 用系统 Python(太老)
✅ 用 conda 或 pyenv
❌ 用 CPU PyTorch 跑 GPU 模型
✅ 确认 torch.cuda.is_available()
❌ yum 源 CUDA 太旧
✅ 官方 CUDA run 文件
| 场景 | 推荐 |
|---|---|
| 有 GPU | CUDA + AMP |
| 纯 CPU | MKL + 多线程 |
| 推理 | ONNX / TensorRT |
| 训练慢 | DataLoader + AMP |
如果你愿意,可以告诉我:
我可以直接给你一套可复制的安装命令。