CoreCycler - Tool zum Testen der Curve Optimizer Einstellungen

Perfekt, danke Dir @sp00n ! Leider bietet SMUDebugTool ja keine CLI Unterstützung für meine Startup / WakeUp Skripts. Ist ryzen-smu-cli dazu das aktuelle Mittel der Wahl, und braucht das noch winring0?
Das momentane Release von ryzen-smu-cli (0.1.3) benötigt noch WinRing0, ich hab aber einen Pull Request gestellt für die Migration auf PawnIO. Das ist dann die Version, mit der ich gerade CoreCycler teste.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Die finale 0.11.0.0 ist jetzt online:



Die mitgelieferte Version von ryzen-smu-cli verwendet da jetzt PawnIO anstatt WinRing0, die offizielle Version hat meinen dementsprechenden Pull-Request bislang noch nicht umgesetzt.

Ebenso habe ich PBO2Tuner und pbocli/pbotest entfernt, weil die auch noch WinRing0 verwenden, und stattdessen dann SMUDebugTool im /tools Verzeichnis hinzugefügt.
Das Intel-Pendant IntelVoltageControl hat leider noch keinen solchen Ersatz bekommen, setzt also weiterhin auf WinRing0, da müsste also gegebenenfalls eine Ausnahme im Windows Defender gesetzt werden, wenn das Tool auf einer Intel CPU mit der automatischen Anpassung der Spannung ausgeführt werden soll.

Seit dem "2025-12-09 Security Update" bei Windows 11 (KB5072033 bzw. KB5074596) scheint es auch eine Fehlermeldung beim Start von CoreCycler gegeben zu haben, wenn der Updatecheck aktiv war, das Problem ist ebenfalls behoben.

Und y-cruncher ist jetzt auf Version 0.8.7 Build 9547 upgedatet, wo auch wieder die 00-x86 Binary als "leichtester" Testmodus zurückgekommen ist.



Das gesamte Changelog:

Version 0.11.0.0 offers support for Ryzen 9000 for the Automatic Test Mode, and has replaced the outdated WinRing0 system driver with a version from PawnIO.
To be able to use it, you will need to install PawnIO from https://pawnio.eu/.
At the same time, PBO2Tuner and pbocli have been removed, as they also still contain WinRing0. They have been replaced with SMUDebugTool as an alternative if you look for a GUI interface to set the Curve Optimizer values.

Unfortunately the Intel component (IntelVoltageControl) still uses WinRing0, so you may need to add an exclusion for it if you want to run it on an Intel CPU.

y-cruncher has also been updated to version 0.8.7 Build 9547, which brought back the `00-x86` test binary mode!



### Changelog:

**Automatic Test Mode:**
- The Automatic Test Mode should now support Ryzen 9000 (and 8000)!
- Added a new `setVoltageOnlyForTestedCore` config option, which when active will only set the currently tested core to a negative Curve Optimizer value. All the other cores will be set to 0, which avoids any possible crashes due to other cores being too low
- Added the creation of a System Restore Point when the Automatic Test Mode is being started. This helps recovering from a corrupted Windows installation (ask me how I know)
This can be turned off in the config if you don't care about that
- Added a new `Minimum` option for the voltage starting values. These will set the Curve Optimizer values to -30 for Ryzen 5000 and -50 for Ryzen 7000 and above (and will throw an error for Intel)
- The default value for the starting values is now `CurrentValues` - and it does it says, it uses the currently set values as the starting point, which is actually the same behavior as the previous `Default` value, just more clear
- You can now provide the Curve Optimizer starting values separated with a `|` as well, which makes it easier to use the values provided at the end of a test
- There is now a 120 second waiting time after a crash before the testing is resumed, to avoid Windows registering this as a "failed" boot if the computer crashes immediately after starting the test again.
Otherwise you might run into a situation where the Recovery Screen is being brought up during the reboot, and no testing can proceed.
The waiting can be changed in the config file, and it can also be skipped by pressing a key
- The scheduled task for the auto-resume of the testing should now be more protected against simply vanishing during a crash (although it sometimes still seems to happen)
- The .automode file should not corrupt as often anymore during a crash



