在 Ubuntu 上配置 PyTorch 的网络环境
一 目标与准备
lspci | grep -i nvidiasudo apt update && sudo apt upgrade -y && sudo apt install -y build-essential cmake git wgetbash Anaconda3-*.sh,安装后 source ~/anaconda3/bin/activate 并确认命令行前缀出现 (base)。二 安装驱动与 CUDA 工具链
nvidia-smi(右上显示 Supported/Runtime CUDA)。nvidia-smi 正常显示 GPU 型号、驱动版本、CUDA Runtime。nvcc -V 显示 CUDA 编译器版本;如需 cuDNN,按官方指引放置头文件与库并验证链接。三 创建 Conda 环境并安装 PyTorch
conda create -n pytorch_env python=3.8conda activate pytorch_envconda install pytorch torchvision torchaudio cpuonly -c pytorchconda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorchpython -c "import torch; print('PyTorch:', torch.__version__)"python -c "import torch; print('CUDA available:', torch.cuda.is_available())"。四 单机多卡与多机分布式网络配置
python -m torch.distributed.launch --nproc_per_node=2 --use_env train.pyexport GLOO_SOCKET_IFNAME=enp5s0(如使用 Gloo 后端);如使用 NCCL,可设置 NCCL_SOCKET_IFNAME。python -m torch.distributed.launch --nproc_per_node=2 --nnodes=2 --node_rank=0 --master_addr=192.168.1.10 --master_port=12355 train.py五 常见问题与快速排查
nvidia-smi 正常但 torch.cuda.is_available() 为 False
netstat -tulpen | grep 12355 检查端口监听;必要时设置 GLOO_SOCKET_IFNAME 或 NCCL_SOCKET_IFNAME 指定网卡。