Thursday, February 23rd 2023

AMD AGESA 1.0.0.5C AM5 Enables Fine-grained Control Over Ryzen 7000X3D CCD Priority

ASUS began rolling out Beta UEFI firmware updates for its Socket AM5 motherboards encapsulating AGESA 1.0.0.5 patch-C microcode. This exposes several new options to end-users through the UEFI Setup Program, which gives them greater control over the way the processor prioritizes workload among the two CCDs (CPU complex dies) on 12-core and 16-core Ryzen 7000 series processors, including the upcoming 7000X3D processors.

While AMD is working to release Chipset Software updates that include "3D V-cache Optimization driver" components that introduce OS-level awareness of the asymmetric implementation of 3D V-cache on the 7900X3D and 7950X3D where only one of the two CCDs has the additional cache; these firmware-level options give users control on prioritizing one CCD over the other for workload. The firmware-level optimization is OS-agnostic, so pretty much any OS should benefit from 3D V-cache the way it was intended (where less parallelized workloads such as games are prioritized on the CCD with the 3D V-cache.
Source: HotHardware
Add your own comment

24 Comments on AMD AGESA 1.0.0.5C AM5 Enables Fine-grained Control Over Ryzen 7000X3D CCD Priority

#1
Chaitanya
Wondering if MS will also provide a patch for Windows for these assymetric CPUs.
Posted on Reply
#2
Zubasa
ChaitanyaWondering if MS will also provide a patch for Windows for these assymetric CPUs.
Expecting M$ to not F it up and they will. AMD is much better off taking matters in their own hands.
Posted on Reply
#3
Chaitanya
ZubasaExpecting M$ to not F it up and they will. AMD is much better off taking matters in their own hands.
yep, like they had to do with power profiles in early days of Zen.
Posted on Reply
#4
Dr. Dro
ChaitanyaWondering if MS will also provide a patch for Windows for these assymetric CPUs.
No, I don't believe so. There's a new chipset driver release which includes a KMD (kernel-mode driver) component which will serve as a "thread director" of sorts. It's the same concept behind their Windows XP-era "Dual Core Optimizer", it serves the exact same purpose, in this case, ensuring that applications that request a lot of cache memory are scheduled to the 3D-equipped CCD first and giving a lower priority to the traditional one. The simple fact that this needs a scheduler driver to function well (at least on Windows), legitimately crosses it off my personal list as a viable processor, and I would sincerely advise people interested in Zen 4 X3D to purchase the 7800X3D instead, as it will be immune from this problem as its predecessor 5800X3D is.

Intel needed OS-level awareness because in Alder/Raptor Lake, there are two processor groups with differing architectures and CPUID, and thread scheduling is hardware-assisted, the processor itself decides the optimal thread for the code to run, so the OS kernel is not aware of this decision unless it is notified by the processor. This is the change introduced in Windows 11.

Meanwhile, Zen 3 and 4's 3D cores are transparent to the OS, they aren't any different and the processor does not have a hardware thread scheduling component like Intel's design, so it needs a driver that is aware of its inefficient topology to optimize scheduling and minimize cross-CCD access latency penalties that the design incurs (since Matisse, adjacent CCX/CCD can access memory on another, though this incurs a severe cycle penalty, this remains true in Vermeer and Raphael).
Posted on Reply
#5
KrazyT
As an enthousiast i would says "great news" !

But as I'm getting older, i should says "more room to mess with"
Posted on Reply
#6
Space Lynx
Astronaut
4 days or so until we get the 7900x3d review. I am excited to see if that 3d cache increase is a game changer or not.
Posted on Reply
#7
Taraquin
My bet is on 7800X3D, it will most likely work fine out of the box. I expect several issues with the dual ccd-parts seing how much trouble Intel had with e-cores in the beginning, and Intel is superior at fixing stuff vs AMD that needed almost 2 years to resolve the usb-issues some experienced on Zen 3.
Posted on Reply
#8
Space Lynx
Astronaut
TaraquinMy bet is on 7800X3D, it will most likely work fine out of the box. I expect several issues with the dual ccd-parts seing how much trouble Intel had with e-cores in the beginning, and Intel is superior at fixing stuff vs AMD that needed almost 2 years to resolve the usb-issues some experienced on Zen 3.
problem with 7800x3d is its almost the same amount of 3d cache as 5800x3d, so its really only relying on ddr5 speeds and IPC uplifts... it will be good, but i think the main gains will be from the giant 3dcache on the 7900x3d... or maybe I am not understanding 3dcache right?
Posted on Reply
#9
Taraquin
Space Lynxproblem with 7800x3d is its almost the same amount of 3d cache as 5800x3d, so its really only relying on ddr5 speeds and IPC uplifts... it will be good, but i think the main gains will be from the giant 3dcache on the 7900x3d... or maybe I am not understanding 3dcache right?
Yeah, 7900X3D will probably be faster on avg in games since it has both 3D-cache and clockspeed. Even 5800X3D saw good gains in certain games with better bandwith, going from 3600cl16 to 3733cl14 tuned at i2hard gave a 5% boost in both Cyberpunk and Total war. The BW -uplift from 3600 to 6000 ram will sure help quite a bit, higher ipc+clockspeeds adds on top of that. 7800X3D will have a slight latency advantage at same clocks vs 79x0X3Ds, but the higher clockspeed on them may offset that. My biggest concern is: will the scheduling work so that 3D cache ccd is used when needed and non-3D is used when needed.
Posted on Reply
#10
stimpy88
This sounds like AMD having to patch the OS in order to get proper support for their product, as I guess MS is still an Intel shop, or simply lacks the software engineers or skill to integrate this into the Windows kernel.
Posted on Reply
#11
dj-electric
People here speculate that MS haven't already patched their systems to be able to handle AMD's prioritization requests.
Posted on Reply
#12
stimpy88
dj-electricPeople here speculate that MS haven't already patched their systems to be able to handle AMD's prioritization requests.
Yes?

Do you work for AMD or Microsoft?
Posted on Reply
#13
Chrispy_
A band-aid fix for a problem that shouldn't exist. Why not just make both CCDs with 3D vCache? Sure, it'll cost ~$100 more but I don't think that's the point and in the grand scheme of platform costs including low-latency DDR5, a $300 motherboard, and some non-trivial cooling, an extra $100 for flagship builds isn't even worth worrying about. Chances are good there's a $1300 graphics card going into that system anyway...
Posted on Reply
#14
Darmok N Jalad
Space Lynx4 days or so until we get the 7900x3d review. I am excited to see if that 3d cache increase is a game changer or not.
Yes, it’s supposed to change games. ;)
Posted on Reply
#15
dj-electric
Chrispy_A band-aid fix for a problem that shouldn't exist. Why not just make both CCDs with 3D vCache? Sure, it'll cost ~$100 more but I don't think that's the point and in the grand scheme of platform costs including low-latency DDR5, a $300 motherboard, and some non-trivial cooling, an extra $100 for flagship builds isn't even worth worrying about. Chances are good there's a $1300 graphics card going into that system anyway...
The idea of the hybrid architecture is that the faster for task-specific cores will be activated properly. You don't want to lose potential performance for none gaming tasks. For that, the idea of the 7950X3D is quite on purpose.

