AMD RDNA2 "Duty Cycle Scaling" Will Turn Off The GPU Under Heavy Load For Relief

AMD graphics Duty Cycle Scaling is designed for "small power limit SKUs" and is designed to actually shut off the graphics core and power it back up based on current/power/temperature thresholds. Under heavy workloads, the AMD "DCS" functionality controlled by the graphics firmware will power down the GPU during heavy load scenarios for power/thermal relief before being powered back up to resume work.
This is basically the opposite of the existing GFXOFF where the graphics core can power down when idle to save power -- Duty Cycle scaling is just to cope with high thermals and power use when under load. The duration for which DCS has the GPU powered down is based on firmware behavior. There is even a frame-aligned DCS mode whereby which the GPU power cycle would happen between frame rendering.
The Linux patch sent out this week wires up DCS support to the AMDGPU Linux kernel driver. Hopefully this really is a last resort for dealing with power/thermal as obviously it will interrupt the performance for real-time rendering. The current implementation is just for "async DCS" with the frame-aligned DCS mode not yet being supported, thus in this mode DCS is disabled for 3D full-screen and VR workloads.
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.
6 Comments