在 CentOS 上加速 PyTorch 训练/推理,通常从硬件利用、软件环境、代码层面三方面入手。下面按实用程度总结:
nvidia-smi
若无输出,需安装驱动(CentOS 常用方式):
yum install -y gcc kernel-devel
# 使用官方 .run 或 ELRepo 驱动
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
验证:
import torch
print(torch.cuda.is_available())
model = torch.nn.DataParallel(model)
torchrun --nproc_per_node=4 train.py
torch.distributed.init_process_group("nccl")
model = torch.nn.parallel.DistributedDataParallel(model, device_ids=[local_rank])
torch.backends.cudnn.benchmark = 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()
numactl --interleave=all python train.py
ulimit -n 65535
/tmp 或本地盘DataLoader(
dataset,
batch_size=64,
num_workers=8,
pin_memory=True,
prefetch_factor=4
)
torch.set_num_threads(N)pip install intel-extension-for-pytorch
torch.compile()(PyTorch 2.x)model = torch.compile(model)
torch.inference_mode() 做推理如果你愿意,可以告诉我:
我可以给你一套可直接用的配置方案。