AMD RDNA 2 temp header

Some AMD RDNA2-based GPUs come with a power management feature, called ‘Duty Cycle Scaling/DCS’

According to a recent report coming via Phoronix, AMD’s RDNA2 GPUs have a power management feature dubbed as Duty Cycle Scaling (DCS), as discovered in a recent Linux patch. This feature aims to either temporarily boost performance or reduce the power consumption based on some GPU parameters.

As noted by Phoronix, the new Duty Cycle Scaling (DCS) feature can basically reduce the power consumption of the GPU in order to meet certain TDP requirements set by AMD. So this feature will turn off the GPU graphics core temporarily, when the card is under heavy load, and then turn it back on once a certain requirement is met.

However, this Duty Cycle Scaling feature is actually designed for “small power limit SKUs”, so basically the high-end and midrange GPUs don’t actually fall in this category, but AMD can implement it in future GPUs if required.

But according to AMD’s Linux patches, DCS is currently supported by Sienna Cichlid (Navi 21, Big Navi GPU lineup), Dimgrey Cavefish, and Navy Flounder GPUs (which are midrange and entry-level RDNA2 GPUs).

Dimgrey Cavefish codename must be the Navi 23 GPU lineup to be featured in either the Radeon RX 6600 or RX 6500 GPUs, depending on AMD’s planned roadmap. Sienna Cichlid on the other hand is associated with the Navi 21 silicon. Navy Flounder are the Navi 22 or 23 graphics cards.

Implementing this DCS is not a compulsion from AMD, but if the company decides to install one of these GPUs in an environment constrained by thermals, then they can enable DCS monitoring in the process. The DCS functionality works based on the ‘current’, ‘power’ and ‘temperature’ threshold values.

The graphics firmware will power down the GPU during heavy workload, since the firmware controls this new DCS functionality. During any heavy workload, once a particular limit has been reached the graphics core can be temporarily shut down, and then powered back depending on certain power and/or temperature envelope values.

The on and off start time and duration is determined by the firmware itself.

According to Phoronix, AMD’s GPUs also support the GFXOFF feature, which is used to shut down the GPU cores when they are idling, which is not the same as this DCS functionality. Duty Cycle scaling is just used to cope with high thermals and power use when under load, unlike GFXOFF.

According to the recent Linux patch there are actually two types of DCS, Async DCS and frame-aligned DCS. Async will just shut down the graphics core based on GPU’s thermal, current, and power parameters.

The frame-aligned DCS on the other hand is designed to shut off the graphics core after it renders a frame, which means the GPU “power cycle” would happen between frame renderings.

Async DCS is the only mode supported right now, whereas the frame-aligned DCS is not supported at the moment.  The frame-aligned DCS feature is actually designed for 3D fullscreen and VR workloads. In order for this DCS feature to work properly, it has to be supported by the GPU, its firmware, driver, and the operating system/OS. Else, it won’t function.

Lastly, as Phoronix reports,

“The initial version of the AMDGPU Duty Cycle Scaling support limited it to Navy Flounder and Dimgrey Cavefish while the latest patch revision has changed that to being enabled on all GPUs past Sienna Cichlid (Radeon RX 6800/6900 series). Given the timing of this patch, the DCS support for the Linux driver likely won’t be mainlined until Linux 5.13.”

Stay tuned for more tech news!