配置

group DCGMAPI_DC

本章介绍处理设备配置检索和默认设置的方法。

配置模块中的 API 可以分为以下几类

描述用于在 GPU 组上获取/设置配置的 API。

函数

dcgmReturn_t dcgmConfigSet(dcgmHandle_t pDcgmHandle, dcgmGpuGrp_t groupId, dcgmConfig_t *pDeviceConfig, dcgmStatus_t statusHandle)

用于为 groupId 标识的一个或多个 GPU 组设置配置。

pDeviceConfig 中指定的配置设置将应用于组中的所有 GPU。由于 DCGM 组是 GPU 的逻辑分组,因此即使在组被销毁后,配置设置仍保持个体 GPU 不变。

如果用户希望忽略输入 pDeviceConfig 中的一个或多个属性的配置,则应根据要忽略的属性的数据类型,将该属性指定为 DCGM_INT32_BLANKDCGM_INT64_BLANKDCGM_FP64_BLANKDCGM_STR_BLANK 之一。

如果组中任何 GPU 的任何属性配置失败,则 API 将返回错误。应进一步评估状态句柄 statusHandle,以访问失败操作的错误属性。请参阅 状态处理 中的状态管理 API,以访问错误属性。

要查找可以传递给 dcgmConfigSet 的有效支持时钟值,请使用 API dcgmGetDeviceAttributes 查看组中 GPU 的设备属性。

参数:
  • pDcgmHandle – IN: DCGM 句柄

  • groupId – IN: 表示一个或多个 GPU 集合的组 ID。有关创建组的详细信息,请查看 dcgmGroupCreate。

  • pDeviceConfig – IN: 指向内存的指针,用于保存要应用于 groupId 表示的组中所有 GPU 的所需配置。调用者必须填充 pDeviceConfig 的版本字段。

  • statusHandle – IN/OUT: 多个操作的结果错误状态。如果不需要详细的错误信息,则将其作为 NULL 传递。有关创建状态句柄的详细信息,请查看 dcgmStatusCreate。

返回值:

dcgmReturn_t dcgmConfigGet(dcgmHandle_t pDcgmHandle, dcgmGpuGrp_t groupId, dcgmConfigType_t type, int count, dcgmConfig_t deviceConfigList[], dcgmStatus_t statusHandle)

用于获取组中存在的所有 GPU 的配置。

此 API 可以获取 dcgmConfigSet 设置的最新目标或所需配置。将类型设置为 DCGM_CONFIG_TARGET_STATE 以获取目标配置。目标配置属性由 DCGM 维护,并在 GPU 重置或重新初始化完成后自动强制执行。

此方法还可用于获取组中 GPU 的实际配置状态。将类型设置为 DCGM_CONFIG_CURRENT_STATE 以获取实际配置状态。理想情况下,实际配置状态将与目标配置状态完全相同。

如果目标配置中的任何属性未知,则输出中的属性值将填充为 DCGM_INT32_BLANK、DCGM_INT64_BLANK、DCGM_FP64_BLANK 或 DCGM_STR_BLANK 之一,具体取决于属性的数据类型。

如果当前配置状态中的任何属性不受支持,则输出中的属性值将填充为 DCGM_INT32_NOT_SUPPORTED、DCGM_INT64_NOT_SUPPORTED、DCGM_FP64_NOT_SUPPORTED 或 DCGM_STR_NOT_SUPPORTED 之一,具体取决于属性的数据类型。

如果无法为组中任何 GPU 获取任何属性,则 API 将返回错误。应进一步评估状态句柄 statusHandle,以访问失败操作的错误属性。请参阅 状态处理 中的状态管理 API,以访问错误属性。

参数:
  • pDcgmHandle – IN: DCGM 句柄

  • groupId – IN: 表示一个或多个 GPU 集合的组 ID。有关创建组的详细信息,请查看 dcgmGroupCreate。

  • type – IN: 要获取的配置值的类型。

  • count – IN: deviceConfigList 数组可以存储的条目数。

  • deviceConfigList – OUT: 指向内存的指针,用于保存与组(groupId)中所有 GPU 对应的请求配置。内存大小必须大于或等于保存组(groupId)中存在的 GPU 数量的输出信息。

  • statusHandle – IN/OUT: 多个操作的结果错误状态。如果不需要详细的错误信息,则将其作为 NULL 传递。有关创建状态句柄的详细信息,请查看 dcgmStatusCreate。

返回值:

描述用于手动强制 GPU 组上所需配置的 API。

函数

dcgmReturn_t dcgmConfigEnforce(dcgmHandle_t pDcgmHandle, dcgmGpuGrp_t groupId, dcgmStatus_t statusHandle)

用于强制执行先前为组中存在的所有 GPU 设置的配置。

此 API 为用户提供了一种机制,可以在任何时间点手动强制执行配置。只有在使用 API dcgmConfigSet 配置配置后,才能强制执行配置。

如果无法为组中任何 GPU 强制执行任何属性,则 API 将返回错误。应进一步评估状态句柄 statusHandle,以访问失败操作的错误属性。请参阅 状态处理 中的状态管理 API,以访问错误属性。

参数:
  • pDcgmHandle – IN: DCGM 句柄

  • groupId – IN: 表示一个或多个 GPU 集合的组 ID。有关创建组的详细信息,请查看 dcgmGroupCreate。或者,将组 ID 作为 DCGM_GROUP_ALL_GPUS 传入,以对所有 GPU 执行操作。

  • statusHandle – IN/OUT: 多个操作的结果错误状态。如果不需要详细的错误信息,则将其作为 NULL 传递。有关创建状态句柄的详细信息,请查看 dcgmStatusCreate。

