The RadeonSI Performance Tuning For AMD Zen CPUs Has Landed In Mesa
Earlier this week I reported on the RadeonSI Gallium3D code being tuned for AMD Zen CPUs in an attempt to deliver greater gaming performance for Ryzen processors. That work has now been merged into Mesa 18.3.
As explained when the patches surfaced for tuning RadeonSI/Gallium3D for Ryzen CPUs, the work by AMD's Marek Olsak is due to the CCX (core complexes) design of Zen, it will try to pin the application thread and driver execution threads to the same CCX so that they can share the same L3 cache. With these patches, Marek found in some OpenGL benchmarks that there was an increase by 25~32% in some micro-benchmarks, but real-world gaming performance has yet to be analyzed -- I'll be running some benchmarks shortly.
Over the course of several patches, the work was merged into Mesa 18.3 Git on Friday.
Marek confirmed in our forums that this tuning was needed to RadeonSI's design. "There is no per-driver work needed if a driver doesn't have any threads internally. Most of the logic is in the shared code and is applied to the GL and gallium threads. RadeonSI is an exception, because it has 1 internal thread."
Stay tuned for some benchmarks as soon as time allows, it should likely provide at least a small benefit for Radeon + Ryzen setups.
As explained when the patches surfaced for tuning RadeonSI/Gallium3D for Ryzen CPUs, the work by AMD's Marek Olsak is due to the CCX (core complexes) design of Zen, it will try to pin the application thread and driver execution threads to the same CCX so that they can share the same L3 cache. With these patches, Marek found in some OpenGL benchmarks that there was an increase by 25~32% in some micro-benchmarks, but real-world gaming performance has yet to be analyzed -- I'll be running some benchmarks shortly.
Over the course of several patches, the work was merged into Mesa 18.3 Git on Friday.
Marek confirmed in our forums that this tuning was needed to RadeonSI's design. "There is no per-driver work needed if a driver doesn't have any threads internally. Most of the logic is in the shared code and is applied to the GL and gallium threads. RadeonSI is an exception, because it has 1 internal thread."
Stay tuned for some benchmarks as soon as time allows, it should likely provide at least a small benefit for Radeon + Ryzen setups.
16 Comments