Power Profile Information#
Macros#
- NVML_WORKLOAD_POWER_MAX_PROFILES
- nvmlWorkloadPowerProfileCurrentProfiles_v1
- nvmlWorkloadPowerProfileInfo_v1
Version macro for nvmlWorkloadPowerProfileInfo_v1_t .
- nvmlWorkloadPowerProfileProfilesInfo_v1
Version macro for nvmlWorkloadPowerProfileProfilesInfo_v1_t .
- nvmlWorkloadPowerProfileRequestedProfiles_v1
Version macro for nvmlWorkloadPowerProfileRequestedProfiles_v1_t .
- nvmlWorkloadPowerProfileUpdateProfiles_v1
Enumerations#
- nvmlPowerProfileOperation_t
Enum for operation to perform on the requested profiles.
- nvmlPowerProfileType_t
Functions#
- nvmlReturn_t nvmlDeviceWorkloadPowerProfileClearRequestedProfiles(nvmlDevice_t device, nvmlWorkloadPowerProfileRequestedProfiles_t *requestedProfiles)
- nvmlReturn_t nvmlDeviceWorkloadPowerProfileGetCurrentProfiles(nvmlDevice_t device, nvmlWorkloadPowerProfileCurrentProfiles_t *currentProfiles)
Get Current Performance Profiles.
- nvmlReturn_t nvmlDeviceWorkloadPowerProfileGetProfilesInfo(nvmlDevice_t device, nvmlWorkloadPowerProfileProfilesInfo_t *profilesInfo)
Get Performance Profiles Information.
- nvmlReturn_t nvmlDeviceWorkloadPowerProfileSetRequestedProfiles(nvmlDevice_t device, nvmlWorkloadPowerProfileRequestedProfiles_t *requestedProfiles)
- nvmlReturn_t nvmlDeviceWorkloadPowerProfileUpdateProfiles_v1(nvmlDevice_t device, nvmlWorkloadPowerProfileUpdateProfiles_v1_t *updateProfiles)
Update Requested Performance Profiles.
Structs#
- nvmlWorkloadPowerProfileCurrentProfiles_v1_t
Current Profiles.
- nvmlWorkloadPowerProfileInfo_v1_t
Profile Metadata.
- nvmlWorkloadPowerProfileProfilesInfo_v1_t
Profiles Info.
- nvmlWorkloadPowerProfileRequestedProfiles_v1_t
Requested Profiles.
- nvmlWorkloadPowerProfileUpdateProfiles_v1_t
Update Profiles.
Typedefs#
Macros#
-
NVML_WORKLOAD_POWER_MAX_PROFILES#
-
nvmlWorkloadPowerProfileCurrentProfiles_v1#
-
nvmlWorkloadPowerProfileInfo_v1#
Version macro for nvmlWorkloadPowerProfileInfo_v1_t.
-
nvmlWorkloadPowerProfileProfilesInfo_v1#
Version macro for nvmlWorkloadPowerProfileProfilesInfo_v1_t.
-
nvmlWorkloadPowerProfileRequestedProfiles_v1#
Version macro for nvmlWorkloadPowerProfileRequestedProfiles_v1_t.
-
nvmlWorkloadPowerProfileUpdateProfiles_v1#
Enumerations#
-
enum nvmlPowerProfileOperation_t#
Enum for operation to perform on the requested profiles.
Values:
-
enumerator NVML_POWER_PROFILE_OPERATION_CLEAR#
Remove the requested profiles from the existing list of requested profiles.
-
enumerator NVML_POWER_PROFILE_OPERATION_SET#
Add the requested profiles to the existing list of requested profiles.
-
enumerator NVML_POWER_PROFILE_OPERATION_SET_AND_OVERWRITE#
Overwrite the existing list of requested profiles with just the requested profiles.
-
enumerator NVML_POWER_PROFILE_OPERATION_MAX#
Max value above +1.
-
enumerator NVML_POWER_PROFILE_OPERATION_CLEAR#
-
enum nvmlPowerProfileType_t#
Values:
-
enumerator NVML_POWER_PROFILE_MAX_P#
-
enumerator NVML_POWER_PROFILE_MAX_Q#
-
enumerator NVML_POWER_PROFILE_COMPUTE#
-
enumerator NVML_POWER_PROFILE_MEMORY_BOUND#
-
enumerator NVML_POWER_PROFILE_NETWORK#
-
enumerator NVML_POWER_PROFILE_BALANCED#
-
enumerator NVML_POWER_PROFILE_LLM_INFERENCE#
-
enumerator NVML_POWER_PROFILE_LLM_TRAINING#
-
enumerator NVML_POWER_PROFILE_RBM#
-
enumerator NVML_POWER_PROFILE_DCPCIE#
-
enumerator NVML_POWER_PROFILE_HMMA_SPARSE#
-
enumerator NVML_POWER_PROFILE_HMMA_DENSE#
-
enumerator NVML_POWER_PROFILE_SYNC_BALANCED#
-
enumerator NVML_POWER_PROFILE_HPC#
-
enumerator NVML_POWER_PROFILE_MIG#
-
enumerator NVML_POWER_PROFILE_MAX_Q_1#
-
enumerator NVML_POWER_PROFILE_NETWORK_BOUND#
-
enumerator NVML_POWER_PROFILE_HIGH_THROUGHPUT_INFERENCE#
-
enumerator NVML_POWER_PROFILE_MEDIUM_THROUGHPUT_INFERENCE#
-
enumerator NVML_POWER_PROFILE_LOW_LATENCY_INFERENCE#
-
enumerator NVML_POWER_PROFILE_TRAINING#
-
enumerator NVML_POWER_PROFILE_INFERENCE#
-
enumerator NVML_POWER_PROFILE_MAX_Q_2#
-
enumerator NVML_POWER_PROFILE_MAX_Q_3#
-
enumerator NVML_POWER_PROFILE_LOW_PRIORITY_BACKGROUND#
-
enumerator NVML_POWER_PROFILE_MAX#
-
enumerator NVML_POWER_PROFILE_MAX_P#
Functions#
- nvmlReturn_t nvmlDeviceWorkloadPowerProfileClearRequestedProfiles(
- nvmlDevice_t device,
- nvmlWorkloadPowerProfileRequestedProfiles_t *requestedProfiles,
- Deprecated:
Use nvmlDeviceWorkloadPowerProfileUpdateProfiles_v1 instead Clear Requested Performance Profiles
For Blackwell or newer fully supported devices. See nvmlWorkloadPowerProfileRequestedProfiles_v1_t for more information on the struct. Clear one or more performance profiles be using the input bitmask requestedProfilesMask, where each bit set corresponds to a supported bit from the perfProfilesMask. These profiles will be removed from the existing list of currently requested profiles. Requires root/admin permissions.
- Parameters:
device – The identifier of the target device
requestedProfiles – Reference to struct nvmlWorkloadPowerProfileRequestedProfiles_v1_t
- Returns:
NVML_SUCCESS If the query is successful
NVML_ERROR_UNINITIALIZED If the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT If device is invalid or pointer to struct is NULL
NVML_ERROR_NOT_SUPPORTED If the device does not support this feature
NVML_ERROR_GPU_IS_LOST If the target GPU has fallen off the bus or is otherwise inaccessible
NVML_ERROR_ARGUMENT_VERSION_MISMATCH If the provided version is invalid/unsupported
NVML_ERROR_UNKNOWN On any unexpected error
- nvmlReturn_t nvmlDeviceWorkloadPowerProfileGetCurrentProfiles(
- nvmlDevice_t device,
- nvmlWorkloadPowerProfileCurrentProfiles_t *currentProfiles,
Get Current Performance Profiles.
For Blackwell or newer fully supported devices. See nvmlWorkloadPowerProfileCurrentProfiles_v1_t for more information on the struct. This API returns a stuct which contains the current perfProfilesMask, requestedProfilesMask and enforcedProfilesMask. Each bit set in each bitmasks indicates the profile is supported, currently requested or currently engaged, respectively.
- Parameters:
device – The identifier of the target device
currentProfiles – Reference to struct nvmlWorkloadPowerProfileCurrentProfiles_v1_t
- Returns:
NVML_SUCCESS If the query is successful
NVML_ERROR_UNINITIALIZED If the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT If device is invalid or the pointer to struct is NULL
NVML_ERROR_NOT_SUPPORTED If the device does not support this feature
NVML_ERROR_GPU_IS_LOST If the target GPU has fallen off the bus or is otherwise inaccessible
NVML_ERROR_ARGUMENT_VERSION_MISMATCH If the provided version is invalid/unsupported
NVML_ERROR_UNKNOWN On any unexpected error
- nvmlReturn_t nvmlDeviceWorkloadPowerProfileGetProfilesInfo(
- nvmlDevice_t device,
- nvmlWorkloadPowerProfileProfilesInfo_t *profilesInfo,
Get Performance Profiles Information.
For Blackwell or newer fully supported devices. See nvmlWorkloadPowerProfileProfilesInfo_v1_t for more information on the struct. The mask perfProfilesMask is bitmask of all supported mode indices where the mode is supported if the index is 1. Each supported mode will have a corresponding entry in the perfProfile array which will contain the profileId, the priority of this mode, where the lower the value, the higher the priority, and a conflictingMask, where each bit set in the mask corresponds to a different profile which cannot be used in conjunction with the given profile.
- Parameters:
device – The identifier of the target device
profilesInfo – Reference to struct nvmlWorkloadPowerProfileProfilesInfo_t
- Returns:
NVML_SUCCESS If the query is successful
NVML_ERROR_INSUFFICIENT_SIZE If struct is fully allocated
NVML_ERROR_UNINITIALIZED If the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT If device is invalid or pointer to struct is NULL
NVML_ERROR_NOT_SUPPORTED If the device does not support this feature
NVML_ERROR_GPU_IS_LOST If the target GPU has fallen off the bus or is otherwise inaccessible
NVML_ERROR_ARGUMENT_VERSION_MISMATCH If the provided version is invalid/unsupported
NVML_ERROR_UNKNOWN On any unexpected error
- nvmlReturn_t nvmlDeviceWorkloadPowerProfileSetRequestedProfiles(
- nvmlDevice_t device,
- nvmlWorkloadPowerProfileRequestedProfiles_t *requestedProfiles,
- Deprecated:
Use nvmlDeviceWorkloadPowerProfileUpdateProfiles_v1 instead Set Requested Performance Profiles
For Blackwell or newer fully supported devices. See nvmlWorkloadPowerProfileRequestedProfiles_v1_t for more information on the struct. Request one or more performance profiles be activated using the input bitmask requestedProfilesMask, where each bit set corresponds to a supported bit from the perfProfilesMask. These profiles will be added to existing list of currently requested profiles. Requires root/admin permissions.
- Parameters:
device – The identifier of the target device
requestedProfiles – Reference to struct nvmlWorkloadPowerProfileRequestedProfiles_v1_t
- Returns:
NVML_SUCCESS If the query is successful
NVML_ERROR_UNINITIALIZED If the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT If device is invalid or pointer to struct is NULL
NVML_ERROR_NOT_SUPPORTED If the device does not support this feature
NVML_ERROR_GPU_IS_LOST If the target GPU has fallen off the bus or is otherwise inaccessible
NVML_ERROR_ARGUMENT_VERSION_MISMATCH If the provided version is invalid/unsupported
NVML_ERROR_UNKNOWN On any unexpected error
- nvmlReturn_t nvmlDeviceWorkloadPowerProfileUpdateProfiles_v1(
- nvmlDevice_t device,
- nvmlWorkloadPowerProfileUpdateProfiles_v1_t *updateProfiles,
Update Requested Performance Profiles.
For Blackwell or newer fully supported devices. See nvmlWorkloadPowerProfileUpdateProfiles_v1_t for more information on the struct. Update the requested performance profiles using the input bitmask updateProfilesMask, where each bit set corresponds to a supported bit from the perfProfilesMask. The operation parameter specifies the operation to perform, see nvmlPowerProfileOperation_t for more information. Requires root/admin permissions or access to the NVIDIA WPPS capability.
- Parameters:
device – The identifier of the target device
updateProfiles – Reference to struct nvmlWorkloadPowerProfileUpdateProfiles_v1_t
- Returns:
NVML_SUCCESS If the query is successful
NVML_ERROR_UNINITIALIZED If the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT If device is invalid or pointer to struct is NULL
NVML_ERROR_NOT_SUPPORTED If the device does not support this feature
NVML_ERROR_GPU_IS_LOST If the target GPU has fallen off the bus or is otherwise inaccessible
NVML_ERROR_UNKNOWN On any unexpected error
Typedefs#
-
typedef nvmlWorkloadPowerProfileCurrentProfiles_v1_t nvmlWorkloadPowerProfileCurrentProfiles_t#
-
typedef nvmlWorkloadPowerProfileInfo_v1_t nvmlWorkloadPowerProfileInfo_t#
-
typedef nvmlWorkloadPowerProfileProfilesInfo_v1_t nvmlWorkloadPowerProfileProfilesInfo_t#
-
typedef nvmlWorkloadPowerProfileRequestedProfiles_v1_t nvmlWorkloadPowerProfileRequestedProfiles_t#