• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

AMD Curve Optimizer any guides / experience

Joined
Nov 19, 2019
Messages
107 (0.06/day)
I have my 5800X up and running, and would like to do a little undervolting, however I am fairly confused.

1) How can I tell how much of an offset to set for each core? From what I read, it's during idle when too much can cause instability, so how the hell do I test that, and how can I even know what core is malfunctioning?

2) I learned there is something like quality of cores and that Hwinfo can show that, but I can't make ANY sense out of this:
View attachment 189672
What the heck does all this mean? I've already looked at Ryzen Master and cores 1 and 7 are the best, but these numbers I don't understand.

3) When taking the cores quality into consideration, which ones are to be run with higher lor lower curve offset? I keep reading conflicting information about this.

4) Is it enough to just play with the curve optimizer in my use case? My head is already like a baloon staring into the BIOS.



I have no idea what kind of sample do I have, probably utter shit, because all core boost in Prime95 is 4300MHz on average, and highest frequency frequency shown in Hwinfo over some period of time (not constant load) is 4850MHz.

Part of the confusing thing is that no one can tell you what core offset will be stable for each core on your cpu. Every cpu is different and the only way to figure it out is by testing your cpu to see what is stable and gives good results.
One thing that generally seems to be the case is that you can set a higher offset on the cores that are not rated as highly. This is why you see recommendations like set your best cores to X and all others to Y. However, even that might not be true on a single sample and so copying someone else's recommended settings is probably not going to work well.

Take a step back and first understand which are the relevant bios settings.
Then do some testing of your own to figure out what works well, while keeping an eye on temps and effective clocks in HWinfo.
I posted more details and a script here to test with prime95: https://www.overclock.net/threads/s...script-for-zen-3-curve-offset-tuning.1777112/

"I have no idea what kind of sample do I have, probably utter shit, because all core boost in Prime95 is 4300MHz on average, and highest frequency frequency shown in Hwinfo over some period of time (not constant load) is 4850MHz."
That pretty much matches my stock behavior on a 5800x, and to be honest, tuning curve offsets, while keeping things 100% stable, didn't gain very much at all. 4850MHz is the stock max boost. With a power hungry avx all core load 4300MHz is about what you will get. Disabling AVX in p95 will give higher frequencies.

Review frequencies seem to be higher. e.g. https://www.techpowerup.com/review/amd-ryzen-7-5800x/21.html
I have a feeling review samples were very good chips, but "This test uses a custom-coded application that mimics real-life performance—it is not a stress test like Prime95.", so the test used for that graph is most likely using less power (and therefore generating less heat) than prime95.
 
Joined
Aug 13, 2009
Messages
3,211 (0.58/day)
Location
Czech republic
Processor Ryzen 5800X
Motherboard Asus TUF-Gaming B550-Plus
Cooling Noctua NH-U14S
Memory 32GB G.Skill Trident Z Neo F4-3600C16D-32GTZNC
Video Card(s) Sapphire Radeon Rx 580 Nitro+ 8GB
Storage HP EX950 512GB + Samsung 970 PRO 1TB
Display(s) HP Z Display Z24i G2
Case Fractal Design Define R6 Black
Audio Device(s) Creative Sound Blaster AE-5
Power Supply Seasonic PRIME Ultra 650W Gold
Mouse Roccat Kone AIMO Remastered
Software Windows 10 x64
I really just want to undervolt the thing a bit for temperatures purposes, I'm not interested in hunting for higher frequencies, because I feel like for any meaningful gains I'd have to spend enormous times understanding tons of settings and testing for even longer, and the little I could get with just some minor adjustments would make absolutely zero difference for regular usage.
 
Joined
Nov 19, 2019
Messages
107 (0.06/day)
I really just want to undervolt the thing a bit for temperatures purposes, I'm not interested in hunting for higher frequencies, because I feel like for any meaningful gains I'd have to spend enormous times understanding tons of settings and testing for even longer, and the little I could get with just some minor adjustments would make absolutely zero difference for regular usage.
It's not that simple since precision boost will try to run as high a frequency as it can within the power and temp limits.

If you want your cpu to run cooler, you can enable PBO and lower the max temperature limit from the default value of 90C. Then PB will automatically limit to whatever temp you decide.
Your other option is to enable PBO, but rather than raise the power limits, lower them below stock settings.
Final option is to manually set frequency and voltage. But then you lose the benefits of increased frequency when not all cores are loaded, and some power saving when cores are idle.
 
