I've been getting alot of PM's asking how to OC an AMD Epyc.
All you need to do is write the OC to the CPU MSR. As a reliable tool (for windows) for this i modded AsusZenStates to run on non Asus boards, you can download it here:
ZenStatesAll(2)
The sourcecode for AsusZenStates was made public and I.nfraR.ed picked up development:
ZenStates
If you don't trust my version you can simply do it yourself by editing the check vendor function in the original .exe via ilspy and reflexil, it's really not that hard. For Linux you can find the python script ZenStates-Linux on GitHub.
I managed to pull of 3.4 GHz @ 1.3V on my cheapo ES and 3.8 GHz @ 1.375V with only 16 cores enabled. The VRM OCP will probably shutoff your PC if you're going higher with the voltage.
The 2014 were with my ES CPU @ stock 1.6 GHz
Enjoy and keep an eye on your VRM temps.
Info about the 1S Engineering Samples:
I have mine for a few month now and did some testing.
Mine won't work with AGESA updates newer than 1.0.0.3, the system will post and sometimes boot but it'll constantly run into bluescreens and freezes.
Also microcodes newer than version 29 won't work, the system will post but run in a bluescreen when booting windows (haven't tested linux yet). But mainboard vendors probably won't update them, because they are for the threadripper CPUs (Epyc ES and TR1 CPUID: 800F11, Epyc Retail 800F12). Maybe the microcode file for Windows needs to be deleted in the future.
I'm running the epyc in quadchannel and the performance in cinebench is really inconsistent with the 1 DIMM per Die setup, playing around with the tool CorePrio and local dynamic mode helps in some cases but is not a solution for everyday use. Populating the Channels closest to the CPU stabilized the performance alot for me, but the memory performance tested with aida64 suffers severly from this.
Here's a RAM test i did with aida64, with the optimal quadchannel 1 DIMM per Die setup. Latency is really not looking good on these CPUs.
Imgur
AMD CBS Unlock for RAM OC:
(P-states Unlocked, but not working on 1.0c + ES CPU, 1.3 + retail not tested)
So if anyone wants to DIY this mod heres what you need for SuperMicro boards:
UEFITool
https://puissanceled.com/vrac/Bios_modding/softs/UEFITool.exe
IFR Extractor
https://puissanceled.com/vrac/Bios_modding/softs/Universal_IFR_Extractor.exe
HexEdit:
I'm using FlexHex for comparison etc and SiSoft Hex-Editor for quick changes
AMIBCP 5.02.0031
Search it, i won't link because AMI often gets mad.
NotePad++
standard editor works too, but the formatting is shit
This is only for Supermicro Boards (16mb ROMS only!), for different Boards with fully locked CBS you have to find another Option like Eventlog you can give up. Boards with partially unlocked CBS should only need the BCP edit and maybe a IFR edit of the CBS menu.
1.
Open your rom in UEFITool, use text search and find the following things AMITSE CbsSetupDXE EventLogSetupPage
2.
Extract the PE32 image Section from each one as-is.
3.
Run CbsSetupDXE and EventLogSetupPage through the IFRexctractor and open the .txt's in NotePad++
4.
Note down the first marked string from Form Set and add the part from Form, do this for both IFR Files (cbs and event).
CBS is almost always:
5.
Open AMITSE in HexEdit search the String from EventLogPage, and replace it with the CBS string. Save.
6.
Go back to UEFITool and Replace AS-IS the AMITSE module with the modded one. Save the ROM.
7.
Open the ROM in AMIBCP and spend the next 30 minutes setting every single CBS Entry from default to User. Save again.
Might be unnecessary, setting Combo CBS to 4 in BCP might also unlock everything. Still need to test this.
8.
Flash.
If submenus are still missing you have to do an IFR Edit.
Explained here if it's a simple lock (switching 46 02 to 47 02):
Modding the Asus Prime X370 Pro BIOS
If you don't have the 46 02 lock:
Downloads
H11DSi(-NT same bios):
V1.3, tested working:
Amitsemodbcp1.3
V1.0C tested fixedhas some cosmetic issues:
1.0c cleaned did
Both of them have also a patch in the CBS P-states to select a DID lower than 8, but this didn't make the P-states work.
H11SSLi:
V1.0B untested:
H11SSL1.0bMod
V1.3 untested:
H11SSLi1.3Mod
V2.0 Naples untested posting no cbs:
MediaFire
V2.0 Rome tested:
H11SSLv2.0SSPMod
All you need to do is write the OC to the CPU MSR. As a reliable tool (for windows) for this i modded AsusZenStates to run on non Asus boards, you can download it here:
ZenStatesAll(2)
The sourcecode for AsusZenStates was made public and I.nfraR.ed picked up development:
ZenStates
If you don't trust my version you can simply do it yourself by editing the check vendor function in the original .exe via ilspy and reflexil, it's really not that hard. For Linux you can find the python script ZenStates-Linux on GitHub.
So about multiple CPUs configuration you just need to start AsusZenstates as usual,click on apply in order to apply your custom pstates settings to CPU0.
-Once is done go in task manager,find AsusZsSrv.exe (not AsusZenStates.exe) then click on define affinity.
-After you'll change Group 0 to group 1,check "use all core" and click Ok.
-Now you're able to modify the CPU1 pstates by clicking on apply in AsusZenstates app.
In order to revert to CPU0 just change group 0 and don't forget to check "use all core" in define affinity .
Each time you reboot the computer you'll need to apply this process.
If you get an "access denied" error when you want to change the cpu affinity just kill the process and restart it .
-Once is done go in task manager,find AsusZsSrv.exe (not AsusZenStates.exe) then click on define affinity.
-After you'll change Group 0 to group 1,check "use all core" and click Ok.
-Now you're able to modify the CPU1 pstates by clicking on apply in AsusZenstates app.
In order to revert to CPU0 just change group 0 and don't forget to check "use all core" in define affinity .
Each time you reboot the computer you'll need to apply this process.
If you get an "access denied" error when you want to change the cpu affinity just kill the process and restart it .
I managed to pull of 3.4 GHz @ 1.3V on my cheapo ES and 3.8 GHz @ 1.375V with only 16 cores enabled. The VRM OCP will probably shutoff your PC if you're going higher with the voltage.
The 2014 were with my ES CPU @ stock 1.6 GHz
Enjoy and keep an eye on your VRM temps.
Info about the 1S Engineering Samples:
I have mine for a few month now and did some testing.
Mine won't work with AGESA updates newer than 1.0.0.3, the system will post and sometimes boot but it'll constantly run into bluescreens and freezes.
Also microcodes newer than version 29 won't work, the system will post but run in a bluescreen when booting windows (haven't tested linux yet). But mainboard vendors probably won't update them, because they are for the threadripper CPUs (Epyc ES and TR1 CPUID: 800F11, Epyc Retail 800F12). Maybe the microcode file for Windows needs to be deleted in the future.
I'm running the epyc in quadchannel and the performance in cinebench is really inconsistent with the 1 DIMM per Die setup, playing around with the tool CorePrio and local dynamic mode helps in some cases but is not a solution for everyday use. Populating the Channels closest to the CPU stabilized the performance alot for me, but the memory performance tested with aida64 suffers severly from this.
Here's a RAM test i did with aida64, with the optimal quadchannel 1 DIMM per Die setup. Latency is really not looking good on these CPUs.
Imgur
AMD CBS Unlock for RAM OC:
(P-states Unlocked, but not working on 1.0c + ES CPU, 1.3 + retail not tested)
So if anyone wants to DIY this mod heres what you need for SuperMicro boards:
UEFITool
https://puissanceled.com/vrac/Bios_modding/softs/UEFITool.exe
IFR Extractor
https://puissanceled.com/vrac/Bios_modding/softs/Universal_IFR_Extractor.exe
HexEdit:
I'm using FlexHex for comparison etc and SiSoft Hex-Editor for quick changes
AMIBCP 5.02.0031
Search it, i won't link because AMI often gets mad.
NotePad++
standard editor works too, but the formatting is shit
This is only for Supermicro Boards (16mb ROMS only!), for different Boards with fully locked CBS you have to find another Option like Eventlog you can give up. Boards with partially unlocked CBS should only need the BCP edit and maybe a IFR edit of the CBS menu.
1.
Open your rom in UEFITool, use text search and find the following things AMITSE CbsSetupDXE EventLogSetupPage
2.
Extract the PE32 image Section from each one as-is.
3.
Run CbsSetupDXE and EventLogSetupPage through the IFRexctractor and open the .txt's in NotePad++
4.
Note down the first marked string from Form Set and add the part from Form, do this for both IFR Files (cbs and event).
CBS is almost always:
Code:
E3 35 45 B0 04 30 46 49 9E B7 14 94 28 98 30 53 (00 70)
5.
Open AMITSE in HexEdit search the String from EventLogPage, and replace it with the CBS string. Save.
6.
Go back to UEFITool and Replace AS-IS the AMITSE module with the modded one. Save the ROM.
7.
Open the ROM in AMIBCP and spend the next 30 minutes setting every single CBS Entry from default to User. Save again.
8.
Flash.
If submenus are still missing you have to do an IFR Edit.
Explained here if it's a simple lock (switching 46 02 to 47 02):
Modding the Asus Prime X370 Pro BIOS
If you don't have the 46 02 lock:
Downloads
H11DSi(-NT same bios):
V1.3, tested working:
Amitsemodbcp1.3
V1.0C tested fixed
1.0c cleaned did
Both of them have also a patch in the CBS P-states to select a DID lower than 8, but this didn't make the P-states work.
H11SSLi:
V1.0B untested:
H11SSL1.0bMod
V1.3 untested:
H11SSLi1.3Mod
V2.0 Naples untested posting no cbs:
MediaFire
V2.0 Rome tested:
H11SSLv2.0SSPMod
Last edited: