Discussion Speculation: Zen 4 (EPYC 4 "Genoa", Ryzen 7000, etc.)

Page 477 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

Vattila

Senior member
Oct 22, 2004
821
1,457
136
Except for the details about the improvements in the microarchitecture, we now know pretty well what to expect with Zen 3.

The leaked presentation by AMD Senior Manager Martin Hilgeman shows that EPYC 3 "Milan" will, as promised and expected, reuse the current platform (SP3), and the system architecture and packaging looks to be the same, with the same 9-die chiplet design and the same maximum core and thread-count (no SMT-4, contrary to rumour). The biggest change revealed so far is the enlargement of the compute complex from 4 cores to 8 cores, all sharing a larger L3 cache ("32+ MB", likely to double to 64 MB, I think).

Hilgeman's slides did also show that EPYC 4 "Genoa" is in the definition phase (or was at the time of the presentation in September, at least), and will come with a new platform (SP5), with new memory support (likely DDR5).

Untitled2.png


What else do you think we will see with Zen 4? PCI-Express 5 support? Increased core-count? 4-way SMT? New packaging (interposer, 2.5D, 3D)? Integrated memory on package (HBM)?

Vote in the poll and share your thoughts! :)
 
Last edited:
  • Like
Reactions: richardllewis_01

DrMrLordX

Lifer
Apr 27, 2000
22,903
12,974
136
Looks to me like people are going to have to do some tweaking with PBO curve optimizer to bring up those vcache CCD clockspeeds.
 

Abwx

Lifer
Apr 2, 2011
11,885
4,873
136
That's weird, I go to AMD's site and there are no CPU drivers.

So they'll make a new driver bundle to install for the two asymmetrical CPUs instead of bundling it in the chipset drivers? Yuck.

CPU drivers are transparent because they are embedded in the OSes, late Windows do not support old X86 CPUs precisely for this reason that these ancients products drivers are not present, in our case it should be a minor extension to W10/W11 current drivers.
 
  • Haha
Reactions: scineram

Hail The Brain Slug

Diamond Member
Oct 10, 2005
3,882
3,311
146
Looks to me like people are going to have to do some tweaking with PBO curve optimizer to bring up those vcache CCD clockspeeds.

We'll see just how much headroom it has for the V$ die. They might be running it pretty slim on the V/F curve to keep temps down so it might not have a lot of tuning headroom without some fantastic cooling.
 

SK10H

Member
Jun 18, 2015
128
62
101
In the worst case, if the OS does a lousy job, you can manually set the processor affinity for the process (e.g. game).

See Post #11516 for a tip on how to launch a program with the desired affinity.

I think setting affinity manually does not work on Easy anti cheat online games.
start /affinity 0xFF FortniteClient-Win64-Shipping.exe will automatically reassign all the threads back even though it's specified to only use threads 0-7.
Got access is denied when trying to set affinity if the exe is already running.
a.JPG

With MS attitude, it's probably a Win11 only scheduler update landing on Feb14 patch Tues so the reviewer can then start preparing the review. Going to ride Win10 until it's dead...
AMD can probably make a small systray program that bundle with the driver and auto update itself constantly for optimal configuration from AMD dev, and also let user override the process affinity to bypass its recommended affinity if the user choose to. The community can probably make one as well if AMD is too lazy and waste too much $ on share buyback.
 

In2Photos

Platinum Member
Mar 21, 2007
2,557
2,762
136
Price drop on the 7700X

 
  • Like
Reactions: lightmanek

gdansk

Diamond Member
Feb 8, 2011
4,574
7,690
136
CPU drivers are transparent because they are embedded in the OSes, late Windows do not support old X86 CPUs precisely for this reason that these ancients products drivers are not present, in our case it should be a minor extension to W10/W11 current drivers.
Yeah... that's what I was worried about it. They could easily put this "check whitelist and assign CPU affinity" logic in the chipset driver they distribute so it's not tied to a specific Windows build. There are events in Windows where regular, admin-level processes can listen to any process starting.

And I'm not trying to engage in pointless pedantry. If they bundle it in Windows, Microsoft will probably only include it in W11. But hopefully AMD is smarter than that and distributes it themselves too.
 
Last edited:

DrMrLordX

Lifer
Apr 27, 2000
22,903
12,974
136
We'll see just how much headroom it has for the V$ die. They might be running it pretty slim on the V/F curve to keep temps down so it might not have a lot of tuning headroom without some fantastic cooling.

Indeed. Might have to look into delidding for this thing, if the IHS continues to add as much as 20C to temps in "normal" configurations.
 

jamescox

Senior member
Nov 11, 2009
644
1,105
136
Indeed. Might have to look into delidding for this thing, if the IHS continues to add as much as 20C to temps in "normal" configurations.
I was hoping that they would make a special version with an integrated vapor chamber rather than just a really thick lid, but it doesn't seem like that is planned for Zen4.
 

PJVol

Senior member
May 25, 2020
854
838
136
So they'll make a new driver bundle to install for the two asymmetrical CPUs instead of bundling it in the chipset drivers?
That's what CPPC is for.
What kind of whitelist are they talking about?
 
Last edited:

Exist50

Platinum Member
Aug 18, 2016
2,452
3,106
136
CPU drivers are transparent because they are embedded in the OSes, late Windows do not support old X86 CPUs precisely for this reason that these ancients products drivers are not present, in our case it should be a minor extension to W10/W11 current drivers.
This has nothing to do with drivers. "CPU drivers" aren't a thing. If Windows doesn't support an old CPU, it's because of ISA/feature limitations.

Notice how plenty of people have run Windows on hardware MS doesn't officially support.
 

Exist50

Platinum Member
Aug 18, 2016
2,452
3,106
136
- the 79x0X3D chips will not be relying on Windows scheduler but on a "white list" in the driver to direct the games to the V-Cache CCD.
Well darn. That's pretty much a worst case scenario. It's inevitable that AMD can't cover everything, so I'm curious how this'll turn out in practice. They'll surely cover the games major reviewers use, but obviously Linux and anything else will probably get the shaft. Hopefully they have a way for users to manually whitelist things.
 

Abwx

Lifer
Apr 2, 2011
11,885
4,873
136
This has nothing to do with drivers. "CPU drivers" aren't a thing. If Windows doesn't support an old CPU, it's because of ISA/feature limitations.

Notice how plenty of people have run Windows on hardware MS doesn't officially support.

When MS said that W10 wouldnt support old AMD/Intel CPUs (like Zen 1..) it wasnt an ISA issue but a lack of proper drivers.
 

DrMrLordX

Lifer
Apr 27, 2000
22,903
12,974
136
Well darn. That's pretty much a worst case scenario. It's inevitable that AMD can't cover everything, so I'm curious how this'll turn out in practice. They'll surely cover the games major reviewers use, but obviously Linux and anything else will probably get the shaft. Hopefully they have a way for users to manually whitelist things.

All they'll have to do is set affinity.
 
  • Like
Reactions: Joe NYC

BorisTheBlade82

Senior member
May 1, 2020
710
1,132
136
Well darn. That's pretty much a worst case scenario. It's inevitable that AMD can't cover everything, so I'm curious how this'll turn out in practice. They'll surely cover the games major reviewers use, but obviously Linux and anything else will probably get the shaft. Hopefully they have a way for users to manually whitelist things.
Exactly. But didn't we cover that topic at length weeks ago when the Allowedlist approach went public?
But just to reiterate why this is a very bad idea:
  • They will quite likely put process names like Game.exe on that list - so the assignment will be static for the whole game although preference might change with scenes, Game modes, etc.
  • If the process has more threads than the CCD has cores, who chooses the cache sensitive threads over the frequency sensitive?
  • They need to continually maintain that list. So how future-proof might that be?
  • They will concentrate efforts on AAA titles.
  • Linux support?
So these are only the first dominant thoughts that occurred to me. This is a kind of implementation which puts a company like AMD to shame - considering that they literally develop the most sophisticated kind of object in the world (no, rockets aren't that kind of thing anymore).

The upside is, that it won't matter as much as when the scheduler goes whack on Intel's Big.little. And from a technical perspective this will be quite an interesting topic - how to prioritise when no type of core is the best in every regard. But honestly, a dynamic approach based on thread behaviour by performance counter time-series analysis would have been the much better approach.
 
Last edited:

moinmoin

Diamond Member
Jun 1, 2017
5,242
8,456
136
The upside is, that it won't matter as much as when the scheduler goes whack on Intel's Big.little.
Which also still isn't really supported on Linux.

But honestly, a dynamic approach based on thread behaviour by performance counter time-series analysis would have been the much better approach.
Indeed, this I'm hoping eventually will be the solution on Linux, in the ideal case completely manufacturer agnostic.
 

Exist50

Platinum Member
Aug 18, 2016
2,452
3,106
136
When MS said that W10 wouldnt support old AMD/Intel CPUs (like Zen 1..) it wasnt an ISA issue but a lack of proper drivers.
Nothing to do with drivers, as you can see by the fact that people have gotten ancient CPUs working with it.

It's a combination of arbitrary cutoffs (like how only a subset of the various Skylake rebrands support it) and feature "requirements" like TPM. But mostly the former. Again, "CPU drivers" aren't a thing.
 

Exist50

Platinum Member
Aug 18, 2016
2,452
3,106
136
Exactly. But didn't we cover that topic at length weeks ago when the Allowedlist approach went public?
Ah, I must have missed when AMD themselves confirmed it. Thought it was just speculation up until now.
  • If the process has more threads than the CCD has cores, who chooses the cache sensitive threads over the frequency sensitive?
I'd guess they're straight up pinning the entire process to only one CCX. Today, the vast majority of games don't benefit from the second one. But I worry that as CPU intensity and thread demands grow, this solution will start to break down.
  • They need to continually maintain that list. So how future-proof might that be?
Yeah, that's my main concern. If this is AMD's long-term direction for V-cache, then they can probably figure it out eventually. But if it's a one-off for this gen, then that realistically sets a time limit on how long they'll keep this list updated.
 

bsp2020

Member
Dec 29, 2015
106
122
116
Yeah, that's my main concern. If this is AMD's long-term direction for V-cache, then they can probably figure it out eventually. But if it's a one-off for this gen, then that realistically sets a time limit on how long they'll keep this list updated.

AMD and NVidia have been maintaining custom profiles for different games as part of their GPU drivers for ages. Why do you think keeping a simple list of games in a chipset driver going to be an issue?
 
  • Haha
Reactions: scineram

Exist50

Platinum Member
Aug 18, 2016
2,452
3,106
136
AMD and NVidia have been maintaining custom profiles for different games as part of their GPU drivers for ages. Why do you think keeping a simple list of games in a chipset driver going to be an issue?
Much of the GPU driver code is shared gen to gen, and on top of that, GPUs have a much shorter useful lifespan than CPUs. Even then, we know Nvidia stops caring pretty much as soon as the old gen stops selling.
 

yuri69

Senior member
Jul 16, 2013
677
1,215
136
Intel ALD/RPL got two sets of very different cores (speed, cache, interconnect) compared to Zen 4 3D heterogenous CCDs. Yet it notably hinders the performance in just a few workloads - even on unsupported platforms like Windows 10 or Linux.

Disabling the Intel E-cores helps in a few apps. Disabling SMT also helps now and then. Pining a workload on a single core/cluster also might help. Using the fastest core is exploited to help ST apps. Creating a scheduling group also tends to help a class of workloads. Splitting processors to multiple NUMA domains also can bring gains in certain workloads. Certain apps like certain memory allocation strategies better.

There is a lot of options to tune in the processor vs memory vs kernel realm. However, it depends on the context - averaging the view using many workloads or tuning to fit just a single one.
 

BorisTheBlade82

Senior member
May 1, 2020
710
1,132
136
AMD and NVidia have been maintaining custom profiles for different games as part of their GPU drivers for ages. Why do you think keeping a simple list of games in a chipset driver going to be an issue?
Because it is a continuous effort in a society where no one cares about last year's products.
 

BorisTheBlade82

Senior member
May 1, 2020
710
1,132
136
I'd guess they're straight up pinning the entire process to only one CCX. Today, the vast majority of games don't benefit from the second one. But I worry that as CPU intensity and thread demands grow, this solution will start to break down.
I was always under the impression that the first thread (on a core) of the second CCD gets prioritized over the second thread on the same CCD. And the process level is too low granularity for decision making as each process can have n-threads.
 

Tuna-Fish

Golden Member
Mar 4, 2011
1,667
2,537
136
Well darn. That's pretty much a worst case scenario. It's inevitable that AMD can't cover everything, so I'm curious how this'll turn out in practice. They'll surely cover the games major reviewers use, but obviously Linux and anything else will probably get the shaft. Hopefully they have a way for users to manually whitelist things.

Moving processes from one core to another is something for which tools already exist, both in Windows and in Linux. The only major issue is that some games have anticheat that makes this difficult.