已知问题#

在 /usr/share/misc/pci.ids 中未找到 DGX 系统设备 ID#

问题#

当您运行以下命令以应用默认的 mig-parted 配置时,nvidia-mig-parted 工具会发出警告,指出无法找到 DGX 系统的设备 ID

$ sudo nvidia-mig-parted apply -f /etc/nvidia-mig-manager/config-default.yaml -c all-balanced -k /etc/nvidia-mig-manager/hooks-default.yaml

2024/09/05 01:00:00 WARNING: unable to get device name: [failed to find device with id '22a3']
2024/09/05 01:00:00 WARNING: unable to get device name: [failed to find device with id '22a3']
2024/09/05 01:00:00 WARNING: unable to get device name: [failed to find device with id '22a3']

解决方法#

通过运行 update-pciids 命令,使用当前版本的 PCI ID 列表更新系统

sudo update-pciids

不支持虚拟化#

问题#

虚拟化技术,例如 ESXi hypervisor 或基于内核的虚拟机 (KVM),并非 DGX 系统的预期用例,并且未经测试。

OpenSM 日志过度增长导致 DGX 系统变得无法运行#

问题#

异常大的 /var/log/opensm.log 文件可能导致 DGX 系统变得无法运行。

说明#

在 MLNX_OFED 或 DOCA OFED 软件的安装过程中,也会安装 opensm 软件包。默认情况下,OpenSM 处于禁用状态。在启用 OpenSM 的系统上,应配置 /etc/logrotate.d/opensm 文件以包含以下选项,从而管理 opensm.log 文件的大小

  • 日志轮换的最大日志文件大小,例如 maxsize 10Mmaxsize 100M

  • 轮换持续时间,例如 dailyweeklymonthly

不指定这两个配置选项可能会导致异常大的 /var/log/opensm.log 文件,从而导致 DGX 系统变得无法运行。有关 OpenSM 网络拓扑、配置和启用的更多信息,请参阅 NVIDIA OpenSM 文档。

从 5.X 升级到 6.2.0 后 DCGM 版本不正确#

问题#

在从 DGX OS 5.X 升级到 DGX OS 6.2.0 的过程中,NVIDIA® Data Center GPU Manager (DCGM) 的版本未更新到最新版本。

解决方法#

当您从基础操作系统 5.x 升级到基础操作系统 6.2.0 时,DCGM 可能不会自动升级。为确保安装最新 DCGM 版本,请在升级和重启完成后运行以下命令

sudo apt update
sudo apt upgrade

在气隙系统上加载镜像存储库时发生错误#

问题#

当您运行 apt update 命令以在气隙系统上加载镜像存储库时,会出现以下错误消息

File not found - /media/repository/mirror/security.ubuntu.com/ubuntu/dists/jammy-security/main/cnf/Commands-amd64 (2: No such file or directory)
Failed to fetch file:/media/repository/mirror/security.ubuntu.com/ubuntu/dists/jammy-security/main/cnf/Commands-amd64  File not found - /media/repository/mirror/security.ubuntu.com/ubuntu/dists/jammy-security/main/cnf/Commands-amd64 (2: No such file or directory)

说明#

发生此问题的原因是 Ubuntu 23.10 中提供的 apt-mirror 软件包的修复程序尚未在 Ubuntu 22.04 存储库中实施。如果您正在使用 apt-mirror 软件包

  • 版本高于 0.5.4-1:请提交支持案例,联系 NVIDIA 企业服务。

  • 版本 0.5.4-1:使用以下解决方法来镜像存储库。

您可以运行以下命令来确定您的 apt-mirror 软件包的版本

$ dpkg -l | grep apt-mirror

ii  apt-mirror                  0.5.4-1               all             APT sources mirroring tool

解决方法#

