• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Zen 2 "best core"

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

mackerel

Member
Joined
Mar 7, 2008
In Ryzen master it indicates 4 cores on my 3700X:
Fastest core
2nd fastest core on same CCX
Fastest core of other CCX
2nd fastest core of other CCX

The thought occurred, does this impact the speeds the cores turbo to? Let's set a single thread load and see what happens.

Remembering CPU-Z has a stress test, I set it to run in a single thread. The version I'm running had different options, and I left it on default 17.01.64. Using Windows Task Manager, I could move that thread to where I want. I used Ryzen Master to monitor the core clock. As SMT was on, there are twice as many CPU threads available as there are cores. I only used the even numbered ones for this test, and didn't check the corresponding odd thread was the same or not.

0 4355 4373
2 4366 4355
4 4344 4346 2nd fastest on ccx
6 4380 4380 fastest on ccx
8 4330 4331
10 4392 4390 2nd fastest on ccx
12 4384 4382 fastest core
14 4330 4332

I ran this twice, before and after I had lunch so there was time time between. On each occasion I started on thread 0, and move up 2 each time. CPU temp was around 55C during this testing. It is interesting for most cores, the two readings are essentially the same. Only for threads 0 and 2 was there much of a shift. I don't have proof of why this happened. It may be a combination of two mechanisms. One, that the CPU is cooler at the start of the test than at the end. Secondly, as I was just starting this test for the first time, there may have been other background activity slowing it down a little. For the 2nd run, I did allow it to run for much longer, and the values shown seem stable, even returning to threads 0 and 2 after completing the others.

The Ryzen Master "fastest core" wasn't actually fastest here, with the 2nd fastest on same CCX slightly ahead of it. On the other CCX, indicated fastest was indeed fastest, but the indicated 2nd fastest was slowest.

Maybe it is something to do with the workload? Let's put something heavier on it. Prime95 128k FFT, single in-place load.

0 4287 4300
2 4306 4287
4 4235 4218 2nd fastest on ccx
6 4275 4253 fastest on ccx
8 4274 4260
10 4303 4304 2nd fastest on ccx
12 4262 4261 fastest core
14 4225 4230

CPU temps were hotter, starting around 70 going up to 72C by the end. On the first pass I went from thread 0 to 14, and on 2nd pass I went from thread 14 back down to 0.

I think thermal throttling is making an impact here with a bit more variation between the cores on each pass.

Like before, the fastest core remained slightly behind the 2nd fastest core on same CCX. On the other CCX, the indicated two fastest cores were actually slowest. While there is some consistency, it isn't exact between the two workloads.

Still, I'd like to offer these observations as a starting point in case it might be useful for something. My motivation was to see how the system handles these cores.

Key hardware/software
CPU 3700X
Cooler: 240mm AIO
AGESA 1.0.0.3ABBA
Ram: 3600 dual channel
PBO enabled
Win10 1903, with AMD chipset driver and Ryzen Master updated to latest shortly before test
 
CCX ?

So it seems like the "fastest cores" are only faster under light loads.

The AMD power management scheme for Zen 2 is indeed very complex, almost mysterious.
 
Last edited:

Is that a question? To make sure we're on the same page, with Zen 2 one die is a CCD, containing up to 8 cores. This is arranged in two CCX, each up to 4 cores. Ryzen master identifies 4 of the cores as described previously.
 
CCX is a CPU Complex or Core Compute Complex. CCD is a core die (as opposed to IO die). For a Zen/Zen+/Zen2 architecture CPU, a die consists of two CCXs, each composted of up to 4 cores, which are a mirror image of each other. The CCX do not communicate directly, but rather via the infinity fabric. For Zen/Zen+ the IO is also included on the same die as the two CCXs. For Zen2 there is a separate IO die using a different fab process, and for the models with more than 8 cores, there are two CCDs or core dies, each consisting of two CCX. I know the physical layout / packaging in conjunction with the architecture makes all this pretty confusing. What this does for AMD is gives them an essentially infinitely scaleable platform from budget consumer components through HEDT and all the way to server (although the packaging is going to vary, the basic principle is roughly similar).

I do believe that the boost clock is dependent on load. Not just load percentage but also the nature of the task and how stressful it is. I'm just going off of memory but I can shoot some single threaded CB15 and prime95 runs this evening and report what I see for single core boosts. Of course my system is Zen+ not Zen2, but the fundamentals of the boosting behavior remain unchanged.
 
Yes, it was a question. Thanks Zerileous for decoding for me the acronymns.
 
Just reporting back on the single thread boost. prime95 did not reach max boost (4150MHz was the max I saw), CB15 did on every core. In neither case was any thread ever at 100% load. I'm not sure if there is a way to keep the CPU from moving the thread around between cores.
 
Just reporting back on the single thread boost. prime95 did not reach max boost (4150MHz was the max I saw), CB15 did on every core. In neither case was any thread ever at 100% load. I'm not sure if there is a way to keep the CPU from moving the thread around between cores.

Prime95 in my case was harsh enough it was pushing the CPU to soft thermal throttle, hence lower clocks. To put a thread where you want it, open Task Manager, Details tab, find your app, right click and set affinity. It only lasts as long as the app is running. Think there are other software solutions if you want to automate this.

Windows 10 scheduler rotates a thread to all cores.

Thought with a combo of AMD chipset drivers and latest Windows version, Windows was supposed to be aware of fastest core and use that for single thread? I don't think I saw this either...
 
I don't think any single core is capable of sustaining max boost for that long, hence bouncing it around. I can test this by setting affinity. Also I'll take a look at temps to see if that's why it backed down with prime95, I believe temps were in the 60s C, but it could have dipped up into the low 70s C. I know there is only so much comparison between Zen+ and Zen2, but I think it's beneficial to compare a CPU using a very similar boost algorithm without the problems reaching maximum boost.
 
Back