Joined
Aug 13, 2009
Messages
3,211 (0.58/day)
Location
Czech republic
Processor Ryzen 5800X
Motherboard Asus TUF-Gaming B550-Plus
Cooling Noctua NH-U14S
Memory 32GB G.Skill Trident Z Neo F4-3600C16D-32GTZNC
Video Card(s) Sapphire Radeon Rx 580 Nitro+ 8GB
Storage HP EX950 512GB + Samsung 970 PRO 1TB
Display(s) HP Z Display Z24i G2
Case Fractal Design Define R6 Black
Audio Device(s) Creative Sound Blaster AE-5
Power Supply Seasonic PRIME Ultra 650W Gold
Mouse Roccat Kone AIMO Remastered
Software Windows 10 x64
Well, I blindly lowered the curve by -5 and -10 and highest temperatures in Prime95 dropped by ~5°C, so I guess it works.
 
Joined
Nov 19, 2019
Messages
107 (0.06/day)
Well, I blindly lowered the curve by -5 and -10 and highest temperatures in Prime95 dropped by ~5°C, so I guess it works.
Ok, well I guess check that it is stable now and if it is then be happy

Or continue down the slippery slope to find the lowest stable curve offset you can get for each core :-D
 

Mussels

Freshwater Moderator
Joined
Oct 6, 2004
Messages
58,413 (7.95/day)
Location
Oystralia
System Name Rainbow Sparkles (Power efficient, <350W gaming load)
Processor Ryzen R7 5800x3D (Undervolted, 4.45GHz all core)
Motherboard Asus x570-F (BIOS Modded)
Cooling Alphacool Apex UV - Alphacool Eisblock XPX Aurora + EK Quantum ARGB 3090 w/ active backplate
Memory 2x32GB DDR4 3600 Corsair Vengeance RGB @3866 C18-22-22-22-42 TRFC704 (1.4V Hynix MJR - SoC 1.15V)
Video Card(s) Galax RTX 3090 SG 24GB: Underclocked to 1700Mhz 0.750v (375W down to 250W))
Storage 2TB WD SN850 NVME + 1TB Sasmsung 970 Pro NVME + 1TB Intel 6000P NVME USB 3.2
Display(s) Phillips 32 32M1N5800A (4k144), LG 32" (4K60) | Gigabyte G32QC (2k165) | Phillips 328m6fjrmb (2K144)
Case Fractal Design R6
Audio Device(s) Logitech G560 | Corsair Void pro RGB |Blue Yeti mic
Power Supply Fractal Ion+ 2 860W (Platinum) (This thing is God-tier. Silent and TINY)
Mouse Logitech G Pro wireless + Steelseries Prisma XL
Keyboard Razer Huntsman TE ( Sexy white keycaps)
VR HMD Oculus Rift S + Quest 2
Software Windows 11 pro x64 (Yes, it's genuinely a good OS) OpenRGB - ditch the branded bloatware!
Benchmark Scores Nyooom.
I have my 5800X up and running, and would like to do a little undervolting, however I am fairly confused.

1) How can I tell how much of an offset to set for each core? From what I read, it's during idle when too much can cause instability, so how the hell do I test that, and how can I even know what core is malfunctioning?

2) I learned there is something like quality of cores and that Hwinfo can show that, but I can't make ANY sense out of this:
View attachment 189672
What the heck does all this mean? I've already looked at Ryzen Master and cores 1 and 7 are the best, but these numbers I don't understand.

3) When taking the cores quality into consideration, which ones are to be run with higher lor lower curve offset? I keep reading conflicting information about this.

4) Is it enough to just play with the curve optimizer in my use case? My head is already like a baloon staring into the BIOS.



I have no idea what kind of sample do I have, probably utter shit, because all core boost in Prime95 is 4300MHz on average, and highest frequency frequency shown in Hwinfo over some period of time (not constant load) is 4850MHz.

Those clocks are about right for stock settings
If you enable PBO and set +200, you'll see 5050 for the low load core boosts, ideally randomly each core will reach that over time.

I cant read the HWinfo stats either lol. Next you need to play with the curve optimiser and deal with the chaos of stability testing when you're undervolting one core at a time like the rest of us
 
Joined
Aug 13, 2009
Messages
3,211 (0.58/day)
Location
Czech republic
Processor Ryzen 5800X
Motherboard Asus TUF-Gaming B550-Plus
Cooling Noctua NH-U14S
Memory 32GB G.Skill Trident Z Neo F4-3600C16D-32GTZNC
Video Card(s) Sapphire Radeon Rx 580 Nitro+ 8GB
Storage HP EX950 512GB + Samsung 970 PRO 1TB
Display(s) HP Z Display Z24i G2
Case Fractal Design Define R6 Black
Audio Device(s) Creative Sound Blaster AE-5
Power Supply Seasonic PRIME Ultra 650W Gold
Mouse Roccat Kone AIMO Remastered
Software Windows 10 x64
Could you add code so the script can be run when prime95.exe is already present in the current folder? To me it makes more sense to download P95 manually and put it there. The script also replies on specific version of the program.

Btw why that specific 84k FFT size?

Those clocks are about right for stock settings
If you enable PBO and set +200, you'll see 5050 for the low load core boosts, ideally randomly each core will reach that over time.

I cant read the HWinfo stats either lol. Next you need to play with the curve optimiser and deal with the chaos of stability testing when you're undervolting one core at a time like the rest of us
I think I read that if you increase the frequency limit, whatever undervolt you might have will likely not be stable anymore. Is that true?

Also I don't understand how can people suggest to lower the curve by -40 or something like that. I am on very brief unscietific testing of fourth core, and -30 crashed Prime95 on 3 out of 4 of them within minutes. One crashed after 10 hours, one flat out restarted the PC :D
 
Joined
Nov 19, 2019
Messages
107 (0.06/day)
Could you add code so the script can be run when prime95.exe is already present in the current folder? To me it makes more sense to download P95 manually and put it there. The script also replies on specific version of the program.
The latest version will check if there is an existing p95 folder and use that instead of extracting p95 again. So if you want you can manually extract any version of p95 into a p95 subfolder and then run the script. You can also change the name of the p95 zip file to extract by editing the variable near the top of the script. Just keep in mind I only tested it with that specific version of p95.
Btw why that specific 84k FFT size?
Good question. I should add this to the readme or something... when I started testing early on I was using a range of FFT sizes, but noticed that I typically hit an error after reaching 84k FFT size. So I just set it to that as a shortcut. It could be that higher values are better though, or that different values expose different instabilities. Feel free to experiment with different values and if you are shooting for 110% stability, then setting it to a range and running for at least a couple hours on each core is something you could try.
I think I read that if you increase the frequency limit, whatever undervolt you might have will likely not be stable anymore. Is that true?
This is true, since the cpu will reach higher boost clocks and those might not be stable with the undervolt. Actually people are even finding they need to add voltage to some cores (via a positive core offset) to be stable if they set a boost clock override >0. This is the case with my cpu where one core needs +10, another +3, but all others can keep a 0 or negative setting.

Also I don't understand how can people suggest to lower the curve by -40 or something like that. I am on very brief unscietific testing of fourth core, and -30 crashed Prime95 on 3 out of 4 of them within minutes. One crashed after 10 hours, one flat out restarted the PC :D
I feel you... actually part of what motivated me to share this script was to help with all the confusion created by posts that suggest setting core offsets a certain way rather than testing what specifically works with your cpu. I think part of what makes this hard is that it is possible for an unstable core offset to remain hidden in a lot of tests as it will need a single core load on that specific core to expose it.

Everyone's definition of stable is different as well. My testing is more geared to having a 24/7 reliable machine that runs at a good speed, rather than trying to reach the highest single benchmark score I can. Those are different goals as for a high score you just need things stable for long enough to complete that test.
 
Joined
Jan 8, 2021
Messages
86 (0.06/day)
System Name Columbus
Processor Ryzen 5950X PBO Advanced
Motherboard X570 AORUS Master Rev 1.2 F30 BIOS
Cooling AIO XPG Levante 240MM Push/Pull + 6 x 120MM InWin Sirious Loop ARGB
Memory Teamgroup T-Force Xcalibur Special Edition 4x8GB DDR4 4000Mhz CL18 (3800Mhz CL16)
Video Card(s) MSI Ventus 3X OC RTX 3080 10GB
Storage Kingston 240GB SSD / 2TB Corsair Force MP600 NVMe Gen 4 / 2TB Western Digital 3.5" 7200RPM
Display(s) Lenovo LEGION Y44W-10 43.4" Freesync Premium Pro 144Hz
Case XPG Battlecruiser Black
Audio Device(s) XPG Precog / Logitech Z337
Power Supply XPG Core Reactor 850W 80+ Gold
Mouse XPG Primer
Keyboard XPG Summoner
Software Windows 10 Pro
The latest version will check if there is an existing p95 folder and use that instead of extracting p95 again. So if you want you can manually extract any version of p95 into a p95 subfolder and then run the script. You can also change the name of the p95 zip file to extract by editing the variable near the top of the script. Just keep in mind I only tested it with that specific version of p95.

