快速入门和基本操作#

本主题提供使用 NVIDIA DGX™ B200 系统的基本要求和说明,包括执行初步健康检查和准备运行容器。有关其他产品文档,请参阅 NVIDIA DGX 平台页面。

安装和配置#

在安装 DGX B200 之前,请确保您已将所有相关的站点信息提供给您的安装合作伙伴。

重要提示

您的 DGX B200 系统必须由 NVIDIA 合作伙伴网络人员或 NVIDIA 现场服务工程师安装。如果未按规定执行,您的硬件保修将失效。

注册#

要获得 DGX B200 系统的支持,请按照购买时随附的权利认证电子邮件中的注册说明进行操作。

注册后,您可以访问 NVIDIA 企业支持门户,获得技术支持、软件更新,并设置一个 NGC for DGX 系统帐户。如果您没有收到相关信息,请在企业支持服务处向 NVIDIA 企业支持团队开立案例。

有关联系信息,请参阅客户支持

获取 NGC 帐户#

NVIDIA NGC 提供对 GPU 优化软件的访问,用于深度学习、机器学习和高性能计算 (HPC)。NGC 帐户授予您访问这些工具的权限,并允许您设置私有注册表来管理您的自定义软件。

如果您是 DGX 系统采购的组织管理员,请与 NVIDIA 企业支持部门合作设置 NGC 企业帐户。有关获取 NGC 企业帐户的更多信息,请参阅NGC 私有注册表用户指南

开启和关闭 DGX B200#

DGX B200 是一个复杂的系统,集成了大量尖端组件,具有特定的启动和关闭顺序。请遵守以下启动和关闭说明。

启动注意事项#

为了保持 DGX B200 顺利运行,在到达登录提示符后,请预留最多一分钟的空闲时间。这确保了所有组件都能完成初始化。

关闭注意事项#

关闭 DGX B200 时,始终从操作系统、电源按钮的瞬时按下或使用 BMC 的正常关机来启动关机,并等待系统进入断电状态后再执行任何维护。

警告

危险风险 - 在操作系统运行时,移除电源线或使用配电单元 (PDU) 关闭系统可能会损坏 DGX B200 服务器中的敏感组件。

验证功能 - 快速健康检查#

NVIDIA 为客户提供了一个名为 NVIDIA 系统管理 (NVSM) 的诊断和管理工具。可以使用 nvsm 命令来确定系统的健康状况、识别组件问题和警报,或运行压力测试以确保所有组件在负载下都能正常工作。Docker 的使用是充分发挥系统性能的关键,因为 NVIDIA 已经针对 DGX 系统上使用的所有主要框架和工作负载优化了容器。

以下说明展示了如何在 DGX B200 系统上执行健康检查,并验证 Docker 和 NVIDIA 驱动程序的安装。

  1. 建立到 DGX B200 系统的 SSH 连接。

  2. 运行基本系统检查。

    sudo nvsm show health
    
  3. 验证输出摘要显示所有检查均为“健康”且总体系统状态为“健康”。

  4. 通过查看已安装的 Docker 版本,验证 Docker 是否已安装。

    sudo docker --version
    

    成功后,该命令将返回版本,格式为 Docker version xx.yy.zz,其中实际版本可能因 DGX OS Server 软件的特定版本而异。

  5. 验证与 NVIDIA 存储库的连接以及 NVIDIA 驱动程序已安装。

    sudo docker run --gpus all --rm nvcr.io/nvidia/cuda:12.1.1-base-ubuntu22.04 nvidia-smi
    

    前面的命令逐层拉取 nvidia/cuda 容器镜像,然后运行 nvidia-smi 命令。

    完成后,输出将显示 NVIDIA 驱动程序版本和每个已安装 GPU 的描述。

有关更多信息,请参阅深度学习框架容器用户指南

运行预检测试#

运行 DGX 压力测试的说明。

NVIDIA 建议在将系统投入生产环境之前或维修后运行预检压力测试。您可以指定在 GPU、CPU、内存和存储上运行测试,还可以指定测试的持续时间。

要运行测试,请使用 NVSM。

语法

sudo nvsm stress-test [--usage] [--force] [--no-prompt] [<test>...] [DURATION]

如需运行测试的帮助,请执行以下操作。

sudo nvsm stress-test --usage

推荐命令

以下命令在所有受支持的组件(GPU、CPU、内存和存储)上运行测试,大约需要 20 分钟。

sudo nvsm stress-test --force

运行具有 GPU 支持的 NGC 容器#

为了在 DGX B200 系统上运行 NGC 容器时获得最佳性能,可以使用以下为 Docker 容器提供 GPU 支持的方法

  • 原生 GPU 支持(包含在 Docker 20.10.18 及更高版本中)

系统中实现的方法取决于安装的 DGX OS 版本。

DGX OS 版本

包含的方法

