Overclock#
oneAPI Level Zero Specification - Version 1.18.31
Overclock Functions#
zesOverclockGetDomainProperties#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesOverclockGetDomainProperties(zes_overclock_handle_t hDomainHandle, zes_overclock_properties_t *pDomainProperties)#
Get overclock domain control properties.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDomainHandle – [in] Handle for the component domain.
pDomainProperties – [in,out] The overclock properties for the specified domain.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDomainHandle
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pDomainProperties
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
Overclocking is not supported on this control domain
zesOverclockGetDomainVFProperties#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesOverclockGetDomainVFProperties(zes_overclock_handle_t hDomainHandle, zes_vf_property_t *pVFProperties)#
Read overclock VF min,max and step values.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDomainHandle – [in] Handle for the component domain.
pVFProperties – [in,out] The VF min,max,step for a specified domain.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDomainHandle
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pVFProperties
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
Overclocking is not supported on this control domain
zesOverclockGetDomainControlProperties#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesOverclockGetDomainControlProperties(zes_overclock_handle_t hDomainHandle, zes_overclock_control_t DomainControl, zes_control_property_t *pControlProperties)#
Read overclock control values - min/max/step/default/ref.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDomainHandle – [in] Handle for the component domain.
DomainControl – [in] Handle for the component.
pControlProperties – [in,out] overclock control values.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDomainHandle
ZE_RESULT_ERROR_INVALID_ENUMERATION
ZES_OVERCLOCK_CONTROL_ACM_DISABLE < DomainControl
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pControlProperties
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
Overclocking is not supported on this control domain
zesOverclockGetControlCurrentValue#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesOverclockGetControlCurrentValue(zes_overclock_handle_t hDomainHandle, zes_overclock_control_t DomainControl, double *pValue)#
Read the current value for a given overclock control.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDomainHandle – [in] Handle for the component.
DomainControl – [in] Overclock Control.
pValue – [in,out] Getting overclock control value for the specified control.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDomainHandle
ZE_RESULT_ERROR_INVALID_ENUMERATION
ZES_OVERCLOCK_CONTROL_ACM_DISABLE < DomainControl
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pValue
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
Overclocking is not supported on this control domain
zesOverclockGetControlPendingValue#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesOverclockGetControlPendingValue(zes_overclock_handle_t hDomainHandle, zes_overclock_control_t DomainControl, double *pValue)#
Read the the reset pending value for a given overclock control.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDomainHandle – [in] Handle for the component domain.
DomainControl – [in] Overclock Control.
pValue – [out] Returns the pending value for a given control. The units and format of the value depend on the control type.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDomainHandle
ZE_RESULT_ERROR_INVALID_ENUMERATION
ZES_OVERCLOCK_CONTROL_ACM_DISABLE < DomainControl
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pValue
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
Overclocking is not supported on this control domain
zesOverclockSetControlUserValue#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesOverclockSetControlUserValue(zes_overclock_handle_t hDomainHandle, zes_overclock_control_t DomainControl, double pValue, zes_pending_action_t *pPendingAction)#
Set the value for a given overclock control.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDomainHandle – [in] Handle for the component domain.
DomainControl – [in] Domain Control.
pValue – [in] The new value of the control. The units and format of the value depend on the control type.
pPendingAction – [out] Pending overclock setting.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDomainHandle
ZE_RESULT_ERROR_INVALID_ENUMERATION
ZES_OVERCLOCK_CONTROL_ACM_DISABLE < DomainControl
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pPendingAction
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
Overclocking is not supported on this control domain
zesOverclockGetControlState#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesOverclockGetControlState(zes_overclock_handle_t hDomainHandle, zes_overclock_control_t DomainControl, zes_control_state_t *pControlState, zes_pending_action_t *pPendingAction)#
Determine the state of an overclock control.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDomainHandle – [in] Handle for the component domain.
DomainControl – [in] Domain Control.
pControlState – [out] Current overclock control state.
pPendingAction – [out] Pending overclock setting.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDomainHandle
ZE_RESULT_ERROR_INVALID_ENUMERATION
ZES_OVERCLOCK_CONTROL_ACM_DISABLE < DomainControl
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pControlStatenullptr == pPendingAction
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
Overclocking is not supported on this control domain
zesOverclockGetVFPointValues#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesOverclockGetVFPointValues(zes_overclock_handle_t hDomainHandle, zes_vf_type_t VFType, zes_vf_array_type_t VFArrayType, uint32_t PointIndex, uint32_t *PointValue)#
Read the frequency or voltage of a V-F point from the default or custom V-F curve.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDomainHandle – [in] Handle for the component domain.
VFType – [in] Voltage or Frequency point to read.
VFArrayType – [in] User,Default or Live VF array to read from
PointIndex – [in] Point index - number between (0, max_num_points - 1).
PointValue – [out] Returns the frequency in 1kHz units or voltage in millivolt units from the custom V-F curve at the specified zero-based index
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDomainHandle
ZE_RESULT_ERROR_INVALID_ENUMERATION
ZES_VF_TYPE_FREQ < VFTypeZES_VF_ARRAY_TYPE_LIVE_VF_ARRAY < VFArrayType
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == PointValue
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
Overclocking is not supported on this control domain
zesOverclockSetVFPointValues#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesOverclockSetVFPointValues(zes_overclock_handle_t hDomainHandle, zes_vf_type_t VFType, uint32_t PointIndex, uint32_t PointValue)#
Write the frequency or voltage of a V-F point to custom V-F curve.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDomainHandle – [in] Handle for the component domain.
VFType – [in] Voltage or Frequency point to read.
PointIndex – [in] Point index - number between (0, max_num_points - 1).
PointValue – [in] Writes frequency in 1kHz units or voltage in millivolt units to custom V-F curve at the specified zero-based index
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDomainHandle
ZE_RESULT_ERROR_INVALID_ENUMERATION
ZES_VF_TYPE_FREQ < VFType
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
Overclocking is not supported on this control domain
Overclock Enums#
zes_overclock_control_t#
Added in version 1.5
-
enum zes_overclock_control_t#
Overclock controls.
Values:
-
enumerator ZES_OVERCLOCK_CONTROL_VF#
This control permits setting a custom V-F curve.
-
enumerator ZES_OVERCLOCK_CONTROL_FREQ_OFFSET#
The V-F curve of the overclock domain can be shifted up or down using this control.
-
enumerator ZES_OVERCLOCK_CONTROL_VMAX_OFFSET#
This control is used to increase the permitted voltage above the shipped voltage maximum.
-
enumerator ZES_OVERCLOCK_CONTROL_FREQ#
This control permits direct changes to the operating frequency.
-
enumerator ZES_OVERCLOCK_CONTROL_VOLT_LIMIT#
This control prevents frequencies that would push the voltage above this value, typically used by V-F scanners.
-
enumerator ZES_OVERCLOCK_CONTROL_POWER_SUSTAINED_LIMIT#
This control changes the sustained power limit (PL1).
-
enumerator ZES_OVERCLOCK_CONTROL_POWER_BURST_LIMIT#
This control changes the burst power limit (PL2).
-
enumerator ZES_OVERCLOCK_CONTROL_POWER_PEAK_LIMIT#
his control changes the peak power limit (PL4).
-
enumerator ZES_OVERCLOCK_CONTROL_ICCMAX_LIMIT#
This control changes the value of IccMax..
-
enumerator ZES_OVERCLOCK_CONTROL_TEMP_LIMIT#
This control changes the value of TjMax.
-
enumerator ZES_OVERCLOCK_CONTROL_ITD_DISABLE#
This control permits disabling the adaptive voltage feature ITD.
-
enumerator ZES_OVERCLOCK_CONTROL_ACM_DISABLE#
This control permits disabling the adaptive voltage feature ACM.
-
enumerator ZES_OVERCLOCK_CONTROL_FORCE_UINT32#
Value marking end of ZES_OVERCLOCK_CONTROL_* ENUMs.
-
enumerator ZES_OVERCLOCK_CONTROL_VF#
zes_overclock_mode_t#
Added in version 1.5
-
enum zes_overclock_mode_t#
Overclock modes.
Values:
-
enumerator ZES_OVERCLOCK_MODE_MODE_OFF#
Overclock mode is off.
-
enumerator ZES_OVERCLOCK_MODE_MODE_STOCK#
Stock (manufacturing settings) are being used.
-
enumerator ZES_OVERCLOCK_MODE_MODE_ON#
Overclock mode is on.
-
enumerator ZES_OVERCLOCK_MODE_MODE_UNAVAILABLE#
Overclocking is unavailable at this time since the system is running on battery.
-
enumerator ZES_OVERCLOCK_MODE_MODE_DISABLED#
Overclock mode is disabled.
-
enumerator ZES_OVERCLOCK_MODE_FORCE_UINT32#
Value marking end of ZES_OVERCLOCK_MODE_* ENUMs.
-
enumerator ZES_OVERCLOCK_MODE_MODE_OFF#
zes_control_state_t#
Added in version 1.5
-
enum zes_control_state_t#
Overclock control states.
Values:
-
enumerator ZES_CONTROL_STATE_STATE_UNSET#
No overclock control has not been changed by the driver since the last boot/reset.
-
enumerator ZES_CONTROL_STATE_STATE_ACTIVE#
The overclock control has been set and it is active.
-
enumerator ZES_CONTROL_STATE_STATE_DISABLED#
The overclock control value has been disabled due to the current power configuration (typically when running on DC).
-
enumerator ZES_CONTROL_STATE_FORCE_UINT32#
Value marking end of ZES_CONTROL_STATE_* ENUMs.
-
enumerator ZES_CONTROL_STATE_STATE_UNSET#
zes_pending_action_t#
Added in version 1.5
-
enum zes_pending_action_t#
Overclock pending actions.
Values:
-
enumerator ZES_PENDING_ACTION_PENDING_NONE#
There no pending actions. .
-
enumerator ZES_PENDING_ACTION_PENDING_IMMINENT#
The requested change is in progress and should complete soon.
-
enumerator ZES_PENDING_ACTION_PENDING_COLD_RESET#
The requested change requires a device cold reset (hotplug, system boot).
-
enumerator ZES_PENDING_ACTION_PENDING_WARM_RESET#
The requested change requires a device warm reset (PCIe FLR).
-
enumerator ZES_PENDING_ACTION_FORCE_UINT32#
Value marking end of ZES_PENDING_ACTION_* ENUMs.
-
enumerator ZES_PENDING_ACTION_PENDING_NONE#
zes_vf_program_type_t#
Added in version 1.5
-
enum zes_vf_program_type_t#
Overclock V-F curve programming.
Values:
-
enumerator ZES_VF_PROGRAM_TYPE_VF_ARBITRARY#
Can program an arbitrary number of V-F points up to the maximum number and each point can have arbitrary voltage and frequency values within the min/max/step limits
-
enumerator ZES_VF_PROGRAM_TYPE_VF_FREQ_FIXED#
Can only program the voltage for the V-F points that it reads back - the frequency of those points cannot be changed
-
enumerator ZES_VF_PROGRAM_TYPE_VF_VOLT_FIXED#
Can only program the frequency for the V-F points that is reads back - the voltage of each point cannot be changed.
-
enumerator ZES_VF_PROGRAM_TYPE_FORCE_UINT32#
Value marking end of ZES_VF_PROGRAM_TYPE_* ENUMs.
-
enumerator ZES_VF_PROGRAM_TYPE_VF_ARBITRARY#
zes_vf_type_t#
Added in version 1.5
zes_vf_array_type_t#
Added in version 1.5
-
enum zes_vf_array_type_t#
VF type.
Values:
-
enumerator ZES_VF_ARRAY_TYPE_USER_VF_ARRAY#
User V-F array.
-
enumerator ZES_VF_ARRAY_TYPE_DEFAULT_VF_ARRAY#
Default V-F array.
-
enumerator ZES_VF_ARRAY_TYPE_LIVE_VF_ARRAY#
Live V-F array.
-
enumerator ZES_VF_ARRAY_TYPE_FORCE_UINT32#
Value marking end of ZES_VF_ARRAY_TYPE_* ENUMs.
-
enumerator ZES_VF_ARRAY_TYPE_USER_VF_ARRAY#
Overclock Structures#
zes_overclock_properties_t#
Added in version 1.5
-
struct zes_overclock_properties_t#
Overclock properties.
Information on the overclock domain type and all the controls that are part of the domain.
Public Members
-
zes_structure_type_t stype#
[in] type of this structure
-
void *pNext#
[in,out][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
-
zes_overclock_domain_t domainType#
[out] The hardware block that this overclock domain controls (GPU, VRAM, …)
-
uint32_t AvailableControls#
[out] Returns the overclock controls that are supported (a bit for each of enum zes_overclock_control_t). If no bits are set, the domain doesn’t support overclocking.
-
zes_vf_program_type_t VFProgramType#
[out] Type of V-F curve programming that is permitted:.
-
uint32_t NumberOfVFPoints#
[out] Number of VF points that can be programmed - max_num_points
zes_control_property_t#
Added in version 1.5
-
struct zes_control_property_t#
Overclock Control properties.
Provides all the control capabilities supported by the device for the overclock domain.
Public Members
-
double MinValue#
[out] This provides information about the limits of the control value so that the driver can calculate the set of valid values.
-
double MaxValue#
[out] This provides information about the limits of the control value so that the driver can calculate the set of valid values.
-
double StepValue#
[out] This provides information about the limits of the control value so that the driver can calculate the set of valid values.
-
double RefValue#
[out] The reference value provides the anchor point, UIs can combine this with the user offset request to show the anticipated improvement.
-
double DefaultValue#
[out] The shipped out-of-box position of this control. Driver can request this value at any time to return to the out-of-box behavior.
zes_vf_property_t#
Added in version 1.5
-
struct zes_vf_property_t#
Overclock VF properties.
Provides all the VF capabilities supported by the device for the overclock domain.
Public Members
-
double MinFreq#
[out] Read the minimum frequency that can be be programmed in the custom V-F point..
-
double MaxFreq#
[out] Read the maximum frequency that can be be programmed in the custom V-F point..
-
double StepFreq#
[out] Read the frequency step that can be be programmed in the custom V-F point..
-
double MinVolt#
[out] Read the minimum voltage that can be be programmed in the custom V-F point..
-
double MaxVolt#
[out] Read the maximum voltage that can be be programmed in the custom V-F point..
-
double StepVolt#
[out] Read the voltage step that can be be programmed in the custom V-F point.