Good question. I should add this to the readme or something... when I started testing early on I was using a range of FFT sizes, but noticed that I typically hit an error after reaching 84k FFT size. So I just set it to that as a shortcut. It could be that higher values are better though, or that different values expose different instabilities. Feel free to experiment with different values and if you are shooting for 110% stability, then setting it to a range and running for at least a couple hours on each core is something you could try.

This is true, since the cpu will reach higher boost clocks and those might not be stable with the undervolt. Actually people are even finding they need to add voltage to some cores (via a positive core offset) to be stable if they set a boost clock override >0. This is the case with my cpu where one core needs +10, another +3, but all others can keep a 0 or negative setting.


I feel you... actually part of what motivated me to share this script was to help with all the confusion created by posts that suggest setting core offsets a certain way rather than testing what specifically works with your cpu. I think part of what makes this hard is that it is possible for an unstable core offset to remain hidden in a lot of tests as it will need a single core load on that specific core to expose it.

Everyone's definition of stable is different as well. My testing is more geared to having a 24/7 reliable machine that runs at a good speed, rather than trying to reach the highest single benchmark score I can. Those are different goals as for a high score you just need things stable for long enough to complete that test.
Great job man
 
Joined
Aug 13, 2009
Messages
3,211 (0.58/day)
Location
Czech republic
Processor Ryzen 5800X
Motherboard Asus TUF-Gaming B550-Plus
Cooling Noctua NH-U14S
Memory 32GB G.Skill Trident Z Neo F4-3600C16D-32GTZNC
Video Card(s) Sapphire Radeon Rx 580 Nitro+ 8GB
Storage HP EX950 512GB + Samsung 970 PRO 1TB
Display(s) HP Z Display Z24i G2
Case Fractal Design Define R6 Black
Audio Device(s) Creative Sound Blaster AE-5
Power Supply Seasonic PRIME Ultra 650W Gold
Mouse Roccat Kone AIMO Remastered
Software Windows 10 x64
I think the script (version from 24.2.) is wrong. When I run Hwinfo, only one thread per core is being used. I guess the affinity is misconfigured.
 
Joined
Nov 19, 2019
Messages
107 (0.06/day)
I think the script (version from 24.2.) is wrong. When I run Hwinfo, only one thread per core is being used. I guess the affinity is misconfigured.

Did you change any of the variables from their defaults? There is a new setting, $use_smt=$true; If that is set to false then it will only use one thread on each core.

Check in task manager to make sure the affinity is set correctly for prime95 while it is running.
Let me know if it is not working on your system.
Thanks!
 

Attachments

  • p95_affinity.png
    p95_affinity.png
    399.9 KB · Views: 197
Last edited:

mirskid

New Member
Joined
Mar 1, 2021
Messages
2 (0.00/day)
New AMD chipset driver - on x570 it seems stable P200T125E115
View attachment 187257
View attachment 187258
Hi mate
I'm new here and have been reeding about this overclocking options with the Curve Optimizer. I followed and done it on my ROG Crosshair VIII Dark Hero with Ryzen 5950x.
It seams that I am missing somenthing during the process.
I only setup PBO via the advanced options with
PPT:200
TDC:140
EDC:200
PBO Scalar: 10X
Max CPU Boost Clock Override: 200Mhz

Is stable but when I run Cinebench R23 multicore I get 28706 and the cores do not go over 4300MHz.
Temp is arond 88 Celcius

Have a couple of questions.
1. Is it possible for you to share screens of your Bios for relevant overclocking details to see if I am missing somethig.
2. With the Curve Optimizer is there a need to setup anything else like CPU Core Ratio (per ccx) or other settings in the Bios to get a 4500MHz multicore?

Regards,
 
