Clock, Power and Performance Control

Clock, Power and Performance Control#

ROCmSMI: Clock, Power and Performance Control
Clock, Power and Performance Control

Functions

rsmi_status_t rsmi_dev_perf_level_set (uint32_t dv_ind, rsmi_dev_perf_level_t perf_lvl)
 Set the PowerPlay performance level associated with the device with provided device index with the provided value. More...
 
rsmi_status_t rsmi_dev_perf_level_set_v1 (uint32_t dv_ind, rsmi_dev_perf_level_t perf_lvl)
 Set the PowerPlay performance level associated with the device with provided device index with the provided value. More...
 
rsmi_status_t rsmi_dev_overdrive_level_set (uint32_t dv_ind, uint32_t od)
 Set the overdrive percent associated with the device with provided device index with the provided value. See details for WARNING. More...
 
rsmi_status_t rsmi_dev_overdrive_level_set_v1 (uint32_t dv_ind, uint32_t od)
 Set the overdrive percent associated with the device with provided device index with the provided value. See details for WARNING. More...
 
rsmi_status_t rsmi_dev_gpu_clk_freq_set (uint32_t dv_ind, rsmi_clk_type_t clk_type, uint64_t freq_bitmask)
 Control the set of allowed frequencies that can be used for the specified clock. More...
 

Detailed Description

These functions provide control over clock frequencies, power and performance.

Function Documentation

◆ rsmi_dev_perf_level_set()

rsmi_status_t rsmi_dev_perf_level_set ( uint32_t  dv_ind,
rsmi_dev_perf_level_t  perf_lvl 
)

Set the PowerPlay performance level associated with the device with provided device index with the provided value.

Deprecated:
rsmi_dev_perf_level_set_v1() is preferred, with an interface that more closely matches the rest of the rocm_smi API.

Given a device index dv_ind and an rsmi_dev_perf_level_t perf_level, this function will set the PowerPlay performance level for the device to the value perf_lvl.

Parameters
[in]dv_inda device index
[in]perf_lvlthe value to which the performance level should be set
Return values
RSMI_STATUS_SUCCESSis returned upon successful call.
RSMI_STATUS_NOT_SUPPORTEDinstalled software or hardware does not support this function with the given arguments
RSMI_STATUS_PERMISSIONfunction requires root access

◆ rsmi_dev_perf_level_set_v1()

rsmi_status_t rsmi_dev_perf_level_set_v1 ( uint32_t  dv_ind,
rsmi_dev_perf_level_t  perf_lvl 
)

Set the PowerPlay performance level associated with the device with provided device index with the provided value.

Given a device index dv_ind and an rsmi_dev_perf_level_t perf_level, this function will set the PowerPlay performance level for the device to the value perf_lvl.

Parameters
[in]dv_inda device index
[in]perf_lvlthe value to which the performance level should be set
Return values
RSMI_STATUS_SUCCESSis returned upon successful call.
RSMI_STATUS_NOT_SUPPORTEDinstalled software or hardware does not support this function with the given arguments
RSMI_STATUS_PERMISSIONfunction requires root access

◆ rsmi_dev_overdrive_level_set()

rsmi_status_t rsmi_dev_overdrive_level_set ( uint32_t  dv_ind,
uint32_t  od 
)

Set the overdrive percent associated with the device with provided device index with the provided value. See details for WARNING.

Deprecated:
This function is deprecated. rsmi_dev_overdrive_level_set_v1 has the same functionaltiy, with an interface that more closely matches the rest of the rocm_smi API.

Given a device index dv_ind and an overdrive level od, this function will set the overdrive level for the device to the value od. The overdrive level is an integer value between 0 and 20, inclusive, which represents the overdrive percentage; e.g., a value of 5 specifies an overclocking of 5%.

The overdrive level is specific to the gpu system clock.

The overdrive level is the percentage above the maximum Performance Level to which overclocking will be limited. The overclocking percentage does not apply to clock speeds other than the maximum. This percentage is limited to 20%.