7.0

  • 原生 GPU 支持

  • 用于 Docker 的 NVIDIA 容器运行时(已弃用 - 将在未来的 DGX OS 版本中移除可用性)

每种方法都通过使用特定的 Docker 命令来调用,如下所述。

使用原生 GPU 支持#

使用 docker run --gpus 运行启用 GPU 的容器。

  • 使用所有 GPU 的示例

    sudo docker run --gpus all ...
    
  • 使用两个 GPU 的示例

    sudo docker run --gpus 2 ...
    
  • 使用特定 GPU 的示例

    sudo docker run --gpus '"device=1,2"' ...
    sudo docker run --gpus '"device=UUID-ABCDEF,1"' ...
    

使用用于 Docker 的 NVIDIA 容器运行时#

如果您需要使用 nvidia-docker2,请使用 sudo apt install nvidia-docker2 安装它,然后运行

sudo systemctl restart docker

DGX OS 还包括用于 Docker 的 NVIDIA 容器运行时 (nvidia-docker2),它允许您通过以下方式之一运行 GPU 加速容器

  • 使用 docker run 并指定 runtime=nvidia

    docker run --runtime=nvidia ...
    
  • 使用 nvidia-docker run

    nvidia-docker run ...
    

nvidia-docker2 软件包提供与之前的 nvidia-docker 软件包的向后兼容性,因此您可以使用此命令运行 GPU 加速容器,并且将使用新的运行时。

  • 使用 docker run 并将 nvidia 作为默认运行时。

    您可以将 nvidia 设置为默认运行时,例如,通过将以下行添加到 / etc/docker/daemon.json 配置文件中作为第一个条目。

    "default-runtime": "nvidia",
    

    以下是在 JSON 文件中添加行的示例。进行此更改时,请勿删除任何预先存在的内容。

    {
      "default-runtime": "nvidia",
      "runtimes": {
         "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "args": []
          }
       }
    }
    

    然后,您可以使用 docker run 运行 GPU 加速容器。

    docker run ...
    

注意

如果在将 nvidia 设置为默认运行时构建 Docker 镜像,请确保 Dockerfile 执行的构建脚本指定容器将需要的 GPU 架构。否则可能会导致容器仅针对构建它的 GPU 架构进行优化。指定 GPU 架构的说明取决于应用程序,并且超出了本文档的范围。请查阅具体的应用程序构建过程。

有关更多信息,请参阅NVIDIA DGX OS 7 用户指南

管理 CPU 缓解措施#

DGX OS Server 包含安全更新,以缓解 CPU 投机性侧信道漏洞。这些缓解措施可能会降低深度学习和机器学习工作负载的性能。

如果您的 DGX 系统安装包含其他缓解这些漏洞的措施,例如集群级别的措施,您可以禁用单个 DGX 节点的 CPU 缓解措施,从而提高性能。此功能从 DGX OS Server 4.4.0 版本开始提供。

确定 DGX 系统的 CPU 缓解状态#

如果您不知道是否启用了 CPU 缓解措施,请执行以下操作。

cat /sys/devices/system/cpu/vulnerabilities/*
  • 如果输出由多行以 Mitigation: 为前缀的行组成,则表示 CPU 缓解措施已启用。

    示例

KVM: Mitigation: Split huge pages
Mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
Mitigation: Clear CPU buffers; SMT vulnerable
Mitigation: PTI
Mitigation: Speculative Store Bypass disabled via prctl and seccomp
Mitigation: usercopy/swapgs barriers and __user pointer sanitization
Mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, STIBP: conditional, RSB filling
Mitigation: Clear CPU buffers; SMT vulnerable
  • 如果输出由多行以 Vulnerable 为前缀的行组成,则表示 CPU 缓解措施已禁用。

    示例

KVM: Vulnerable
Mitigation: PTE Inversion; VMX: vulnerable
Vulnerable; SMT vulnerable
Vulnerable
Vulnerable
Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers
Vulnerable, IBPB: disabled, STIBP: disabled
Vulnerable

禁用 CPU 缓解措施#

注意

执行以下说明将禁用 DGX OS Server 软件提供的 CPU 缓解措施。

  1. 安装 nv-mitigations-off 软件包。

    sudo apt install nv-mitigations-off -y
    
  2. 重启系统。

  3. 验证 CPU 缓解措施已禁用。

    cat /sys/devices/system/cpu/vulnerabilities/*
    

    输出应包含多个 Vulnerable 行。有关示例输出,请参阅确定 DGX 系统的 CPU 缓解状态

重新启用 CPU 缓解措施#

  1. 移除 nv-mitigations-off 软件包。

    sudo apt purge nv-mitigations-off
    
  2. 重启系统。

  3. 验证 CPU 缓解措施已启用。

    cat /sys/devices/system/cpu/vulnerabilities/*
    

    输出应包含多个 Mitigations 行。有关示例输出,请参阅确定 DGX 系统的 CPU 缓解状态