Releases: sp00n/CoreCycler
v0.9.6.1
- Added a new
useConfigFilesetting, which allows you to quickly change between various config files- Some predefined config files are available in the
/configs/directory - This also inlcudes the
default.config.inifile, which has been moved there from the main directory
- Some predefined config files are available in the
- Updated y-cruncher to v0.8.5.9543, which includes the new Zen 5 (Ryzen 9000) optimizations
- It also introduces two new tests (SFTv4 and FFTv4)
- Included Linpack as a new stress test program. Use
LINPACKin thestressTestProgramsetting to activate it- Settings for it can be found in the
[Linpack]section - Linpack includes four different versions (
2018,2019,2021,2024) and five different test modes (SLOWEST,SLOW,MEDIUM,FAST,FASTEST) SLOWtoMEDIUMmodes are some variation of SSE and FMA instructions (unclear which exactly), whileFASTuses AVX, andFASTESTAVX2 instructions- Only for version
2018and2019you can set the mode, anything newer (2021and2024) automatically defaults toFASTESTwithout any way to change it - Version
2018is the Linpack binary that is also used in Linpack Xtreme 1.1.5
- Settings for it can be found in the
- There's now an update check, which will inform you if there's a new version available
- It can be configured with the
enableUpdateCheckandupdateCheckFrequencysettings in the[Update]section
- It can be configured with the
- Some additional debug output and new fancy boxes
- General bug fixes
- 0.9.6.0 included a debug exit for Linpack, which I forgot to remove
v0.9.5.3
Bugfix release:
Not all tests were correctly applied when you selected YCRUNCHER_OLD as the stress test. Fixed this.
Also added a dedicated error message when trying to use 00-x86 as the test mode for the new (default) y-Cruncher, informing the user that 04-P4P is now the new minimum test mode, and that the tests also need to be adjusted accordingly.
No other changes.
v0.9.5.2
v0.9.5.1
- Fixed a bug when only a single core was selected to being tested
- Fixed a bug when one of the checked .NET installations registry keys couldn't be found
- Added functionality to also add a Custom View to the Windows Event Log to more easily find the CoreCycler Event Log entries
Version 0.9.5.0
This version is a somewhat bigger overhaul:
- Updated Prime95 to version 30.19b20
- Updated y-Cruncher to version 0.8.4 Build 9538
- Updated PBO2 Tuner to the latest version
- It's now possible to catch the output from y-Cruncher, thus enabling the "auto"
runtimePerCoresetting for y-Cruncher as well. It will test all selected cores for one core and then proceed to the next one
(this is made possible by a custom wrapper .exe and .dll in the /helpers directory) - Greatly increased the support for Intel CPUs, it now tries to detect a core architecture where some cores only support one thread (i.e. Intel's big.LITTLE) and automatically adjusts the threads it runs on these cores if two threads and
restartTestProgramForEachCoreis selected.
Note that running with two threads and without the setting enabled may result in very long test times on the E-Cores and any test afterwards, so it's strongly recommended to either enablerestartTestProgramForEachCore, test only with one thread, or test the P- and E-Cores separately. - Added support for processors with more than 64 (virtual) cores for you HEDT freaks!
- Added a
testDurationsetting for y-Cruncher that allows to set the test duration in seconds for each individual test (default: 60) - The script now also checks for WHEA errors (Windows Hardware Error Architecture) during its runtime and notices the user if such an event has happened.
It's not treated as a "real" error, as it doesn't necessarily coincide with the core that is currently being tested.
You can disable this check with thelookForWheaErrorssetting. - The script now also uses the Windows Event Log to store log information. This is helpful if a hard reboot occurs during testing, which can corrupt the log file. The Event Log entry should still show which core had begun testing before the hard reboot happened.
To be able to use this functionality, the script asks the user if a new "Event Source" should be added, which requires administrator privileges. This only needs to happen once, so after this "Source" has been added, no administrator privileges will be needed anymore. The script itself also doesn't need admin rights, instead it will open a new window to perform this action, and asks for elevation for this new window.
The Event Log entries can be found in the "Windows Logs"/"Applications" section of the Event Viewer, and have the source "CoreCycler".
This functionality can be controlled by theuseWindowsEventLogsetting in the[Logging]section. - It's also possible to try to periodically force a "Disk Write Cache Flush", which can also help prevent log file corruption. It's not enabled by default though, to prevent possible negative performance impacts (setting
flushDiskWriteCachein the[Logging]section) - The check for the CPU utilization doesn't require Windows Performance Counters anymore, which malfunctioned far more often than I had ever imagined, and so should result in less false alarms. Instead it now uses the more readily available processor time.
If you really want to, you can re-enable the use of the Windows Performance Counters by settinguseWindowsPerformanceCountersForCpuUtilizationin the[Debug]section, but I really advise against it. - Added a beep on error! (Controlled with the
beepOnErrorsetting) - Added a taskbar flash on error! (Controlled with the
flashOnErrorsetting) - The CPU affinity is now set to the threads of the stress test program, and not to the program/main process itself anymore.
This is required to be able to set the affinity for more than 64 CPUs, and also to fix a bug that appeared on Intel systems, where if set to use two threads, the two virtual CPUs weren't fully loaded if only the main program's affinity was set.
You won't be able to easily see the current affinity using the Task Manager anymore, but a tool like System Informer can also show the current affinity for threads - The new y-Cruncher version has updated tests and also doesn't support the
00-x86algorithm anymore, so the new default low-load binary algorithm is04-P4Pinstead - However, the old y-Cruncher version (which is 0.7.10) is still included, and you can use it by setting
stressTestProgramtoYCRUNCHER_OLD
Be aware that you will also need to adjust thetestssetting in the config if you're switching between the versions! - The config.default.ini is now automatically generated (and overwritten) on each script start. It doesn't have any functional use anymore and is purely there to give the user a starting point / reference for creating a custom config.ini
- The PowerShell code itself now uses the
Set-StrictMode -Version 3.0setting. This may introduce new and fun script error messages, but hopefully I have already caught most of them! - This caused a general code cleanup and some refactoring due to the errors I caught this way. And also eliminated a couple of bugs
- Added a LICENSE file! It just includes the text of the "CC BY-NC-SA" Creative Commons license, which the script always had anyway
v0.9.5.0alpha3
disableCpuUtilizationCheckis now set to 1 by default, so there shouldn't be any more false "not enough CPU usage" errors
(it will still enable itself if a stress test program is run that doesn't provide a log file)- The script now tries to detect if there's a CPU layout where some cores have Hyperthreading and others not (i.e. Intel's Performance and Efficient cores)
v0.9.5.0alpha2
Second alpha:
- y-Cruncher now also supports the "auto"
runtimePerCoresetting, where the core is automatically switched after all selected tests have been run for a core - Added a
testDurationsetting for y-Cruncher that allows to set the test duration in seconds for each individual test (Default: 60)
0.9.5.0alpha1
Alpha version.
Added a wrapper .exe and .dll that can grab the output from y-Cruncher.
The y-Cruncher output is now saved as a log file and checked for errors.
v0.9.4.2
Added a new assignBothVirtualCoresForSingleThread setting that allows you assign both virtual (logical) cores to a single stress thread.
This way the Windows Scheduler should bounce back and forth the load between the both virtual cores, which may open a new possibility to test for load change instabilities.