【稀缺实测】全网缺货的B300我们搞来了!Ubuntu 22.04 + SGLang 部署 GLM-5.2-FP8 全流程实录

发布时间:2026/9/27 22:10:49
【稀缺实测】全网缺货的B300我们搞来了!Ubuntu 22.04 + SGLang 部署 GLM-5.2-FP8 全流程实录 1. B300 上跑 GLM-5.2-FP8为什么很多人卡在第一步B300 现在属于想买不一定买得到、买到了也不一定一次点亮的硬件。它用的是 Blackwell 架构算力和 FP8 能力都比上一代强但代价是整条软件栈必须一起升级驱动、Fabric Manager、CUDA、DOCA-OFED、NCCL、PyTorch、SGLang任何一层版本对不上表现都不是“报个错”这么简单而是 GPU 能识别、多卡却通信失败或者服务卡在 load checkpoint 阶段不动。这篇记录的是我在 Ubuntu 22.04 上从裸机系统一路配到 SGLang 成功加载 GLM-5.2-FP8、并用 8 卡 Tensor Parallel 跑通一次推理请求的完整过程。适合手里有 B300 机器、准备做 FP8 推理验证的工程师也适合正在评估“新卡到底能不能直接上生产”的团队。核心检索词就三个B300、Ubuntu 22.04、SGLang 部署 GLM-5.2-FP8。我踩过的坑集中在两处一是以为 nvidia-smi 正常就万事大吉结果 nvlink 状态报错二是 NCCL 悄悄 fallback 到 SOCKET吞吐直接掉一截。所以下面每一步我都会给出“验证动作”跑不通就别往下走这样排障成本最低。2. 部署前先把版本锁死别边装边升B300 部署最容易犯的错是把它当成 A100/H100 的“换卡即用”。实际上 Blackwell 的新特性需要更高版本软件栈才能释放所以第一步不是敲命令而是把版本清单定下来全程不升级。组件推荐版本说明操作系统Ubuntu 22.04 LTS长期支持驱动兼容性好内核5.15与 580 驱动兼容NVIDIA 驱动580.159.04B300 专用Fabric Manager580.159.04-1必须与驱动严格一致CUDA Toolkit13.0Blackwell 完整特性DOCA-OFED24.10-4.1.4.0高速网络与 GPUDirect RDMANCCLCUDA 13 对应版本多卡/多机通信PyTorch2.5 cu130推理框架依赖推理框架SGLang支持 FP8 / MoE / TP模型GLM-5.2-FP8量化配置需匹配注意驱动和 Fabric Manager 版本必须严格一致。我实测遇到过 Fabric Manager 小版本落后导致nvidia-smi nvlink --status直接报错、多卡通信建不起来。推荐执行顺序是系统准备禁 Nouveau→ DOCA-OFED 与 InfiniBand → 驱动 → Fabric Manager → CUDA 13 → Python/PyTorch/SGLang → 系统优化 → 启动服务 → benchmark。每装一层验证一层别一口气装完再排错。3. 从裸机到可推理可复制的配置与命令3.1 系统准备与禁用 Nouveausudo apt update sudo apt upgrade -y sudo apt install -y build-essential dkms linux-headers-$(uname -r) \ wget curl vim git net-tools pciutils ethtool openssh-server python3-pip sudo bash -c cat /etc/modprobe.d/blacklist-nouveau.conf EOF blacklist nouveau options nouveau modeset0 EOF sudo update-initramfs -u sudo reboot重启后验证lsmod | grep nouveau # 应无输出 lspci | grep -i nvidia # 应能看到 B3003.2 安装 DOCA-OFED 并验证高速网络cd ~/downloads wget https://content.mellanox.com/ofed/MLNX_OFED-24.10-4.1.4.0/MLNX_OFED_LINUX-24.10-4.1.4.0-ubuntu22.04-x86_64.tgz tar -xzf MLNX_OFED_LINUX-24.10-4.1.4.0-ubuntu22.04-x86_64.tgz cd MLNX_OFED_LINUX-24.10-4.1.4.0-ubuntu22.04-x86_64 sudo ./mlnxofedinstall --all --with-doca sudo /etc/init.d/openibd restart ofed_info -s ibstatibstat里链路状态应为 Active。这里提醒一句ping 通只代表 IP 可达不代表 RDMA / InfiniBand / NCCL 链路正常别用 ping 当验收标准。3.3 安装驱动 580.159.04cd ~/downloads/nvidia_driver wget https://us.download.nvidia.com/XFree86/Linux-x86_64/580.159.04/NVIDIA-Linux-x86_64-580.159.04.run chmod x NVIDIA-Linux-x86_64-580.159.04.run sudo systemctl isolate multi-user.target sudo ./NVIDIA-Linux-x86_64-580.159.04.run sudo reboot安装选项里接受协议、自动更新 X 配置选 No、运行 nvidia-xconfig 选 No。重启后nvidia-smi # Driver Version: 580.159.04CUDA Version: 13.03.4 安装 Fabric Manager 并验证多卡互通distribution$(. /etc/os-release; echo $ID$VERSION_ID | sed -e s/\.//g) wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/cuda-keyring_1.0-1_all.deb sudo dpkg -i cuda-keyring_1.0-1_all.deb sudo apt update sudo apt install -y nvidia-fabricmanager-580580.159.04-1 sudo systemctl start nvidia-fabricmanager sudo systemctl enable nvidia-fabricmanager sudo systemctl status nvidia-fabricmanager nvidia-smi nvlink --status服务应为 activenvlink 状态不报错。这一步过了多卡 P2P 才有基础。3.5 安装 CUDA 13.0 与 Python 环境wget https://developer.download.nvidia.com/compute/cuda/13.0.0/local_installers/cuda_13.0.0_580.32.07_linux.run chmod x cuda_13.0.0_580.32.07_linux.run sudo sh cuda_13.0.0_580.32.07_linux.run --silent --toolkit --samples echo export CUDA_HOME/usr/local/cuda-13.0 ~/.bashrc echo export PATH$CUDA_HOME/bin:$PATH ~/.bashrc echo export LD_LIBRARY_PATH$CUDA_HOME/lib64:$LD_LIBRARY_PATH ~/.bashrc source ~/.bashrc nvcc --version # release 13.0sudo add-apt-repository ppa:deadsnakes/ppa -y sudo apt update sudo apt install -y python3.11 python3.11-venv python3.11-dev curl -sS https://bootstrap.pypa.io/get-pip.py | python3.11 python3.11 -m venv ~/b300-env source ~/b300-env/bin/activate pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu130 pip install transformers accelerate sglang flash-attn --no-build-isolation python -c import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))torch.cuda.is_available()返回 True 才算环境通了。3.6 系统级优化sudo nvidia-smi -pm 1 sudo nvidia-smi -pl 700 sudo bash -c cat /etc/security/limits.conf EOF * soft nofile 65536 * hard nofile 65536 * soft memlock unlimited * hard memlock unlimited EOF sudo bash -c cat /etc/sysctl.conf EOF kernel.shmmax 68719476736 kernel.shmall 16777216 EOF sudo sysctl -p注意透明大页THP建议单独确认状态别把无关服务当成 THP 配置命令照抄生产环境以系统文件实际状态为准。3.7 启动 GLM-5.2-FP8 推理服务docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v /models:/models \ --ipchost \ -e PYTHONUNBUFFERED1 \ -e NCCL_DEBUGWARN \ lmsysorg/sglang:latest \ sglang serve \ --model-path /models/GLM-5.2-FP8 \ --tp 8 \ --mem-fraction-static 0.8 \ --enforce-disable-flashinfer-allreduce-fusion \ --host 0.0.0.0启动日志里重点看CUDA 13.0.1、NCCL 2.28.9cuda13.0、DeepGemm 启用、8 个 TP rank 依次初始化完成、服务监听 0.0.0.0:30000。4. 验证请求健康检查与一次真实推理服务起来后先做健康检查curl http://127.0.0.1:30000/health返回 200 即服务存活。再发一次真实推理请求curl http://127.0.0.1:30000/v1/chat/completions \ -H Content-Type: application/json \ -d { model: /models/GLM-5.2-FP8, messages: [{role: user, content: 用一句话解释什么是 FP8 量化}], max_tokens: 128, temperature: 0.7 }能正常返回内容说明模型加载、TP 切分、FP8 推理链路全部打通。随后用 SGLang benchmark 压测本次 8 卡 TP 实测结果如下指标实测结果后端sglang最大并发16成功请求数8压测时长8.63 s请求吞吐0.93 req/s输入 token 吞吐4449.39 tok/s输出 token 吞吐309.28 tok/s峰值输出吞吐607.00 tok/s总 token 吞吐4758.67 tok/s平均并发5.13延迟方面TTFT 约 1.3s本次输入 token 总量 38412属长上下文预填充开销大TPOT 约 12.7–13 ms/tokenP99 E2E 约 8.5s。TPOT 稳定说明 FP8 生成链路没问题P99 偏高说明并发接近上限时排队明显生产环境别只看均值。5. 本篇常见错排查nvidia-smi 正常但 nvlink 报错几乎都是 Fabric Manager 版本和驱动不一致用 apt 装指定版本nvidia-fabricmanager-580580.159.04-1别手动混装多个 deb。卡在 load checkpoint先查/models/GLM-5.2-FP8在容器内是否存在、挂载是否成功再查 FP8 量化配置和 SGLang 版本是否匹配。--tp 8启动失败确认docker --gpus all、nvidia-smi可见卡数、CUDA_VISIBLE_DEVICES三者一致。吞吐明显偏低开 NCCL 日志确认是否走 IB出现 SOCKET fallback 就回头查 DOCA-OFED 和 ibstat。报 CUDA capability 10.0 required多半是误装 CUDA 12 或 PyTorch 不是 cu130 版本回退到第 3.5 步重装。多卡 P2P 失败检查systemctl status nvidia-fabricmanager是否 active未启动就 enable 后重启。6. 把服务接进你的日常开发流单机 8 卡跑通只是起点。如果你后续要把这套推理服务接进编码助手、Agent 或内部工具链建议先把 API Key 和接入文档理顺避免每次调试都手动拼请求。可以到 TaoToken API Keys 生成密钥接入方式参考 TaoToken 接入文档想先验证模型对话效果可以直接用 模型对话。如果是要长期跑编码类任务或 Agent 工作流Coding Plan 更适合按周期使用需要看资源用量和调用情况就去 控制台。官网入口在 taotoken.net。最后补一句实操经验B300 这套栈真正耗时间的从来不是最后那条sglang serve而是前面驱动、Fabric Manager、CUDA、DOCA-OFED、NCCL 的逐项对齐。把每一层的验证命令都跑一遍再往下走比事后对着日志猜要省太多时间。