There's going to be a lot more information about how the CCDs juggle, and some guides on how to optimize them come next week's review.
Posted on Reply
#16
Punkenjoy
Space Lynxproblem with 7800x3d is its almost the same amount of 3d cache as 5800x3d, so its really only relying on ddr5 speeds and IPC uplifts... it will be good, but i think the main gains will be from the giant 3dcache on the 7900x3d... or maybe I am not understanding 3dcache right?
Well your logic is flawed

It's true that DDR5 will bring some gain, but at the same time, the extra cache will reduce the memory bottleneck on workload that reuse frequently more than 32 mb of cache (but less than let say 150MB.).

The goal of the cache is to feed the core to make sure it stay used as much as possible. In real workload, the execution units of the CPU are never fully used for very long as the CPU have to wait for the data.

Zen 4 IPC gains come from various source, but some of the core themselves got beefier. They can run out of data faster so having faster memory and more cache will help to speed them up.

If you look at the competition, They seems to have toped out the L3 cache at around 36 MB. But they can still manage gen to gen gain even with the same memory.

So the logic should be that Extra cache should add the same performance gain of 5800x -> 5800X3D for the 7700x --> 7800X3D. (as long as the clock difference between both remain the same. If they can have less clock penalty with X3D, the gain should be higher and vice versa if the clock difference is lower).


