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#

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.

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#

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:
Returns:

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:
Returns:

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:

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:
Returns:

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:
Returns:

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#