管理
- group DCGMAPI_Admin
本章介绍 DCGM 的管理接口。
用户有责任在调用任何其他方法之前调用 dcgmInit(),并在不再使用 DCGM 后调用 dcgmShutdown()。管理模块中的 API 可以分为以下几类
初始化和关闭
- group DCGMAPI_Admin_InitShut
描述用于初始化和关闭 DCGM 引擎的 API。
函数
-
dcgmReturn_t dcgmInit(void)
此方法用于在此进程中初始化 DCGM。
必须在 dcgmStartEmbedded() 或 dcgmConnect() 之前调用此方法
- 返回值:
如果 DCGM 已正确初始化,则为 DCGM_ST_OK
如果初始化库时出错,则为 DCGM_ST_INIT_ERROR
-
dcgmReturn_t dcgmShutdown(void)
此方法用于关闭 DCGM。
任何嵌入式主机引擎或远程连接也将自动关闭。
- 返回值:
如果 DCGM 已正确关闭,则为 DCGM_ST_OK
如果库未正确关闭,则为 DCGM_ST_UNINITIALIZED
-
dcgmReturn_t dcgmStartEmbedded(dcgmOperationMode_t opMode, dcgmHandle_t *pDcgmHandle)
在此进程中启动嵌入式主机引擎代理。
代理作为共享库加载。提供此模式是为了避免与需要管理的额外自主代理相关的任何额外抖动。在此模式下,用户必须定期调用 API,例如 dcgmPolicyTrigger 和 dcgmUpdateAllFields,这些 API 告诉 DCGM 唤醒并执行数据收集和策略管理所需的操作。
- 参数:
opMode – IN:在用户询问时自动或手动收集数据。
pDcgmHandle – OUT:用于 API 调用的 DCGM 句柄
- 返回值:
如果 DCGM 在我们的进程中成功启动,则为 DCGM_ST_OK
如果 DCGM 尚未通过 dcgmInit 初始化,则为 DCGM_ST_UNINITIALIZED
-
dcgmReturn_t dcgmStartEmbedded_v2(dcgmStartEmbeddedV2Params_v1 *params)
在此进程中启动嵌入式主机引擎代理。
代理作为共享库加载。提供此模式是为了避免与需要管理的额外自主代理相关的任何额外抖动。在此模式下,用户必须定期调用 API,例如
dcgmPolicyTrigger
和dcgmUpdateAllFields
,这些 API 告诉 DCGM 唤醒并执行数据收集和策略管理所需的操作。另请参阅
另请参阅
注意
此函数具有版本化的参数,实际上可以使用两种不同的类型来调用。行为将取决于 params->version 值。
- 参数:
params – [inout] 指向
dcgmStartEmbeddedV2Params_v1
或dcgmStartEmbeddedV2Params_v2
的指针。- 返回值:
DCGM_ST_OK
如果 DCGM 在我们的进程中成功启动- 返回值:
DCGM_ST_UNINITIALIZED
如果 DCGM 尚未通过dcgmInit
初始化
-
dcgmReturn_t dcgmStopEmbedded(dcgmHandle_t pDcgmHandle)
停止在此进程中通过 dcgmStartEmbedded 启动的嵌入式主机引擎。
- 参数:
pDcgmHandle – IN:来自 dcgmStartEmbedded 的嵌入式主机引擎的 DCGM 句柄
- 返回值:
如果 DCGM 在我们的进程中成功停止,则为 DCGM_ST_OK
如果 DCGM 尚未通过 dcgmInit 初始化,或者嵌入式主机引擎未运行,则为 DCGM_ST_UNINITIALIZED。
如果提供了无效参数,则为 DCGM_ST_BADPARAM
如果在尝试启动主机引擎时发生错误,则为 DCGM_ST_INIT_ERROR。
-
dcgmReturn_t dcgmConnect(const char *ipAddress, dcgmHandle_t *pDcgmHandle)
此方法用于连接到独立的宿主机引擎进程。
远程主机引擎通过运行 nv-hostengine 命令启动。
注意:dcgmConnect_v2 提供了其他连接选项。
- 参数:
ipAddress – IN:要连接到的远程主机引擎的有效 IP 地址。如果 ipAddress 指定为 x.x.x.x,它将尝试连接到 DCGM_HE_PORT_NUMBER 指定的默认端口。如果 ipAddress 指定为 x.x.x.x:yyyy,它将尝试连接到 yyyy 指定的端口
pDcgmHandle – OUT:远程主机引擎的 DCGM 句柄
- 返回值:
如果我们成功连接到远程主机引擎,则为 DCGM_ST_OK
如果无法访问远程主机引擎,则为 DCGM_ST_CONNECTION_NOT_VALID
如果 DCGM 尚未通过 dcgmInit 初始化,则为 DCGM_ST_UNINITIALIZED。
如果 pDcgmHandle 为 NULL 或 ipAddress 无效,则为 DCGM_ST_BADPARAM
如果在初始化远程客户端库时 DCGM 遇到错误,则为 DCGM_ST_INIT_ERROR
如果 DCGM 尚未通过 dcgmInit 初始化,则为 DCGM_ST_UNINITIALIZED
-
dcgmReturn_t dcgmConnect_v2(const char *ipAddress, dcgmConnectV2Params_t *connectParams, dcgmHandle_t *pDcgmHandle)
此方法用于连接到独立的宿主机引擎进程。
远程主机引擎通过运行 nv-hostengine 命令启动。
- 参数:
ipAddress – IN:要连接到的远程主机引擎的有效 IP 地址。如果 ipAddress 指定为 x.x.x.x,它将尝试连接到 DCGM_HE_PORT_NUMBER 指定的默认端口。如果 ipAddress 指定为 x.x.x.x:yyyy,它将尝试连接到 yyyy 指定的端口
connectParams – IN:其他连接参数。有关详细信息,请参阅 dcgmConnectV2Params_t。
pDcgmHandle – OUT:远程主机引擎的 DCGM 句柄
- 返回值:
如果我们成功连接到远程主机引擎,则为 DCGM_ST_OK
如果无法访问远程主机引擎,则为 DCGM_ST_CONNECTION_NOT_VALID
如果 DCGM 尚未通过 dcgmInit 初始化,则为 DCGM_ST_UNINITIALIZED。
如果 pDcgmHandle 为 NULL 或 ipAddress 无效,则为 DCGM_ST_BADPARAM
如果在初始化远程客户端库时 DCGM 遇到错误,则为 DCGM_ST_INIT_ERROR
如果 DCGM 尚未通过 dcgmInit 初始化,则为 DCGM_ST_UNINITIALIZED
-
dcgmReturn_t dcgmDisconnect(dcgmHandle_t pDcgmHandle)
此方法用于断开与独立的宿主机引擎进程的连接。
- 参数:
pDcgmHandle – IN:来自 dcgmConnect 的 DCGM 句柄
- 返回值:
如果我们成功断开与主机引擎的连接,则为 DCGM_ST_OK
如果 DCGM 尚未通过 dcgmInit 初始化,则为 DCGM_ST_UNINITIALIZED
如果 pDcgmHandle 不是有效的 DCGM 句柄,则为 DCGM_ST_BADPARAM
如果发生未指定的内部错误,则为 DCGM_ST_GENERIC_ERROR
-
dcgmReturn_t dcgmInit(void)
有关 DCGM 引擎的辅助信息
- group DCGMAPI_Admin_Info
描述用于获取有关 DCGM 引擎的通用信息的 API。
函数
-
dcgmReturn_t dcgmVersionInfo(dcgmVersionInfo_t *pVersionInfo)
此方法用于返回有关 DCGM 构建环境的信息。
- 参数:
pVersionInfo – OUT:构建环境信息
- 返回值:
如果成功获取构建信息,则为 DCGM_ST_OK
如果 pVersionInfo 为 null,则为 DCGM_ST_BADPARAM
如果 dcgmVersionInfo_t 的预期版本和提供的版本不匹配,则为 DCGM_ST_VER_MISMATCH
-
dcgmReturn_t dcgmHostengineVersionInfo(dcgmHandle_t pDcgmHandle, dcgmVersionInfo_t *pVersionInfo)
此方法用于返回有关 hostengine 构建环境的信息。
- 参数:
pDcgmHandle – IN:来自 dcgmConnect 的 DCGM 句柄
pVersionInfo – OUT:构建环境信息
- 返回值:
如果成功获取构建信息,则为 DCGM_ST_OK
如果 pVersionInfo 为 null,则为 DCGM_ST_BADPARAM
如果 dcgmVersionInfo_t 的预期版本和提供的版本不匹配,则为 DCGM_ST_VER_MISMATCH
-
dcgmReturn_t dcgmHostengineSetLoggingSeverity(dcgmHandle_t pDcgmHandle, dcgmSettingsSetLoggingSeverity_t *logging)
此方法用于为指定记录器在 HostEngine 上设置日志记录严重性。
- 参数:
pDcgmHandle – 输入:DCGM 句柄
logging – 输入:dcgmSettingsSetLoggingSeverity_t 结构体,包含目标记录器和严重性
- 返回值:
DCGM_ST_OK 严重性设置成功
DCGM_ST_BADPARAM 错误的记录器/严重性字符串
DCGM_ST_VER_MISMATCH 如果 dcgmSettingsSetLoggingSeverity_t 的预期版本和提供的版本不匹配
-
dcgmReturn_t dcgmHostengineIsHealthy(dcgmHandle_t pDcgmHandle, dcgmHostengineHealth_t *heHealth)
此函数用于返回主机引擎是否认为自身运行状况良好。
- 参数:
pDcgmHandle – [输入] - DCGM 的句柄
heHealth – [输出] - 描述 hostengine 运行状况的结构体。如果 heHealth.hostengineHealth 为 0,则 hostengine 运行状况良好。非零值表示运行状况不佳,错误代码确定原因。
- 返回值:
DCGM_ST_OK 能够评估运行状况
DCGM_ST_BADPARAM isHealthy 不是有效的指针
-
const char *errorString(dcgmReturn_t result)
此函数以人类可读的形式描述 DCGM 错误代码。
- 参数:
result – [输入] - 要描述的 DCGM 返回代码
- 返回值:
人类可读的字符串,包含 DCGM 错误代码描述(如果代码有效)。
如果没有此类错误代码,则为 nullptr
-
dcgmReturn_t dcgmModuleIdToName(dcgmModuleId_t id, char const **name)
此函数通过给定的模块 ID 描述 DCGM 模块。
- 参数:
id[输入] – - 要命名的模块 ID。
name[输出] – - 模块名称将通过此参数提供。
- 返回值:
DCGM_ST_OK 模块名称具有有效值
DCGM_ST_BADPARAM 没有具有指定 ID 的模块。名称值未更改。
-
dcgmReturn_t dcgmVersionInfo(dcgmVersionInfo_t *pVersionInfo)