概述
NVIDIA® 数据中心 GPU 管理器 (DCGM) 简化了在集群和数据中心环境中对 NVIDIA 数据中心(以前称为“Tesla”)GPU 的管理。DCGM 的核心是一个智能、轻量级的用户空间库/代理,可在每个主机系统上执行各种功能
GPU 行为监控
GPU 配置管理
GPU 策略监督
GPU 健康状况和诊断
GPU 记帐和进程统计
NVSwitch 配置和监控
此功能可通过公共 API 以编程方式访问,也可通过 CLI 工具以交互方式访问。它旨在作为独立实体运行,或作为嵌入式库在管理工具中运行。本文档旨在概述 DCGM 的主要目标和功能,适用于管理 NVIDIA GPU 群组的系统管理员、ISV 开发人员和个人用户。
术语表
术语 |
含义 |
---|---|
DCGM |
NVIDIA 的数据中心 GPU 管理器 |
NVIDIA 主机引擎 |
DCGM 共享库的独立可执行包装器 |
主机引擎守护程序 |
NVIDIA 主机引擎的守护程序操作模式 |
Fabric Manager |
主机引擎守护程序中支持 DGX-2 或 HGX-2 上 NVSwitch Fabric 的模块。 |
第三方 DCGM 代理 |
来自第三方的任何节点级进程,以嵌入式模式运行 DCGM |
嵌入式模式 |
DCGM 作为共享库在第三方 DCGM 代理中执行 |
独立模式 |
DCGM 通过主机引擎作为独立进程执行 |
系统验证 |
包含 GPU、板卡和周围环境的健康检查 |
硬件诊断 |
专注于 GPU 硬件正确性的系统验证组件 |
RAS 事件 |
可靠性、可用性、可维护性事件。对应于致命和非致命 GPU 问题 |
NVML |
NVIDIA 管理库 |
关注领域
DCGM 的设计旨在满足以下关键功能领域。
提供强大、在线的健康状况和诊断
确定 GPU 的健康状况及其与周围系统的交互能力是一项关键的管理需求。这种需求有多种形式,从被动后台监控到快速系统验证,再到广泛的硬件诊断。在所有情况下,重要的是以最小的系统影响和最小的额外环境要求来提供这些功能。DCGM 提供了广泛的自动化和非自动化健康状况和诊断功能。
启用作业级统计信息和持续 GPU 遥测
了解 GPU 使用情况对于调度程序和资源管理器非常重要。将此信息与 RAS 事件、性能信息和其他遥测数据(尤其是在工作负载边界)结合在一起,对于解释作业行为和找出潜在的性能或执行问题的根本原因非常有用。DCGM 提供了在作业级别收集、分组和分析数据的机制。DCGM 还以非常低的性能开销提供持续的 GPU 遥测。
配置 NVSwitch
在 DGX-2 或 HGX-2 上,所有 GPU 都通过 NVSwitch 进行通信。DCGM 的 Fabric Manager 组件配置交换机,以在所有参与的 GPU 之间形成单个内存 Fabric,并监控支持 Fabric 的 NVLink。
注意
从 v2.x 开始,DCGM 不再包含 Fabric Manager,Fabric Manager 是一个单独的组件,需要为基于 NVSwitch 的系统安装。
定义和强制 GPU 配置状态
NVIDIA GPU 的行为可以由用户控制,以满足特定环境或应用程序的要求。这包括性能特征(如时钟设置)、互斥约束(如计算模式)和环境控制(如功耗限制)。DCGM 提供强制和持久性机制,以确保相关 GPU 之间的行为一致性。
自动化 GPU 管理策略
NVIDIA GPU 具有先进的功能,有助于错误遏制和识别问题区域。定义 GPU 对某些类别的事件(包括从错误中恢复和隔离不良硬件)的响应的自动化策略,可确保更高的可靠性和简化的管理环境。DCGM 为需要通知或自动操作的常见情况提供策略。
目标用户
DCGM 的目标用户如下
希望改进其软件内 GPU 集成的 OEM 和 ISV。
管理其自身 GPU 启用基础设施的数据中心管理员。
需要更好了解 GPU 行为的个人用户和 FAE,尤其是在问题分析期间。
所有 DGX-2 和 HGX-2 用户都将使用 Fabric Manager 来配置和监控 NVSwitch Fabric。
DCGM 提供不同的接口来服务不同的消费者和用例。通过 C、Python 和 Go 进行编程访问旨在与第三方软件集成。Python 接口也面向以管理员为中心的脚本环境。基于 CLI 的工具旨在为最终用户提供交互式的开箱即用体验。每个接口都提供大致等效的功能。