Joined
Nov 19, 2019
Messages
107 (0.06/day)
Hi mate
I'm new here and have been reeding about this overclocking options with the Curve Optimizer. I followed and done it on my ROG Crosshair VIII Dark Hero with Ryzen 5950x.
It seams that I am missing somenthing during the process.
I only setup PBO via the advanced options with
PPT:200
TDC:140
EDC:200
PBO Scalar: 10X
Max CPU Boost Clock Override: 200Mhz

Is stable but when I run Cinebench R23 multicore I get 28706 and the cores do not go over 4300MHz.
Temp is arond 88 Celcius

Have a couple of questions.
1. Is it possible for you to share screens of your Bios for relevant overclocking details to see if I am missing somethig.
2. With the Curve Optimizer is there a need to setup anything else like CPU Core Ratio (per ccx) or other settings in the Bios to get a 4500MHz multicore?

Regards,

You need to find the curve offset settings, hidden somewhere under advanced options, amd overclocking in your bios. Then lower, and test for stability with both single core and multicore loads.
I would suggest setting Boost Clock Override back to 0. The 5950x will go up to 5050Mhz at stock.
 
Joined
Aug 13, 2009
Messages
3,211 (0.58/day)
Location
Czech republic
Processor Ryzen 5800X
Motherboard Asus TUF-Gaming B550-Plus
Cooling Noctua NH-U14S
Memory 32GB G.Skill Trident Z Neo F4-3600C16D-32GTZNC
Video Card(s) Sapphire Radeon Rx 580 Nitro+ 8GB
Storage HP EX950 512GB + Samsung 970 PRO 1TB
Display(s) HP Z Display Z24i G2
Case Fractal Design Define R6 Black
Audio Device(s) Creative Sound Blaster AE-5
Power Supply Seasonic PRIME Ultra 650W Gold
Mouse Roccat Kone AIMO Remastered
Software Windows 10 x64
Did you change any of the variables from their defaults? There is a new setting, $use_smt=$true; If that is set to false then it will only use one thread on each core.

Check in task manager to make sure the affinity is set correctly for prime95 while it is running.
Let me know if it is not working on your system.
Thanks!
This is really weird. the affinity is set correctly, but there is still load only on one of the virtual cores.
1614585037800.png

1614585014278.png



When you run p95 directly, it detects everything correctly, but when you do so from the script, apparently it does not.
 
Joined
Jan 4, 2013
Messages
1,182 (0.27/day)
Location
Denmark
System Name R9 5950x/Skylake 6400
Processor R9 5950x/i5 6400
Motherboard Gigabyte Aorus Master X570/Asus Z170 Pro Gaming
Cooling Arctic Liquid Freezer II 360/Stock
Memory 4x8GB Patriot PVS416G4440 CL14/G.S Ripjaws 32 GB F4-3200C16D-32GV
Video Card(s) 7900XTX/6900XT
Storage RIP Seagate 530 4TB (died after 7 months), WD SN850 2TB, Aorus 2TB, Corsair MP600 1TB / 960 Evo 1TB
Display(s) 3x LG 27gl850 1440p
Case Custom builds
Audio Device(s) -
Power Supply Silverstone 1000watt modular Gold/1000Watt Antec
Software Win11pro/win10pro / Win10 Home / win7 / wista 64 bit and XPpro
Hi mate
I'm new here and have been reeding about this overclocking options with the Curve Optimizer. I followed and done it on my ROG Crosshair VIII Dark Hero with Ryzen 5950x.
It seams that I am missing somenthing during the process.
Try using PBO via the advanced options with
PPT:200
TDC:125
EDC:115
PBO Scalar: 2-4X
Max CPU Boost Clock Override: 200Mhz

and a curve of negative -10 and then add more negative curve until not stable and then try to change TDC and then EDC

to begin with - do note my previos bios pics - I personally also set Infinity fabric and memory to 1:1 - in my case its stable at 1900MHz - giving 3800MHz memory
 

mirskid

New Member
Joined
Mar 1, 2021
Messages
2 (0.00/day)
Try using PBO via the advanced options with
PPT:200
TDC:125
EDC:115
PBO Scalar: 2-4X
Max CPU Boost Clock Override: 200Mhz

and a curve of negative -10 and then add more negative curve until not stable and then try to change TDC and then EDC

