Testing The AMD Heterogeneous Core Topology Linux Patches On Ryzen AI 300 Series
([AMD] 3 Hours Ago
Strix Point Heterogenous Core Topology)
- Reference: 0001482612
- News link: https://www.phoronix.com/news/Ryzen-AI-Heterogeneous-Core-Top
- Source link:
Now that I am through with my testing of the initial [1]Ryzen AI 9 HX 370 and [2]Ryzen AI 9 365 Linux performance benchmarking and support exploration, I've begun diving in to other areas of the Linux support/performance for these Zen 5 "Strix Point" SoCs. The area for a quick look today is with the yet-to-be-merged AMD Heterogeneous Core Topology patches.
As I wrote about back in May, AMD Linux engineers have posted patches for [3]Heterogeneous Core Topology for the AMD P-State driver to help with processors that boast a mix of core types like Zen 5 and Zen 5C. Those patches were [4]updated in June but as of writing have yet to be merged to the mainline Linux kernel. They weren't submitted for the recent Linux 6.11 merge window and thus as short of flagging it as a "fix", the earliest we'll now see that code merged is for the Linux 6.12 kernel cycle that will end out the year.
With the current Linux kernel, indeed on the AMD Ryzen 9 365 there was no differentiation between the Zen 5 and Zen 5C cores on the Ryzen AI 9 365 (and HX 370). Both the same max frequency and highest performance state (ACPI CPPC value) were uniformally reported across all processor cores... Even though the Ryzen AI 9 365 has four Zen 5 cores and six Zen 5C cores that max out at different frequencies.
When taking the AMD heterogeneous core topology patches from June and making some slight adjustments so that they would apply cleanly against Linux 6.11 Git, that kernel build then indeed switched over to reporting different capabilities between the Zen 5 and Zen 5C cores:
With the yet to be merged patches, the amd_pstate_highest_perf values were differentiated: 196 for the Zen 5 cores and the lower priority 132 on the Zen 5C cores. The maximum clock frequencies were also now properly reported: 5.09GHz for the Zen 5 cores and 3.4GHz for the Zen 5C cores.
So now they are properly differentiated, but at least in my initial testing of several dozen benchmarks and also monitoring the CPU/SoC power use, there wasn't much of a resulting performance difference. In the end it was just a 1~2% spread that may be easily eaten by noise / system heat in laptop form factor. So for the single-threaded workloads at least, Linux is seeming still getting lucky enough placing the tasks on the Zen 5 cores. We'll see if more optimizations come for the AMD heterogeneous core type handling on Linux or if it's already just "good enough", but that's where things are at today.
[1] https://www.phoronix.com/review/amd-ryzen-ai-9-hx-370
[2] https://www.phoronix.com/review/amd-ryzen-ai-9-365
[3] https://www.phoronix.com/news/AMD-Heterogeneous-P-State-Linux
[4] https://www.phoronix.com/news/AMD-P-State-Hetero-v3
As I wrote about back in May, AMD Linux engineers have posted patches for [3]Heterogeneous Core Topology for the AMD P-State driver to help with processors that boast a mix of core types like Zen 5 and Zen 5C. Those patches were [4]updated in June but as of writing have yet to be merged to the mainline Linux kernel. They weren't submitted for the recent Linux 6.11 merge window and thus as short of flagging it as a "fix", the earliest we'll now see that code merged is for the Linux 6.12 kernel cycle that will end out the year.
With the current Linux kernel, indeed on the AMD Ryzen 9 365 there was no differentiation between the Zen 5 and Zen 5C cores on the Ryzen AI 9 365 (and HX 370). Both the same max frequency and highest performance state (ACPI CPPC value) were uniformally reported across all processor cores... Even though the Ryzen AI 9 365 has four Zen 5 cores and six Zen 5C cores that max out at different frequencies.
When taking the AMD heterogeneous core topology patches from June and making some slight adjustments so that they would apply cleanly against Linux 6.11 Git, that kernel build then indeed switched over to reporting different capabilities between the Zen 5 and Zen 5C cores:
With the yet to be merged patches, the amd_pstate_highest_perf values were differentiated: 196 for the Zen 5 cores and the lower priority 132 on the Zen 5C cores. The maximum clock frequencies were also now properly reported: 5.09GHz for the Zen 5 cores and 3.4GHz for the Zen 5C cores.
So now they are properly differentiated, but at least in my initial testing of several dozen benchmarks and also monitoring the CPU/SoC power use, there wasn't much of a resulting performance difference. In the end it was just a 1~2% spread that may be easily eaten by noise / system heat in laptop form factor. So for the single-threaded workloads at least, Linux is seeming still getting lucky enough placing the tasks on the Zen 5 cores. We'll see if more optimizations come for the AMD heterogeneous core type handling on Linux or if it's already just "good enough", but that's where things are at today.
[1] https://www.phoronix.com/review/amd-ryzen-ai-9-hx-370
[2] https://www.phoronix.com/review/amd-ryzen-ai-9-365
[3] https://www.phoronix.com/news/AMD-Heterogeneous-P-State-Linux
[4] https://www.phoronix.com/news/AMD-P-State-Hetero-v3
bug77