Because at the end, Even for dual CCD, the goal will be to run cache sensitive game that have a larger than 32 MB datasets on the X3D CCD and isolate it there.
Posted on Reply
#17
Unregistered
Chrispy_A band-aid fix for a problem that shouldn't exist. Why not just make both CCDs with 3D vCache? Sure, it'll cost ~$100 more but I don't think that's the point and in the grand scheme of platform costs including low-latency DDR5, a $300 motherboard, and some non-trivial cooling, an extra $100 for flagship builds isn't even worth worrying about. Chances are good there's a $1300 graphics card going into that system anyway...
It's a compromise, you get one CCD with lots of cache but lower frequency, and one that can clock very high.
Posted on Edit | Reply
#18
Chrispy_
Xex360It's a compromise, you get one CCD with lots of cache but lower frequency, and one that can clock very high.
Yes, but the venn-diagram intersection of "things that need >8 cores" and "things that massively benefit from 3D vCache" is miniscule. Like, almost academically miniscule.

The real-world market is gamers and unless I'm wrong, the 7800X3D is going to match the 7950X3D for gaming at real-world resolutions and settings. Given the additional complexity of juggling threads over two non-heterogenous CCDs, the 7950X may actually be slightly worse at gaming.

There are my guesses and speculation, obviously, so I'm ready to stand corrected once reviews are out.
Posted on Reply
#19
Punkenjoy
Chrispy_Yes, but the venn-diagram intersection of "things that need >8 cores" and "things that massively benefit from 3D vCache" is miniscule. Like, almost academically miniscule.

The real-world market is gamers and unless I'm wrong, the 7800X3D is going to match the 7950X3D for gaming at real-world resolutions and settings. Given the additional complexity of juggling threads over two non-heterogenous CCDs, the 7950X may actually be slightly worse at gaming.

There are my guesses and speculation, obviously, so I'm ready to stand corrected once reviews are out.
Fair point

I suspect that it still could be slightly better (but probably not worth the extra cost) for 2 reason.

1) Games that do not benefits from the extra cache (like really old light games) can be set to run on a CCD that just clock way higher than 7800X3D
2) By isolating the game you run on the X3D CCD (Plus maybe the GPU driver and API stuff), you prevent the cache from being populated by non gaming data. The L3 cache on Zen is a victim cache and will contain all the data evinced from L2.

I don't think we will see a lot of data showing this behavior in benchmark because by nature, they will run it on a clean computer with nothing else open. And this is how they should run it. In the real world, it may give you a slight edge when by example you have multiple monitor and have open browser, youtube, audio playing background etc. But the gain should be fairly small and not worth at all the extra cost.

It will only be a good case for scenario where you want the best of the best and/or scenario where you want to have very nice gaming performance but still need all those core for productivity.

else, just get a 7800X3D
Posted on Reply
#20
Scrizz
ChaitanyaWondering if MS will also provide a patch for Windows for these assymetric CPUs.
It's always up to the hardware manufacturer to provide support for their hardware. In this case, AMD has to provide said support via drivers, firmware, patches, etc. Eventually those would be provided to users via Windows update, etc.
Posted on Reply
#21
Chrispy_
PunkenjoyFair point

I suspect that it still could be slightly better (but probably not worth the extra cost) for 2 reason.

1) Games that do not benefits from the extra cache (like really old light games) can be set to run on a CCD that just clock way higher than 7800X3D
2) By isolating the game you run on the X3D CCD (Plus maybe the GPU driver and API stuff), you prevent the cache from being populated by non gaming data. The L3 cache on Zen is a victim cache and will contain all the data evinced from L2.

I don't think we will see a lot of data showing this behavior in benchmark because by nature, they will run it on a clean computer with nothing else open. And this is how they should run it. In the real world, it may give you a slight edge when by example you have multiple monitor and have open browser, youtube, audio playing background etc. But the gain should be fairly small and not worth at all the extra cost.

