H20 大模型推理系统环境配置踩坑

基础环境

CPU:INTEL(R) XEON(R) PLATINUM 8558P 48 Cores 96 Threads × 2

GPU:NVIDIA H20-3e NVL 141G × 8,NVLINK × 4

MEM:2TB

SYS:Ubuntu Desktop 22.04 LTS

环境安装

八张H20 141GB显卡拥有1128G巨量显存,可以支持DeepSeek R1/V3全量部署

但客户公司没有运维人员懂如何安装显卡驱动,无奈我们软件人员为了完成任务只好接下硬件驱动安装问题。在使用常规方式安装驱动与容器工具包后,即使驱动与nvcc都能检测到显卡存在,容器内torch无法检测到正确的显卡数量导致无法正常执行推理。

root@fe29691aa24c:/vllm-workspace# python3
Python 3.12.11 (main, Jun  4 2025, 08:56:18) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
/usr/local/lib/python3.12/dist-packages/torch/cuda/__init__.py:174: UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). 
Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 802: system not yet initialized (Triggered internally at /pytorch/c10/cuda/CUDAFunctions.cpp:109.)

安装踩坑

  • 550版本驱动与H20显卡或者Ubuntu系统不兼容(不确定,没有时间继续测试了),导致开机系统加载驱动时卡死,需要尽量新版本驱动
  • .run格式驱动安装包依赖对应gcc版本,可以在/usr/bin内添加ccgcc对应版本(在570驱动下为gcc12)可执行文件的的软链接
  • 带有NVLINK桥的系统必须安装nvidia-fabricmanager依赖,否则即使驱动与nvcc显卡识别正常,torch也无法正常检测到显卡
  • nvidia-fabricmanager的大版本与小版本必须与显卡驱动完全对应,否则无法安装
  • nvidia-fabricmanager可下载的版本只有有限的一些:Index of /compute/cuda/repos/ubuntu2204/x86_64 (注意操作系统版本对应),需要首先确定可用nvidia-fabricmanager版本再确定cuda-driver、显卡驱动版本
  • 装驱动这一类动系统内核较高风险软件前,尽量提前问客户要服务器远程BMC权限,方便自己重装系统,防止后续可能出现的经常性系统级翻车带来的沟通麻烦和面子问题😂

正确安装步骤

  1. 确定Ubuntu系统版本
  2. 确定可下载的nvidia-fabricmanager版本并下载Index of /compute/cuda/repos/ubuntu2204/x86_64
  3. 根据可下载的fabricmanager版本找到对应的cuda-toolkit的.run文件并下载安装CUDA Toolkit Archive
    1. 配置cuda toolkit依赖:安装gcc-12;执行ln -s /usr/bin/cc /usr/bin/gcc-12
    2. 运行安装勾选驱动和toolkit安装
    3. 安装后重启
    4. 重启后系统未冻结且nvidia-smi与nvcc指令运行正常说明版本与硬件兼容良好
  4. 使用dpkg -i命令安装与驱动版本完全一致的nvidia-fabricmanager
  5. 正常安装docker、Nvidia Container Toolkit(最新版就可以)并运行工具配置docker
  6. 现在可以测试容器内torch与vllm的工作情况了

FAQ

如何确定系统是否带有NVLINK桥?

执行lspci | grep NVIDIA如果显示有bridge设备则带显卡桥

posted @ 2025-07-03 11:30  CamWang  阅读(1068)  评论(0)    收藏  举报