to begin with - do note my previos bios pics - I personally also set Infinity fabric and memory to 1:1 - in my case its stable at 1900MHz - giving 3800MHz memory
I have worked out most of the values for the curve with negative -15 for best 4 cores and -30 for the remaining cores.
Is stable with PPT185 TDC140 EDC140
Now what I have been noticing from the beginning is that the temp in full load when I’m compressing videos is around 90 Celcius which is too hot to keep for hours if I have a batch to run. How do I reduce the temp to something like 80s during full load?
Regards
 
Joined
Nov 19, 2019
Messages
107 (0.06/day)
I have worked out most of the values for the curve with negative -15 for best 4 cores and -30 for the remaining cores.
Is stable with PPT185 TDC140 EDC140
Now what I have been noticing from the beginning is that the temp in full load when I’m compressing videos is around 90 Celcius which is too hot to keep for hours if I have a batch to run. How do I reduce the temp to something like 80s during full load?
Regards

Set PBO temperature limit to 80, or whatever you want your max temp to be. 90c is the default, and should be fine. I have mine at 85 though. This is assuming you've already checked there is no issue with your cooling (temps ok at lower loads).

This is really weird. the affinity is set correctly, but there is still load only on one of the virtual cores.
View attachment 190457
View attachment 190456


When you run p95 directly, it detects everything correctly, but when you do so from the script, apparently it does not.

By default the script only runs a single actual thread of p95 to try and reach as high a boost clock as possible. It then assigns it to both threads on a single core and let's windows voice between them as it likes. Is this what you are seeing?
 
Joined
Aug 13, 2009
Messages
3,211 (0.58/day)
Location
Czech republic
Processor Ryzen 5800X
Motherboard Asus TUF-Gaming B550-Plus
Cooling Noctua NH-U14S
Memory 32GB G.Skill Trident Z Neo F4-3600C16D-32GTZNC
Video Card(s) Sapphire Radeon Rx 580 Nitro+ 8GB
Storage HP EX950 512GB + Samsung 970 PRO 1TB
Display(s) HP Z Display Z24i G2
Case Fractal Design Define R6 Black
Audio Device(s) Creative Sound Blaster AE-5
Power Supply Seasonic PRIME Ultra 650W Gold
Mouse Roccat Kone AIMO Remastered
Software Windows 10 x64
I don't think that's what I'm seeing. Whatever I am seeing it's wrong, because when I run prime95 manually, the load is on both threads, which I assume is the correct behaviour with SMT enabled.
 
Joined
Nov 19, 2019
Messages
107 (0.06/day)
I don't think that's what I'm seeing. Whatever I am seeing it's wrong, because when I run prime95 manually, the load is on both threads, which I assume is the correct behaviour with SMT enabled.

When you run it manually, are you limiting the number of threads that p95 will create?
By default, the script sets the number of threads to '1'

1614708517374.png
 
Joined
Aug 13, 2009
Messages
3,211 (0.58/day)
Location
Czech republic
Processor Ryzen 5800X
Motherboard Asus TUF-Gaming B550-Plus
Cooling Noctua NH-U14S
Memory 32GB G.Skill Trident Z Neo F4-3600C16D-32GTZNC
Video Card(s) Sapphire Radeon Rx 580 Nitro+ 8GB
Storage HP EX950 512GB + Samsung 970 PRO 1TB
Display(s) HP Z Display Z24i G2
Case Fractal Design Define R6 Black
Audio Device(s) Creative Sound Blaster AE-5
Power Supply Seasonic PRIME Ultra 650W Gold
Mouse Roccat Kone AIMO Remastered
Software Windows 10 x64
I set it to two, obviously. Two threads per core.

I set PBO frequency to +200MHz and when running p95, not only is the frequency not higher, it seems to be slightly lower than before (I am still testing the cores individually to have stable max boost). Is that even possible?
 