******WARNING****** Operating your AMD GPU outside of official AMD specifications or outside of factory settings, including but not limited to the conducting of overclocking (including use of this overclocking software, even if such software has been directly or indirectly provided by AMD or otherwise affiliated in any way with AMD), may cause damage to your AMD GPU, system components and/or result in system failure, as well as cause other problems. DAMAGES CAUSED BY USE OF YOUR AMD GPU OUTSIDE OF OFFICIAL AMD SPECIFICATIONS OR OUTSIDE OF FACTORY SETTINGS ARE NOT COVERED UNDER ANY AMD PRODUCT WARRANTY AND MAY NOT BE COVERED BY YOUR BOARD OR SYSTEM MANUFACTURER'S WARRANTY. Please use this utility with caution.

Parameters
[in]dv_inda device index
[in]odthe value to which the overdrive level should be set
Return values
RSMI_STATUS_SUCCESScall was successful
RSMI_STATUS_NOT_SUPPORTEDinstalled software or hardware does not support this function with the given arguments
RSMI_STATUS_PERMISSIONfunction requires root access

◆ rsmi_dev_overdrive_level_set_v1()

rsmi_status_t rsmi_dev_overdrive_level_set_v1 ( uint32_t  dv_ind,
uint32_t  od 
)

Set the overdrive percent associated with the device with provided device index with the provided value. See details for WARNING.

Given a device index dv_ind and an overdrive level od, this function will set the overdrive level for the device to the value od. The overdrive level is an integer value between 0 and 20, inclusive, which represents the overdrive percentage; e.g., a value of 5 specifies an overclocking of 5%.

The overdrive level is specific to the gpu system clock.

The overdrive level is the percentage above the maximum Performance Level to which overclocking will be limited. The overclocking percentage does not apply to clock speeds other than the maximum. This percentage is limited to 20%.

******WARNING****** Operating your AMD GPU outside of official AMD specifications or outside of factory settings, including but not limited to the conducting of overclocking (including use of this overclocking software, even if such software has been directly or indirectly provided by AMD or otherwise affiliated in any way with AMD), may cause damage to your AMD GPU, system components and/or result in system failure, as well as cause other problems. DAMAGES CAUSED BY USE OF YOUR AMD GPU OUTSIDE OF OFFICIAL AMD SPECIFICATIONS OR OUTSIDE OF FACTORY SETTINGS ARE NOT COVERED UNDER ANY AMD PRODUCT WARRANTY AND MAY NOT BE COVERED BY YOUR BOARD OR SYSTEM MANUFACTURER'S WARRANTY. Please use this utility with caution.

Parameters
[in]dv_inda device index
[in]odthe value to which the overdrive level should be set
Return values
RSMI_STATUS_SUCCESScall was successful
RSMI_STATUS_NOT_SUPPORTEDinstalled software or hardware does not support this function with the given arguments
RSMI_STATUS_PERMISSIONfunction requires root access

◆ rsmi_dev_gpu_clk_freq_set()

rsmi_status_t rsmi_dev_gpu_clk_freq_set ( uint32_t  dv_ind,
rsmi_clk_type_t  clk_type,
uint64_t  freq_bitmask 
)

Control the set of allowed frequencies that can be used for the specified clock.

Given a device index dv_ind, a clock type clk_type, and a 64 bit bitmask freq_bitmask, this function will limit the set of allowable frequencies. If a bit in freq_bitmask has a value of 1, then the frequency (as ordered in an rsmi_frequencies_t returned by rsmi_dev_gpu_clk_freq_get()) corresponding to that bit index will be allowed.

This function will change the performance level to RSMI_DEV_PERF_LEVEL_MANUAL in order to modify the set of allowable frequencies. Caller will need to set to RSMI_DEV_PERF_LEVEL_AUTO in order to get back to default state.

All bits with indices greater than or equal to rsmi_frequencies_t::num_supported will be ignored.

Parameters
[in]dv_inda device index
[in]clk_typethe type of clock for which the set of frequencies will be modified
[in]freq_bitmaskA bitmask indicating the indices of the frequencies that are to be enabled (1) and disabled (0). Only the lowest rsmi_frequencies_t.num_supported bits of this mask are relevant.
Return values
RSMI_STATUS_SUCCESSis returned upon successful call.
RSMI_STATUS_NOT_SUPPORTEDinstalled software or hardware does not support this function with the given arguments
RSMI_STATUS_PERMISSIONfunction requires root access