返回值:

设置和管理

group DCGMAPI_DC_Setup

描述用于在 GPU 组上获取/设置配置的 API。

函数

dcgmReturn_t dcgmConfigSet(dcgmHandle_t pDcgmHandle, dcgmGpuGrp_t groupId, dcgmConfig_t *pDeviceConfig, dcgmStatus_t statusHandle)

用于为 groupId 标识的一个或多个 GPU 组设置配置。

pDeviceConfig 中指定的配置设置将应用于组中的所有 GPU。由于 DCGM 组是 GPU 的逻辑分组,因此即使在组被销毁后,配置设置仍保持个体 GPU 不变。

如果用户希望忽略输入 pDeviceConfig 中的一个或多个属性的配置,则应根据要忽略的属性的数据类型,将该属性指定为 DCGM_INT32_BLANKDCGM_INT64_BLANKDCGM_FP64_BLANKDCGM_STR_BLANK 之一。

如果组中任何 GPU 的任何属性配置失败,则 API 将返回错误。应进一步评估状态句柄 statusHandle,以访问失败操作的错误属性。请参阅 状态处理 中的状态管理 API,以访问错误属性。

要查找可以传递给 dcgmConfigSet 的有效支持时钟值,请使用 API dcgmGetDeviceAttributes 查看组中 GPU 的设备属性。

参数:
  • pDcgmHandle – IN: DCGM 句柄

  • groupId – IN: 表示一个或多个 GPU 集合的组 ID。有关创建组的详细信息,请查看 dcgmGroupCreate。

  • pDeviceConfig – IN: 指向内存的指针,用于保存要应用于 groupId 表示的组中所有 GPU 的所需配置。调用者必须填充 pDeviceConfig 的版本字段。

  • statusHandle – IN/OUT: 多个操作的结果错误状态。如果不需要详细的错误信息,则将其作为 NULL 传递。有关创建状态句柄的详细信息,请查看 dcgmStatusCreate。

返回值:

dcgmReturn_t dcgmConfigGet(dcgmHandle_t pDcgmHandle, dcgmGpuGrp_t groupId, dcgmConfigType_t type, int count, dcgmConfig_t deviceConfigList[], dcgmStatus_t statusHandle)

用于获取组中存在的所有 GPU 的配置。

此 API 可以获取 dcgmConfigSet 设置的最新目标或所需配置。将类型设置为 DCGM_CONFIG_TARGET_STATE 以获取目标配置。目标配置属性由 DCGM 维护,并在 GPU 重置或重新初始化完成后自动强制执行。

此方法还可用于获取组中 GPU 的实际配置状态。将类型设置为 DCGM_CONFIG_CURRENT_STATE 以获取实际配置状态。理想情况下,实际配置状态将与目标配置状态完全相同。

如果目标配置中的任何属性未知,则输出中的属性值将填充为 DCGM_INT32_BLANK、DCGM_INT64_BLANK、DCGM_FP64_BLANK 或 DCGM_STR_BLANK 之一,具体取决于属性的数据类型。

如果当前配置状态中的任何属性不受支持,则输出中的属性值将填充为 DCGM_INT32_NOT_SUPPORTED、DCGM_INT64_NOT_SUPPORTED、DCGM_FP64_NOT_SUPPORTED 或 DCGM_STR_NOT_SUPPORTED 之一,具体取决于属性的数据类型。

如果无法为组中任何 GPU 获取任何属性,则 API 将返回错误。应进一步评估状态句柄 statusHandle,以访问失败操作的错误属性。请参阅 状态处理 中的状态管理 API,以访问错误属性。

参数:
  • pDcgmHandle – IN: DCGM 句柄

  • groupId – IN: 表示一个或多个 GPU 集合的组 ID。有关创建组的详细信息,请查看 dcgmGroupCreate。

  • type – IN: 要获取的配置值的类型。

  • count – IN: deviceConfigList 数组可以存储的条目数。

  • deviceConfigList – OUT: 指向内存的指针,用于保存与组(groupId)中所有 GPU 对应的请求配置。内存大小必须大于或等于保存组(groupId)中存在的 GPU 数量的输出信息。

  • statusHandle – IN/OUT: 多个操作的结果错误状态。如果不需要详细的错误信息,则将其作为 NULL 传递。有关创建状态句柄的详细信息,请查看 dcgmStatusCreate。

返回值:

手动调用

group DCGMAPI_DC_MI

描述用于手动强制 GPU 组上所需配置的 API。

函数

dcgmReturn_t dcgmConfigEnforce(dcgmHandle_t pDcgmHandle, dcgmGpuGrp_t groupId, dcgmStatus_t statusHandle)

用于强制执行先前为组中存在的所有 GPU 设置的配置。

此 API 为用户提供了一种机制,可以在任何时间点手动强制执行配置。只有在使用 API dcgmConfigSet 配置配置后,才能强制执行配置。

如果无法为组中任何 GPU 强制执行任何属性,则 API 将返回错误。应进一步评估状态句柄 statusHandle,以访问失败操作的错误属性。请参阅 状态处理 中的状态管理 API,以访问错误属性。

参数:
  • pDcgmHandle – IN: DCGM 句柄

  • groupId – IN: 表示一个或多个 GPU 集合的组 ID。有关创建组的详细信息,请查看 dcgmGroupCreate。或者,将组 ID 作为 DCGM_GROUP_ALL_GPUS 传入,以对所有 GPU 执行操作。

  • statusHandle – IN/OUT: 多个操作的结果错误状态。如果不需要详细的错误信息,则将其作为 NULL 传递。有关创建状态句柄的详细信息,请查看 dcgmStatusCreate。

返回值: