AMD finally adds hardware accelerated GPU scheduling support to some of its GPUs — three years after the feature first debuted in Windows

AMD Radeon RX 7900 XTX
(Image credit: YouTube - AMD)

If you have an Nvidia graphics card, hardware accelerated GPU scheduling is nothing new — and there's a good chance you already have it enabled. But if you have an AMD graphics card, this feature hasn't existed for the past three years — until now. AMD's newest Adrenalin driver update (version 23.12.1) finally enables support for hardware accelerated GPU scheduling on select AMD graphics cards — specifically, the Radeon RX 7000 series.

To refresh your memory, hardware accelerated GPU scheduling was originally released in 2020 on Windows 10. The tech, as the name suggests, offloads most of the GPU scheduling from the CPU to a dedicated GPU-based scheduling processor. Hardware accelerated GPU scheduling can improve performance and system latency in certain workloads by reducing CPU utilization (or, more specifically, by reducing the overhead of GPU scheduling). 

(Image credit: Future)

It has a fancy name, but this feature isn't a magical "free performance" button. We tested hardware accelerated GPU scheduling when it first launched, and found the gaming performance was virtually identical whether it was turned on or off. We also found that it could cause a drop in performance in some scenarios. In fact, these underwhelming performance benefits are why the feature has largely been overlooked by the gaming community.

The real issue with hardware accelerated GPU scheduling is that programmers have already figured out how to deal with traditional GPU scheduling, masking its performance limitations. Developers and programmers do this by running buffering GPU commands into batches, which can significantly improve CPU and GPU efficiency — think of this as CPU/GPU optimization.

So, what was hardware accelerated GPU scheduling designed to do? It wasn't designed to just improve performance (obviously). Microsoft made it to modernize the graphics subsystem for future systems — this is the feature's real purpose. We're starting to see Microsoft's groundwork take shape today: Nvidia's DLSS frame generation requires hardware accelerated GPU scheduling to be active in order to work. Nvidia didn't disclose exactly why this is the case, but it demonstrates that hardware accelerated GPU scheduling is a critical feature for the future, and is a technology that bleeding-edge graphics technologies are starting to rely on.

Why has AMD decided to support hardware accelerated GPU scheduling now?

The most obvious answer is that AMD is looking to improve the capabilities of its competing frame generation techniques, including AMD Fluid Motion Frames and FSR 3 frame generation. At the moment, both of these technologies work without hardware accelerated GPU scheduling, but we wouldn't be surprised if AMD found that it needs the new GPU scheduling to improve image quality and/or performance of its frame generation technologies — similar to Nvidia, with its DLSS 3 frame generation requirements.

With the new driver update, hardware accelerated GPU scheduling only works on AMD's Radeon RX 7000-series GPUs (not including the RX 7600, at least for now), but we suspect AMD will add support for older GPUs in the future. This could depend on whether RDNA2, RDNA1, and older architectures feature a hardware-based GPU scheduling processor, however. Nvidia began adding these processors back in its GTX 10 series (Pascal architecture), so it's not a stretch to think AMD may have added it in long ago, as well.

Aaron Klotz
Freelance News Writer

Aaron Klotz is a freelance writer for Tom’s Hardware US, covering news topics related to computer hardware such as CPUs, and graphics cards.

  • bolweval
    Finally! ;)
    Reply
  • bit_user
    Nvidia's DLSS frame generation requires hardware accelerated GPU scheduling to be active in order to work. Nvidia didn't disclose exactly why this is the case,
    Perhaps they need it in order to support the GPU sending commands to itself, so as not involve the host CPU.
    Reply