It will only be a good case for scenario where you want the best of the best and/or scenario where you want to have very nice gaming performance but still need all those core for productivity.

else, just get a 7800X3D
Yeah. It really will come down to gaming results in reviews. if the 7900X3D and 7950X3D can't provide an improvement in games over the 7800X3D, they're stillborn.

Almost nothing needs the cache the way games do. Productivity software that benefits from more cache benefits even more from extra cores and if you can justify upspending for economic reasons, you can probably justify EPYC for now at least until Zen4 Threadrippers arrive - at which point the 7950X will have near-zero chance of justifying its existence outside of wealthy gamers.
Posted on Reply
#22
Dr. Dro
Space Lynxproblem with 7800x3d is its almost the same amount of 3d cache as 5800x3d, so its really only relying on ddr5 speeds and IPC uplifts... it will be good, but i think the main gains will be from the giant 3dcache on the 7900x3d... or maybe I am not understanding 3dcache right?
There is no practical difference in the cache size between the 7800X3D and its Ryzen 9 counterparts, the reason being, only one of the CCDs has the cache layer installed. This means the processor ships in a suboptimal topology, as one of the dies has the usual 32 MB L3 configuration, and the other one will be packing 96 MB, for the targeted 128 MB overall L3 cache. In fact, I suspect applications unaware of the processor's topology may very well cause a performance regression due to the cycle penalty incurred in cross-CCX cache access.

You see, in the original Matisse design used in the Ryzen 9 3950X, we had two CCDs, each containing two CCXs for a total of four and as a result, four 16 MB cache slices, resulting in a 16+16/16+16 configuration. One of the biggest improvements in Vermeer/Zen 3 used in the 5950X was the consolidation of the CCXs into 8-core parts, meaning each CCD contained one CCX with full contiguous access to the L3 cache, and that resulted in a a 32 + 32 MB configuration, which persists on Raphael/Zen 4 used in the 7950X - now the 7950X3D will have a 32 + 96 MB configuration, I think you can see where I am going here and why the 3D V-Cache Optimizer driver is required.

Presumably, AMD did this to keep costs down and/or prevent that these processors threaten their EPYC business, as the AM5 platform should technically be capable of taking a 192 GB memory kit - thus bringing it dangerously close to expensive server components for some applications.

Early rumors are pointing out to the 7950X3D being in a stalemate situation vs. the i9-13900K, and somewhat behind the i9-13900KS in absolute gaming performance, bringing it to a "up to 6% improvement over the 13900K", which sounds about right to me. This probably won't be the miracle CPU many are hoping for due to topology inefficiencies, but it should still be a production powerhouse... gamers should still buy the 5800X3D for their existing AM4 platform or buy the 7800X3D if building AM5, they will be better CPUs overall IMHO.
Posted on Reply
#23
Space Lynx
Astronaut
I don't know why I didn't think of that, thanks for the clarity. Hmm, interesting. I am surprised AMD didn't try to increase the cache size, maybe it is has diminishing returns the bigger it gets.
Posted on Reply
#24
Dr. Dro
Space LynxI don't know why I didn't think of that, thanks for the clarity. Hmm, interesting. I am surprised AMD didn't try to increase the cache size, maybe it is has diminishing returns the bigger it gets.
In addition of the plausible reasons I've mentioned, there's also another consideration: Zen 4 X3D is not different from Zen 3 in the sense that it is designed to operate at a lower voltage and thus has stricter frequency limits. This will cause a slowdown vs. the traditional design in applications which are not L3$ sensitive. By opting into the hybrid design, AMD could maintain a whitelist of applications known to run better on the traditional chip, thus making use of that extra frequency afforded by the higher clocks in the non-3D CCD.

But I like the market segmentation excuse better, after all, it's not like the performance regressions in the 5800X3D vs. the 5800X, when they existed, caused anyone to lose any sleep over it...
Posted on Reply
Add your own comment
May 2nd, 2024 22:30 EDT change timezone

New Forum Posts

Popular Reviews

Controversial News Posts