要解决此问题,请按照以下说明使用 Ubuntu 23.10 Docker 镜像

  1. 在具有网络访问权限的 Ubuntu 20.04 或更高版本系统上,格式化可移动 USB 闪存驱动器并将该驱动器挂载到 /media。例如,

    sudo mkfs.ext4 device
    sudo mount -t ext4 device /media
    
  2. 创建一个空目录,并使其可由可以访问 Docker 容器的用户(例如 joe)访问。

    mkdir /media/repository
    chown joe /media/repository
    chmod 755 /media/repository
    
  3. 作为步骤 2 中指定的用户,创建以下两个文件

    ./mirror.list
    
    set base_path /media/repository
    set run_postmirror 0
    set nthreads 20
    set _tilde 0
    deb http://security.ubuntu.com/ubuntu jammy-security main multiverse universe restricted
    deb http://archive.ubuntu.com/ubuntu/ jammy main multiverse universe restricted
    deb http://archive.ubuntu.com/ubuntu/ jammy-updates main multiverse universe restricted
    deb [ arch=amd64 ] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /
    deb [ arch=amd64 ] https://repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy common dgx
    deb [ arch=amd64 ] https://repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy-updates common dgx
    deb https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /
    deb [ arch=amd64 ] https://repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy common dgx
    deb [ arch=amd64 ] https://repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy-updates common dgx
    
    ./Dockerfile
    
    FROM ubuntu:23.10
    ENV DEBIAN_FRONTEND=noninteractive
    RUN apt update
    RUN apt install -y apt-mirror
    COPY ./mirror.list /etc/apt/mirror.list
    RUN chmod 644 /etc/apt/mirror.list
    
    CMD ["apt-mirror"]
    
  4. 作为步骤 2 中指定的用户,运行以下命令以在 /media/repository 上构建镜像。

    docker build -t dgxos6mirror .
    docker run --rm -it -v /media/repository/:/media/repository dgxos6mirror
    

    注意

    此步骤需要很长时间才能完成,因为有将近 1 TB 的数据需要下载。

  5. 从联网系统中卸载 media 目录

    sudo umount /media
    
  6. media 目录移动并挂载到目标 DGX 系统

    sudo mount -t <device> /media
    
  7. 以 root 用户身份,编辑 sources.listcuda-compute-repo.listdgx.listnvhpc.list 文件,以指向正确的本地镜像,如下所示

    /etc/apt/sources.list
    deb file:///media/repository/mirror/archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
    deb file:///media/repository/mirror/archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
    deb file:///media/repository/mirror/security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
    
    /etc/apt/sources.list.d/cuda-compute-repo.list
    deb [arch=amd64 signed-by=/usr/share/keyrings/cuda_debian_prod.gpg] file:///raid/media/repository/mirror/developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /
    
    /etc/apt/sources.list.d/dgx.list
    deb [arch=amd64 signed-by=/usr/share/keyrings/dgx_debian_prod.gpg] file:///raid/media/repository/mirror/repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy common dgx
    deb [arch=amd64 signed-by=/usr/share/keyrings/dgx_debian_prod.gpg] file:///raid/media/repository/mirror/repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy-updates common dgx
    
    /etc/apt/sources.list.d/nvhpc.list
    deb [arch=amd64 signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] file:///raid/media/repository/mirror/developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /
    
  8. 查看 sources.list.d 目录中的其他文件,以验证您是否没有相同存储库的重复条目。

  9. 测试您的目标系统是否可以加载这些存储库。

    sudo apt update
    

    如果您看到错误消息,请联系 NVIDIA 企业服务。

DGX H100 系统上的网络通信速度降低#

问题#

在运行 DGX OS 6.0 的 DGX H100 系统上,ConnectX-7 控制器的 MAX_ACC_OUT_READ 配置可能过低,从而导致数据传输速率降低。

对于从 NVIDIA 发货时预装了 DGX OS 6.1 的 DGX H100 系统,此问题已得到修复。

对于最初预装了 DGX OS 6.0 的 DGX H100 系统,即使系统已升级或重新映像到 DGX OS 6.1,也仍需要以下部分中的解决方法。

说明#

对于 DGX H100 系统,该值由 nvidia-mlnx-config 服务设置为 44

您可以使用 mlxconfigmstconfig 命令查询每个设备并查看 MAX_ACC_OUT_READ 配置的值,从而检查该值。

解决方法#

执行以下步骤将值设置为 0。对于 DGX OS 6.0,禁用 nvidia-mlnx-config 服务。

在升级或重新映像到 DGX OS 6.1 的系统上,以下 systemctl 命令可能会返回以 Failed to stop... 开头的错误消息。如果 nvidia-mlnx-config 服务未运行或未安装,则可能会发生此消息。继续执行剩余步骤。

  1. 对于 DGX OS 6 系统,停止并禁用 nvidia-mlnx-config 服务。

    1. 停止服务

      sudo systemctl stop nvidia-mlnx-config
      
    2. 禁用该服务,使其在下次启动后不会启动并恢复配置

      sudo systemctl disable nvidia-mlnx-config
      
  2. 对于所有系统,请根据您的系统是使用 MLNX_OFED 驱动程序还是 Inbox 驱动程序来设置配置。

    • MLNX_OFED 驱动程序

      for dev in $(ls /sys/class/infiniband/); do \
        sudo mlxconfig -y -d ${dev} set ADVANCED_PCI_SETTINGS=1; \
        sudo mlxconfig -y -d ${dev} set MAX_ACC_OUT_READ=0; \
      done
      
    • Inbox OFED 驱动程序

      for bdf in $(ls /sys/bus/pci/devices); do \
        if [[ -e "/sys/bus/pci/devices/${bdf}/infiniband" ]]; then \
          sudo mstconfig -y -d "${bdf}" set ADVANCED_PCI_SETTINGS=1; \
          sudo mstconfig -y -d "${bdf}" set MAX_ACC_OUT_READ=0; \
        fi \
      done
      
  3. 执行机箱电源循环,以使更改生效。

