AMD details how fastest cores are picked in Ryzen Master & Windows

November 22, 2019 | 14:45

Tags: #acpi #cppc #cpu #power-management #robert-hallock #ryzen #ryzen-master #windows-10 #zen-2

Companies: #amd

In an effort to allay concerns that have been building on AMD community forums and Reddit, AMD’s Robert Hallock has taken to the latter to detail how the “best” cores are selected in both Ryzen Master and Windows and explain why the results differ between the two, revealing hitherto unknown information about the specifics.

The post comes in response to users who have compared Ryzen Master’s findings of the fastest core to those of Windows and noted discrepancies between the two as evidence of something being amiss. The take-home message from Hallock, AMD’s Senior Technical Marketing Manager and CPU/APU Technologies & IP, is that this is by design, as ‘Windows and Ryzen Master have substanitally different coals when identifying a fastest core,’ but that this will change when plans to align the two are implemented.

Hallock begins by explaining that ‘the performance ranking of the cores is fused at the factory and reported by firmware.’ This information boils down the individual voltage/frequency characteristics of each core, and both Ryzen Master and Windows draw on this same information. Ranking the cores from best to worst are needed for Collaborative Processor Performance Control (CPPC), which is defined in the ACPI spec, which stands for Advanced Configuration and Power Interface and is an open standard that Windows and other operating systems use for power management, status monitoring, and hardware configuration. CPPC specifically is a mechanism for managing the performance of a CPU, which it does in part by referring to this ranking of cores. However, the ranking is ‘continuous, abstract, and unit-less’, meaning there is no indication of the specific differences between cores beyond saying which is fastest. AMD ranks its cores as three percent apart, but this is not to say one is three percent faster than another; it is an arbitrary selection that removes the potential for rounding areas when the scale is then interpreted by the OS.

Where Windows and Ryzen Master currently diverge is that Windows ‘selects and prioritizes the fastest core in the firmware with an additional criterion that there must be a second core in the same CCX that’s nearly as fast’, something that is considered optimal for Zen 2 performance. The result is that users may see single threads allocated alternately between two cores.

Ryzen Master, meanwhile, is focused entirely on the very best single-core performance in terms of voltage/frequency (marked with a gold star in the UI), as the priority here is overclocking potential. This means the fastest single core will not necessarily be part of the pair that Windows uses i.e. it may have the best boost potential, but it may not be part of the CCX where the pair of cores that have the highest average boost potential is found. ‘To be crystal clear: this core may not be optimal for boost performance, it is irrelevant to OS fastest core selection, and it may not meet other technical criteria involved in selecting optimal cores for automated scheduling,’ says Hallock.

While stating that both methods are correct for their intended purposes, Hallock has stated that Ryzen Master will receive an update to flag the fastest cores in line with the Windows selection process, promising a post when the change is pushed public.

Discuss this in the forums
Demo Day at Datron Technology

May 14 2021 | 18:40