**Misc changes:**
- Migrated from WinRing0 to PawnIO to account for Windows Defender now recognizing it as a possible threat
- Updated y-cruncher to version 0.8.7 Build 9547
- Switched to using ryzen-smu-cli for setting the Curve Optimizer values
- Added a new `Ryzen.AutomaticTestMode.Start.ini` config preset, which makes use of `setVoltageOnlyForTestedCore = 1` and the `Minimum` starting values
- Added checks for Visual C++ libraries and for .NET 8
- The .automode file is now in JSON format
- Updated the included BoostTester tool to support a `--core-repeat <n>` argument, which allows for longer durations per core
- You can now use `auto` for the mode in y-cruncher, which will use the automatically selected binary that y-cruncher selects
- Added a new `CorePairs` option for the core testing order. This will form "pairs" for cores, so e.g. 0-1, 0-2, 0-n, up to n-0, n-1, n-(n-1)
- Added a `Run Multiconfig CoreCycler.bat` batch file that allows you to chain multiple config files, it will look for `multiconfig-x.ini` files (see the file comments for caveats)
- You can now define a single FFT size to Prime95 (so e.g. `720` instead of `720-720`)



**Multiple bug fixes:**
- Fixed a problem with the update check and the 2025-12-09 Windows Security Update (KB5072033 resp. KB5074596)
- The Ryzen 9950X3D seemed to have a different AVX512 order, tried to fix this
- Fixed a bug with directories that contain square brackets
- Fixed a bug where the core that crashed could be added multiple times to the testing sequence, making the last in the sequence to be skipped
- Fixed a bug where `stopOnError` caused problems in combination with the automatic test mode
- Added a check if one of the CCDs for Ryzen is disabled to prevent a bug
- Fixed a bug where a new log file would be started if the core that crashed the computer was core 0
- Fixed a bug with resuming the threads, which sometimes caused the script to abort
- Fixed an issue where setting the CO values would take longer than expected if y-cruncher was used
- Sometimes Aida64 didn't exit correctly when terminating the script. This should now work better
- Fixed a bug when registering the scheduled task
- Made the error checks for Visual C++ and .NET more precise
- Added functionality that checks if the System Restore is enabled, and if not, asks to enable it
- Added additional error check when creating the Event Log source
- Added multiple tries to get and set the Curve Optimizer values, because ZenStates-Core can seem to fail from time to time
- Waiting for one second before restarting the stress test program now, which hopefully should avoid errors if the allocated memory could not be freed fast enough
- Added some explanation for the CPULOAD error message
- Tried to avoid some errors when trying to get the stress test process
 
CPU: 9950X3D

Angepasste Ryzen Automatic Configuration:
numberOfThreads = 2
startValues = CurrentValues
tests = VT3, N63
setVoltageOnlyForTestedCore = 0


"setVoltageOnlyForTestedCore = 0" setzt die CO Werte die nicht getestet werden nicht auf "0", sonder behält die voreingestellte CO Werte der Cores bei. Hier bekomme ich relativ schnell Rückmeldungen zu Fehlern. Erster Fehler nach nicht mal 10 Minuten. Letzter Fehler nach einer Stunde.
Ich habe nach ca. 2 Stunden (9 ganze Iterationen) folgendes Ergebnis:
1769878905367.png

Ich habe auch eher Fehler beim non3D CCD (C8-C15) erwartet, soweit -so gut?

Jetzt starte ich den CC neu mit den alten CO Werten und
"setVoltageOnlyForTestedCore = 1"

Hier passiert die ersten 50 Minuten (Iteration 4) rein gar nichts. Ich lasse es mal weiter laufen.

Ist das Ergebnis bei "setVoltageOnlyForTestedCore = 0" als "Falsch" zu bewerten oder ist eher "setVoltageOnlyForTestedCore = 1" nicht passend für o.g. CPU?
Warum ist als Standard "setVoltageOnlyForTestedCore = 1" gesetzt?
EDIT:
Auch frage ich mich, warum "startValues = CurrentValues" nicht der Standard ist (inkl Hinweis CO selbst zu setzen oder zur Not beim Starten des CC eine Wert für alle Cores abzufragen), bzw man den Startpunkt nicht in der Config-Datei wählen kann, ausser man ändert das PS1 Script. Insbesondere wenn per se Ryzen 9xxx mit -50 gestartet wird, ist ein wiederbeleben mit dem Reset Knopf vorprogrammiert, gerade wenn das System kalt ist. Da hilft auch die "Automatik" nicht weiter. Ich verstehe es nicht.