Joined
Sep 3, 2019
Messages
3,505 (1.84/day)
Location
Thessaloniki, Greece
System Name PC on since Aug 2019, 1st CPU R5 3600 + ASUS ROG RX580 8GB >> MSI Gaming X RX5700XT (Jan 2020)
Processor Ryzen 9 5900X (July 2022), 220W PPT limit, 80C temp limit, CO -6-14, +50MHz (up to 5.0GHz)
Motherboard Gigabyte X570 Aorus Pro (Rev1.0), BIOS F39b, AGESA V2 1.2.0.C
Cooling Arctic Liquid Freezer II 420mm Rev7 (Jan 2024) with off-center mount for Ryzen, TIM: Kryonaut
Memory 2x16GB G.Skill Trident Z Neo GTZN (July 2022) 3667MT/s 1.42V CL16-16-16-16-32-48 1T, tRFC:280, B-die
Video Card(s) Sapphire Nitro+ RX 7900XTX (Dec 2023) 314~467W (375W current) PowerLimit, 1060mV, Adrenalin v24.10.1
Storage Samsung NVMe: 980Pro 1TB(OS 2022), 970Pro 512GB(2019) / SATA-III: 850Pro 1TB(2015) 860Evo 1TB(2020)
Display(s) Dell Alienware AW3423DW 34" QD-OLED curved (1800R), 3440x1440 144Hz (max 175Hz) HDR400/1000, VRR on
Case None... naked on desk
Audio Device(s) Astro A50 headset
Power Supply Corsair HX750i, ATX v2.4, 80+ Platinum, 93% (250~700W), modular, single/dual rail (switch)
Mouse Logitech MX Master (Gen1)
Keyboard Logitech G15 (Gen2) w/ LCDSirReal applet
Software Windows 11 Home 64bit (v24H2, OSBuild 26100.2161), upgraded from Win10 to Win11 on Jan 2024
Latest beta versions of HWiNFO offer a tooltip description when you hover the pointer over a sensor.

