已知问题#

本章介绍了软件发布时与 DGX OS 软件或 DGX 硬件相关的问题。

已知软件问题

以下是已知的软件问题。

  • 拉取容器 CUDA:11.7.0-base-ubi8 失败

  • DCGM 服务标记为已弃用

  • NVSM 可能会发出“md1 已损坏”警报

  • nvsm show health 报告 /proc/driver 文件夹为空

  • NVSM 报告非英语系统上的逻辑 CPU 核心数为“未知”

  • KVM 虚拟机中 InfiniBand 带宽下降

问题:拉取容器 CUDA:11.7.0-base-ubi8 失败。根本原因和解决方案未知

说明

可能存在过时的 Docker 数据,或者系统上可能存在较旧的镜像或容器,需要将其删除。

解决方法

sudo rpm -e nv-docker-gpus
sudo rpm -e nv-docker-options docker
sudo yum group remove -y 'NVIDIA Container Runtime'
sudo yum install -y docker
sudo yum install nv-docker-gpus
sudo yum group install -y 'NVIDIA Container Runtime'
sudo systemctl restart docker
sudo systemctl restart nv-docker-gpus
sudo docker rmi \`sudo docker images -q\` # may get an error if there are no images
sudo docker rm \`sudo docker ps -aq\` # may get an error if there are no containers
sudo docker run --security-opt label=type:nvidia_container_t --rm nvcr.io/nvidia/cuda:11.0-base nvidia-smi

问题:DCGM 服务标记为已弃用

当查询 dcgm.service 的状态时,它被报告为已弃用。

$ sudo systemctl status dcgm.service

dcgm.service - 已弃用。请使用 nvidia-dcgm.service

说明

可以忽略此消息。

dcgm.service 确实已弃用,但仍可正常使用。DCGM 服务的名称正在从 dcgm.service 迁移到 nvidia-dcgm.service。在过渡期间,DCGM 2.2.8 中同时包含两者。

更高版本的 DGX OS 4 将默认启用 nvidia-dcgm.service。您可以手动启用 nvidia-dcgm.service(即使功能上没有区别),方法如下

$ sudo systemctl stop dcgm.service

$ sudo systemctl disable dcgm.service

$ sudo systemctl start nvidia-dcgm.service

$ sudo systemctl enable nvidia-dcgm.service

问题:NVSM 可能会发出“md1 已损坏”警报

在系统上,当一个 OS 驱动器用于 EFI 启动分区,另一个用于根文件系统(每个都配置为 RAID 1)时,NVSM 会发出“md1 已损坏”警报。

说明

OS RAID 1 驱动器以非标准配置运行,导致出现错误的警报消息。如果您更改默认配置,则必须告知 NVSM,以便该实用程序不会将配置标记为错误,并且 NVSM 可以继续监视驱动器的运行状况。

要配置 NVSM 以支持自定义驱动器分区,请执行以下操作。

  1. 停止 NVSM 服务。

    systemctl stop nvsm
    
  2. 编辑 /etc/nvsm/nvsm.config 并将 “use_standard_config_storage” 参数设置为 false。

“use_standard_config_storage”:false

  1. 删除 NVSM 数据库。

    sudo rm /var/lib/nvsm/sqlite/nvsm.db
    
  • 重启 NVSM。

    systemctl restart nvsm
    

问题:nvsm show health 报告 /proc/driver 文件夹为空

当发出 nvsm show health 命令时,nvsmhealth_log.txt 日志文件报告 /proc/driver/ 文件夹为空。

来自 DGX-1 的示例

2020-09-01 20:03:05,204 INFO: Found empty path glob "/proc/driver/nvidia/*/gpus/*/information"
2020-09-01 20:03:06,206 INFO: Found empty path glob "/proc/driver/nvidia/*/gpus/*/registry"
2020-09-01 20:03:09,742 INFO: Found empty path glob "/proc/driver/nvidia/*/params"
2020-09-01 20:03:10,743 INFO: Found empty path glob "/proc/driver/nvidia/*/registry"
2020-09-01 20:03:11,745 INFO: Found empty path glob "/proc/driver/nvidia/*/version"
2020-09-01 20:03:12,747 INFO: Found empty path glob "/proc/driver/nvidia/*/warnings/*"

说明

这是一个错误的消息,因为文件夹内容实际上是在软件安装期间加载的。可以忽略此消息。这将在未来的 NVSM 版本中解决。

问题:NVSM 报告非英语系统上的逻辑 CPU 核心数为“未知”

在设置为非英语区域设置的系统上,nvsm show health 命令将逻辑 CPU 核心数列表显示为未知。

逻辑 CPU 核心数 [无]………………………… 未知

解决方案

此问题将在更高版本的 DGX OS 软件中解决。

问题:KVM 虚拟机中 InfiniBand 带宽下降

在多 GPU 虚拟机上运行时,InfiniBand 带宽低于在裸机上运行时。

说明

目前,在虚拟机中使用 GPUDirect 的性能将低于在裸机系统上使用时的性能。

已知 DGX-2 系统问题

以下是 DGX-2 服务器特有的已知问题。

  • DGX KVM:nvidia-vm health-check 可能失败

  • NVSM 未检测到降级的 GPU PCIe 链路

问题:DGX KVM:nvidia-vm health-check 可能失败

当运行 nvidia-vm health-check 以检查 DGX KVM 虚拟机使用的特定 GPU 的运行状况时,该命令可能会失败。

示例:

sudo nvidia-vm health-check --gpu-count 1 --gpu-index 0 --fulltest run
…
ERROR: Unexpected response from blacklist "connection"
ERROR: Unexpected response from blacklist "to"
ERROR: Unexpected response from blacklist "the"
ERROR: Unexpected response from blacklist "host"
ERROR: Unexpected response from blacklist "engine"
ERROR: Unexpected response from blacklist "is"
ERROR: Unexpected response from blacklist "not"
ERROR: Unexpected response from blacklist "valid"
ERROR: Unexpected response from blacklist "any"
ERROR: Unexpected response from blacklist "longer""
ERROR: No healthy/unhealthy data returned from blacklist command

说明和解决方案

发生这种情况的原因是运行状况检查虚拟机是从基于 DGX OS ISO 的镜像创建的,该镜像使用 R418 驱动程序包,但主机已更新到 R450 驱动程序包。这两个包使用不同的 DCGM 版本,它们之间无法通信,从而导致错误。

如果 GPU PCIe 链路降级到 Gen1,NVSM 仍会将 GPU 运行状况状态报告为正常。

说明和解决方案

NVSM 软件目前不检查此情况。该检查将在未来的软件版本中添加。

已知 DGX-1 系统问题

以下是 DGX-1 服务器特有的已知问题。

  • 运行 DCGM 时出现 nvidia-nvswitch 版本不匹配消息

  • 强制重启使操作系统挂起

问题:运行 DCGM 时出现 nvidia-nvswitch 版本不匹配消息

当启动 DCGM 服务时,将出现类似于以下内容的版本不匹配错误消息

78075.772392 nvidia-nvswitch: 版本不匹配,内核版本 450.80.02 用户版本 450.51.06

说明

当 GPU 驱动程序版本高于 450.51.06 时,会发生这种情况。版本检查发生在所有 DGX 系统上,但仅适用于 NVSwitch 系统,因此可以在非 NVSwitch 系统(如 DGX Station 或 DGX-1)上忽略此消息。

问题:强制重启使操作系统挂起

当发出 reboot -f (强制重启)时,控制台上会出现 I/O 错误消息,然后系统挂起。

当发出 reboot 时,系统正常重启。

解决方案

此问题将在更高版本的 DGX OS 服务器中解决。

以下是与影响 DGX 服务器的 Ubuntu OS 或 Linux 内核相关的已知问题。

  • 使用 mpirun 时系统可能会变慢

问题:使用 ``mpirun`` 时系统可能会变慢

运行消息传递接口 (MPI) 工作负载的客户可能会遇到操作系统响应速度非常慢的情况。发生这种情况时,内核日志中会出现类似于以下内容的日志消息

kernel BUG at /build/linux-fQ94TU/linux-4.4.0/fs/ext4/inode.c:1899!

说明

由于 Linux 内核的当前设计,当在持久性存储上的文件上使用 get_user_pages 时,可能会触发此情况。例如,当在存储在 ext4 文件系统中的文件路径上使用 cudaHostRegister 时,可能会发生这种情况。DGX 系统在持久性 ext4 文件系统上实现 /tmp

解决方法

注意

如果您在之前的 DGX OS 软件版本上执行过此解决方法,则在更新到最新的 DGX OS 版本后无需再次执行。

为了避免使用持久性存储,可以将 MPI 配置为在 /dev/shm (这是一个临时文件系统)中使用共享内存。

如果您使用的是 Open MPI,则可以通过配置模块化组件体系结构 (MCA) 参数来解决此问题,以便 mpirun 在内存中使用临时文件系统。

有关如何完成此操作的详细信息,请参阅知识库文章 使用 mpirun 时 DGX 系统速度变慢 (需要登录到 NVIDIA 企业支持 门户)。