Danke.
 
Zuletzt bearbeitet:
@Bam_Bam
Gibt es neue Erkenntnisse mit der Option "setVoltageOnlyForTestedCore = 1"
Hat sich an deinen CO Werten nochmal etwas getan?

Meine ersten Gehversuche mit dem 9950X3D fingen mit AllCore-Werten an, was mir zu ungenau war.
Dann versuchte ich es mit HYDRA. War ganz okay für den Anfang. Man musste nach Ermittlung der ersten CO-Werte so lange "Verification AMD CO" wiederholen bis vermeintlich keine Fehler mehr kamen, aber sie kamen dennoch! War es dann leid weiter zu prüfen und habe kurzum alle negativen Werte um 10 zurück genommen :eek:
HYDRA.log1.jpg

Den ganzen Spass nun noch um den Curve Shaper zu ergänzen . . . da bin ich nie richtig durchgestiegen den passend einzusetzen :confused:

Aktuell versuche ich die Werte so zu ermitteln wie es @gupsterg hier vorgeschlagen hat:

Das bedeutet, der Kern mit der geringsten durchschnittlichen Voltage (Core VID) ist die Basis um die anderen Kerne auf dieses Niveau anzugleichen.
Aligned.CO1.jpg


Und hier einmal der Vergleich von beiden Varianten:
Compare1.jpg


Welche Variante liegt nun näher am richtigen/besseren/stabileren Ergebnis? Das gilt es heraus zu finden!

Was mich zur Zeit nun etwas nervt ist, wenn ich die CO-Werte mutwillig etwas zu tief stelle und mir dadurch Aida64 bei 10 Versuchen in sehr kurzer Zeit auch 10 mal abschmiert, dann weiß ich: geht nicht!
Nutze ich für die selbe falsche Einstellung CoreCycler(mit Prime95 oder Y-Cruncher), Prime95/Y-Cruncher seperat oder OCCT . . . dann laufen die alle stundenlang ohne einen Fehler zu bringen :hmm:

CoreCycler mit Aida64 Engineer als Testcombo muss ich noch angehen :coffee2:
 
Gibt es neue Erkenntnisse mit der Option "setVoltageOnlyForTestedCore = 1"
Hat sich an deinen CO Werten nochmal etwas getan?
Nein. Die Einstellung hat gar nichts gebracht. setVoltageOnlyForTestedCore = 0 funktioniert ganz gut, kommt meiner manuellen CO suche noch am nächsten.

Ich habe es dann klassisch (CPUZ Stress, manuelle Corezuweisung), SVI3 je CCD je Core selbst eingestellt und meine YC Allcore-Script drüber laufen lassen. Danach mit dem CC noch mal verifiziert und keinen Fehler gefunden.

Vergleich:

Grobeinstellung ALLCORE, nur YC N63 und vt3:
1769978964559.png


CoreCycler nach der Gobeinstellung :
1769979035627.png


Manuelle Feineinstellung ohne CC

1769979084019.png


Sorry für die Handybilder.

Ob der ganze Spass gut eingestellt ist, kann man mit Ropbench wunderbar gegentesten. Die beiden CCD sollten sich annähernd im gleichen Frequenzbereich liegen.

1769979262049.png


Das Ganze von Hand einstellen dauert vielleicht 40 Minuten. Den Rest macht mein Script (YC FFTv4, N63, VT3) EDIT inkl automatisierter CO-Änderung.

@sp00n Wenn der CC jetzt noch Optionen bekommen könnte, die z.B. je CCD Allcore testen zu können (+ CO Automatik), Random Zeitdauer der einzelnen Tests (5 Sekunden bis 30 Sekunden, zum Schluss 2 Minuten), wäre schon toll.
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh