配置
- 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_BLANK、DCGM_INT64_BLANK、DCGM_FP64_BLANK 或 DCGM_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。
- 返回值:
DCGM_ST_OK 如果配置已成功设置。
DCGM_ST_BADPARAM 如果 groupId 或 pDeviceConfig 中的任何一个无效。
DCGM_ST_VER_MISMATCH 如果 pDeviceConfig 的版本不正确。
DCGM_ST_GENERIC_ERROR 如果发生未知错误。
-
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。
- 返回值:
DCGM_ST_OK 如果已成功获取配置。
DCGM_ST_BADPARAM 如果 groupId、type、count 或 deviceConfigList 中的任何一个无效。
DCGM_ST_NOT_CONFIGURED 如果目标配置尚未设置。
DCGM_ST_VER_MISMATCH 如果 deviceConfigList 的版本不正确。
DCGM_ST_GENERIC_ERROR 如果发生未知错误。
描述用于手动强制 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。
- 返回值:
DCGM_ST_OK 如果已成功强制执行配置。
DCGM_ST_BADPARAM 如果 groupId 无效。
DCGM_ST_NOT_CONFIGURED 如果目标配置尚未设置。
DCGM_ST_GENERIC_ERROR 如果发生未知错误。
-
dcgmReturn_t dcgmConfigSet(dcgmHandle_t pDcgmHandle, dcgmGpuGrp_t groupId, dcgmConfig_t *pDeviceConfig, dcgmStatus_t statusHandle)
设置和管理
- 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_BLANK、DCGM_INT64_BLANK、DCGM_FP64_BLANK 或 DCGM_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。
- 返回值:
DCGM_ST_OK 如果配置已成功设置。
DCGM_ST_BADPARAM 如果 groupId 或 pDeviceConfig 中的任何一个无效。
DCGM_ST_VER_MISMATCH 如果 pDeviceConfig 的版本不正确。
DCGM_ST_GENERIC_ERROR 如果发生未知错误。
-
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。
- 返回值:
DCGM_ST_OK 如果已成功获取配置。
DCGM_ST_BADPARAM 如果 groupId、type、count 或 deviceConfigList 中的任何一个无效。
DCGM_ST_NOT_CONFIGURED 如果目标配置尚未设置。
DCGM_ST_VER_MISMATCH 如果 deviceConfigList 的版本不正确。
DCGM_ST_GENERIC_ERROR 如果发生未知错误。
-
dcgmReturn_t dcgmConfigSet(dcgmHandle_t pDcgmHandle, dcgmGpuGrp_t groupId, dcgmConfig_t *pDeviceConfig, dcgmStatus_t statusHandle)
手动调用
- 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。
- 返回值:
DCGM_ST_OK 如果已成功强制执行配置。
DCGM_ST_BADPARAM 如果 groupId 无效。
DCGM_ST_NOT_CONFIGURED 如果目标配置尚未设置。
DCGM_ST_GENERIC_ERROR 如果发生未知错误。
-
dcgmReturn_t dcgmConfigEnforce(dcgmHandle_t pDcgmHandle, dcgmGpuGrp_t groupId, dcgmStatus_t statusHandle)