Anyway the “Core X Clock (perf#x/x)” naming scheme means the following...

perf#x/x

The second x (/x) is the performance order of the cores hard coded into the CPU logic after its fabrication evaluation. Meaning that the cores with numbers 1, 2 can operate at higher frequency on the same voltage from cores with numbers 7, 8 if we are talking about an 8core SKU.
The first x (x/) is the order the Windows scheduler is preferring to load first and keep the loads more in single or reduced threaded apps/games. If the scheduler is “smart” enough, is trying to keep the loads on the same 4/8core CCX (depending if the CPU is 3000 or 5000) to reduce latency by avoiding CCX and CCD cross talks. And also is trying to load the higher perf# cores more. This behavior depends also on the power plan and/or the version of Windows and chipset drivers.

The core loading “amount” can be represented by 3 other things on HWiNFO sensors window.
1. The core effective speed. The higher the core effective speed the higher the load on those cores.
2. The core C-states residency. Where C0 is the active state, C1 is the halt state and C6 is the power off (sleep).
3. The core T usage (%)

Usually the discrete clock and raw multiplier readings can represent the core loading but at some points it could be misleading. Only effective clock and active/nonactive states can show this accurately.

——————————————

Keep in mind that desktop Ryzens (unlike mobile ones) can’t feed cores with individual voltage. Instead the CPU operates cores at different speed on the same voltage. The core feeding voltage is one and only, the “CPU Core Voltage (SVI2 TFN)” as HWiNFO reports.

To feed voltage individually to cores you either do it with multi VR rails but this adds high complexity and cost for the boards...
or you do it with on die core V regulators the dLDOs. At least ZEN3 has them but they are not put to use on desktop SKUs. On mobile they do use them, where power control and efficiency is essential.

EDIT: by mistake I misspell dLDOs with cLDOs...
 
Last edited:
Joined
Aug 13, 2009
Messages
3,211 (0.58/day)
Location
Czech republic
Processor Ryzen 5800X
Motherboard Asus TUF-Gaming B550-Plus
Cooling Noctua NH-U14S
Memory 32GB G.Skill Trident Z Neo F4-3600C16D-32GTZNC
Video Card(s) Sapphire Radeon Rx 580 Nitro+ 8GB
Storage HP EX950 512GB + Samsung 970 PRO 1TB
Display(s) HP Z Display Z24i G2
Case Fractal Design Define R6 Black
Audio Device(s) Creative Sound Blaster AE-5
Power Supply Seasonic PRIME Ultra 650W Gold
Mouse Roccat Kone AIMO Remastered
Software Windows 10 x64
Could that mean that undervolting with curve optimizer is poinless to set on per-core basis? Because if I can only undervolt the top one or two cores by -5 and the crappy ones by -30, I presume the controller would only go as low as -5, right?

edit:
At the same time, how is this possible then?
1614853446824.png
 
Joined
Nov 19, 2019
Messages
107 (0.06/day)
I set it to two, obviously. Two threads per core.
OK, sorry it wasn't clear. I'm intentionally only running a single thread of p95 to try and get as high a boost clock as possible. This method worked well for me, but I have not done a lot of testing with 2 threads running to see how that compares. If you want to experiment with this you can change the p95 config the script uses by editing "local.txt".

I set PBO frequency to +200MHz and when running p95, not only is the frequency not higher, it seems to be slightly lower than before (I am still testing the cores individually to have stable max boost). Is that even possible?
You should run a benchmark or check the effective clock frequencies to compare. Just a theory, but it's possible you will get a slight degradation in performance if the cpu tries to boost higher, uses more power, and then lowers the effective clocks as a result. If that happens it is likely only a small effect though.

or you do it with on die core V regulators the cLDOs. At least ZEN3 has them but they are not put to use on desktop SKUs. On mobile they do use them, where power control and efficiency is essential.
This is something I have been wondering about. There was another post somewhere saying this was actually enabled in Zen3, but I don't know if that was just speculation or not. Assuming there is no documentation or other statement from AMD that they have enabled individual core voltages on desktop then I'll continue to assume all cores run off a single voltage.

One thing I realized, if the cpu has voltage regulators on die, then are the seemingly high (1.4-1.5) voltages what is actually seen by the cores? It would explain a lot to me if the cpu voltage we are seeing is actually the supply to onboard voltage regulators and not the actual voltage that the cores run at.

Could that mean that undervolting with curve optimizer is poinless to set on per-core basis? Because if I can only undervolt the top one or two cores by -5 and the crappy ones by -30, I presume the controller would only go as low as -5, right?

edit:
At the same time, how is this possible then?
View attachment 190906
There's multiple things at play here, but the short answer is that it is not pointless to optimize on a per-core bases. At least if you want to get the last few % and as far as my understanding goes:

1. -5 on your best core might actually result in the same VID as -30 on your worst core, since each core has a different voltage curve set from the factory (and curve offset is setting an offset to the factory default).
2. Core VID in HWInfo is the voltage requested by that core. The actual voltage is going to be different to that, and assuming there is only a single voltage set for all cores it will be based on the highest voltage requested among the cores and possibly other parts of the die.
3. For a multi-core load the voltage will be set based on the highest voltage requested among the active cores. You can focus on those cores when tuning curve offset to save time, but you need to figure out which ones they really are first.


Also note that by default HWInfo will report the same VID for all cores, but will read out sensor/register values sequentially, so in your screenshot you might just be seeing the VID changing between the time it read the value for Core 0 and Core 1. There is a setting that was added in HWiNFO v6.40 which seems to fix this. If you enable this I'd expect that you will see a slightly different VID for each core:
  • Added Snapshot Polling mode for AMD Zen-based CPUs.
 
Last edited:
Joined
Aug 13, 2009
Messages
3,211 (0.58/day)
Location
Czech republic
Processor Ryzen 5800X
Motherboard Asus TUF-Gaming B550-Plus
Cooling Noctua NH-U14S
Memory 32GB G.Skill Trident Z Neo F4-3600C16D-32GTZNC
Video Card(s) Sapphire Radeon Rx 580 Nitro+ 8GB
Storage HP EX950 512GB + Samsung 970 PRO 1TB
Display(s) HP Z Display Z24i G2
Case Fractal Design Define R6 Black
Audio Device(s) Creative Sound Blaster AE-5
Power Supply Seasonic PRIME Ultra 650W Gold
Mouse Roccat Kone AIMO Remastered
Software Windows 10 x64
At this point I don't really know what I'm doing anymore, there are just too many questions and I'm totally sick of prime95 by now :D

Should I test the individual curve offsets with all other curves at default or is it perfectly fine to do so with some offsets already set?

Does the increased frequency limit even matter when (according to someone on a different forum) it adds "up to" 200MHz, meaning it's more like +100MHz with two cores and probably next to nothing with more than that running under load? Just by having programs opened and browsing the internet, I see activity on four cores most of the time.
and
Is the frequency limit of any use when I'm not overclocking in the classical way of increasing power limits, voltages etc.?

Can/does the increased frequency limit affect how much of an offset can I use?


Re: threads. I am not sure. I've always - for years - read that for HT/SMT enabled CPU, you have to run two threads, otherwise the load won't be 100%. I don't want to dig into reading about any of the technical klingon behind that, so I just do what I've been doing for years.
 
Top