NVSM 对 DGX H100 系统上缺失的设备发出警报#

问题#

NVSM 报告 NVIDIA DGX H100 系统上缺少以下设备

/systems/localhost/pcie/alerts/alert0
    message_details = Device is missing on b1:00.1.
    ...

/systems/localhost/pcie/alerts/alert1
    message_details = Device is missing on b1:00.0.
    ...

 /systems/localhost/pcie/alerts/alert2
    message_details = Device is missing on 0b:00.1.

说明#

NVSM 版本 22.12.02 在 DGX H100 系统配置文件中将上述设备配置为资源,并且这些设备在报告的 PCI ID 中不存在于系统中。

您可以忽略这些 PCI ID 的警报。这些警报是误报。

解决方法#

升级到较新版本的 NVSM 后,警报可能会保留在本地存储中。执行以下步骤从本地存储中删除 NVSM 警报数据库

  1. 停止 NVSM 服务

    sudo systemctl stop nvsm
    
  2. 从本地存储中删除警报数据库

    sudo rm /var/lib/nvsm/sqlite/nvsm.db
    
  3. 启动 NVSM 服务

    sudo systemctl start nvsm
    

DGX A800 Station/Server:mig-parted 配置#

问题#

DGX Station A800 当前在默认 mig-parted 配置文件的全平衡配置中不受支持。

解决方法#

要将 A800 设备 ID 添加到全平衡配置

  1. 制作默认配置的副本。

  2. 将设备 ID 0x20F310DE 添加到全平衡配置的 device-filter。

  3. 在选择配置时,将 mig-parted apply 指向此新文件。

PCIe 插槽可能发生错误的电源不足错误#

问题#

在版本 4.99.9 中报告。

当连接网络电缆时,DGX A100 服务器在 PCIe 插槽上报告“电源不足”。

说明#

这可能发生在光缆上,表示卡 + 2 根光缆的计算功率高于 PCIe 插槽可以提供的功率。

可以忽略此消息。

调用 cuCTXCreate API 的应用程序可能会遇到性能下降#

问题#

在版本 5.0 中报告。

当某些应用程序调用 cuCtxCreate、cuGLCtxCreate 或 cut Destroy 时,可能会出现性能下降。

说明#

此问题发生在 Ubuntu 22.04 上,但未发生在以前的版本中。此问题会影响执行图形/计算互操作或具有 CUDA 插件机制的应用程序,其中每个插件都会创建自己的上下文,或者影响需要计算的视频流应用程序。示例包括 ffmpeg、Blender、simpleDrive Runtime 和 cuSolverSp_LinearSolver。

预计此问题不会影响深度学习训练。

从 5.X 升级到 6.0 后 nvidia-container-toolkit 版本不正确#

问题#

在版本 6.0 中报告。

在从 DGX OS 5.X 升级到 DGX OS 6.X 后,nvidia-container-toolkit 的版本未更新到 6.X 版本。

说明#

在版本升级过程中,旧版本的 nvidia-container-toolkit 的优先级高于新版本,因此不会更新。

解决方法是在 nvidia-release-upgrade 之后执行额外的 sudo apt updatesudo apt upgrade

启动时内核日志中的 UBSAN 错误和 mstconfig 堆栈转储#

问题#

在版本 6.0 中报告。

启动时可能会出现类似于 UBSAN: shift-out-of-bounds in /build/linux-nvidia-s96GJ3/linux-nvidia-5.15.0/debian/build/build-nvidia 的错误消息,后跟堆栈跟踪。

说明#

当 mstconfig 关闭设备文件时,会生成此警告。可以安全地忽略此警告,并且将在未来的版本中修复。

BMC Redfish 接口在安装后的首次启动时未激活#

问题#

在版本 6.0 中报告。

当系统在安装后首次启动时,BMC Redfish 网络接口将处于 DOWN 状态,并且在运行 ifconfig 命令时不会显示。

说明#

该接口是在系统已经启动接口后重新配置的,因此不会自动启动。

运行命令 sudo netplan apply 将导致接口启动。即使不运行额外的 sudo netplan apply,它也会在所有后续启动时自动启动