• 0 Posts
  • 1 Comment
Joined 1 year ago
cake
Cake day: October 25th, 2023

help-circle
  • It’s kinda weird, but actually GCN up to and including RDNA2 did work scheduling in hardware, including automatic context switches in case of a bubble, hazard or stall.

    With RDNA3, this was changed to a compiler/driver based approach in favor of a simpler and smaller CU design. The tradeoff is increased driver complexity and higher CPU overhead - this is also how Nvidia has been handling things for ages now.

    HAGS seems to mitigate the overhead to some extent, this probably works through the HW providing hints to the OS about when there’s a good moment to switch tasks, such that the latter can set up memory transfers and other things needed slightly ahead of time and also doesn’t need to mindlessly wait for the GPU to finish whatever it’s doing, since in-flight Wavefronts aren’t preemptible.

    Anyhow, last time I looked at tests, the performance benefits were quite minimal (around 5% on a 2080ti in CPU limit)