在 CentOS 上跑 PyTorch 慢,通常不是 PyTorch 本身的问题,而是环境或配置导致的。下面按“最常见 → 较少见”给你梳理原因和排查方法。
现象:
nvidia-smi 能看到 GPU,但 PyTorch 里 torch.cuda.is_available() 是 False检查
python -c "import torch; print(torch.cuda.is_available())"
解决
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
现象:
AVX2 not enabled原因:
解决
gcc --version
yum install centos-release-scl
yum install devtoolset-11
scl enable devtoolset-11 bash
现象:
top 看到 python 占满 CPU原因
num_workers=0pin_memory解决
DataLoader(..., num_workers=8, pin_memory=True)
并且:
.pt / .npy现象:
解决
torch.save 预加载到内存lscpu | grep MHz
如果频率很低:
cpupower frequency-set -g performance
检查
nvidia-smi -q -d UTILIZATION
numactl --hardware
多卡训练要绑定 CPU:
torchrun --nproc_per_node=2 ...
x = x.cpu()
或:
print(loss.item()) # 会同步 GPU
nvidia-smi
python -c "import torch; print(torch.__version__, torch.cuda.is_available())"
htop
iostat -x 1
你可以补充:
torch.cuda.is_available() 结果我可以直接帮你定位到具体哪一项。