In November of 2019 I first got my hands on an AMD EPYC Naples engineering sample. I thought it was really cool you could overclock 32-cores for a lot cheaper than a 2990WX and achieve mostly the same performance. Once I saw that there were next-generation EPYC Rome engineering samples floating around I was immediately interested. It was disappointing to find out it for one didn’t boot and couldn’t be overclocked. It has been 6 months and since then I’ve been involved in a lot of awesome stuff and I’ve definitely learned a lot. Today is the day to finally unveil what 4 months of research and bricking expensive CPU’s has yielded.
Overclocking your AMD EPYC Rome engineering sample. (And a bonus on how to run them on any motherboard)
Enough chitchat, how do I overclock this thing?
So first off, please note that this only works on CPU’s which have the “Engineering Sample” tag in their name, E.g. ZS1406E2VJUG5 (64-core), ZS1711E3VIVG5 (32-core), 2S1404E2VJUG5 (64-core), 2S1705E3VIVG5 (32-core) but also the OEM EPYCs (the ones with a normal production number with -04 at the end of the number). It will not work on normal retail EPYCs.
Another thing to note is that the 32-core variants will be better overclockers in terms of frequency and relative performance. For absolute performance the 64-core models will obviously be the best.
I’ve created a simple program to make the process a lot easier. Once you start the software it’ll look like this:
There are a couple things you can change here like frequency, voltage, limits etc. I have also included some handy presets to get you started without having to tinker too much. Please keep in mind that the presets are not guaranteed to work for everyone as it might depend on the platform or bios settings. If you encounter any problems using these presets please report it in this thread.
So now I can just get started, right?
No, not really. There are a couple different things that you should be aware of if you’ve never overclocked a server CPU before. Even if you have, overclocking on Rome is a whole different thing compared to Naples.
First off: No, setting the frequency does not guarantee it’ll run at that frequency. This depends on the core-count and the CPU. For example: I’m able to set the frequency to 3600MHz but the performance is more like 2000MHz. How is this possible you might ask? Well, I’m not totally sure myself, but here’s a pretty good explanation: The CPU/board still has its limiters active which control the power and current draw. The platform essentially blocks it from going any higher and therefor the performance will be down. I would recommend using either task manager or HwInfo64 to check the actual frequency in this case.
Setting the voltage also affects the speed of the CPU, that is as long as you’re not using another trick that I’ll get into later. The voltage is also not reported correctly by most tools, e.g. CPU-Z. I recommend checking the IPMI for the most accurate reading or HwInfo64’s CPU enhanced section.
Changing the limits is completely safe as long as you’re setting a number > 100. There is also an awesome “bug” (PBO Turbo Boost) in the AGESA these ES CPUs are running on. It has originally been discovered on another forum, I’ll let you search for that yourself if you want to know more about it. It basically involves setting the EDC to some really low value like 30 and the PPT/EDC to 0. It causes the CPU to go into some sort of weird mode where the frequency you set in the software is actually 800MHz higher than the actual speed. But the main difference here is that the actual speed is honored by the CPU. BUT there is a catch: setting the voltage over 1.05v or setting the frequency > 3800MHz in the software could actually KILL the CPU instantly (this only applies to models > 32-cores, it’s different on lower core models). I’ve done it twice . You’ll know when it goes bad when you get a black screen and can’t power off the system with the On/Off button. So please be careful when using this “bug”, but it should be fine as long as you don’t go over the limits mentioned above. This “bug” enables the best multi-core performance but hurts the single-core performance. I’ve also found that this only actually improves performance on the 64-core model and not the 32-core model as those chips already have great performance with ‘normal’ settings and aren’t throttled down so easily by the board.
Furthermore there’s the ‘lock frequency’ checkbox. This can help lift multi-core performance when not using the EDC “bug” on all the CPUs. It’s recommended in most scenarios and can’t hurt performance. Keep in mind that in some cases when the frequency is really high it can up performance too much and actually crash the system.
Then there are the built-in presets. Each CPU has three presets: “High multi-core”, “Best of both” and “High single-core”. If you want to apply a preset to a dual-socket setup you'll have to check the "dual socket" checkbox as well. Generally if you just want to get good performance and not worry about things, the “Best of both” preset will give you exactly what you’re after. It won’t tinker with the EDC ”bug” and will generally be safe to use. The “High single-core” preset is mostly the “Best of both” with a higher frequency. This also sets the voltage to a higher value so this is recommended in cases where no heavy multi-core applications are used. The “High multi-core” preset uses the EDC “bug” to get the most multi-core performance as possible. The 64-core ‘ZS14’ CPU actually performs like a stock 3990x and beats an $8000 7H12 in this configuration.
The presets might not be suited for every task out there so feel free to tinker around and share your configuration in this thread.
But the CPU doesn't post on my -insert brand- motherboard!!!
That's what these things do. Engineering sample CPUs just aren't supported by every board out of the box. There is a simple trick to make it work on any board, even on Rev. 1 boards. The only thing you need to do is copy the second half of the bios (the Rome part) and duplicate it on Rev. 2 boards or just upload that on Rev. 1 boards. Make sure the bios has an Agesa < 1.0.0.3 because otherwise it will not work. The engineering samples do work out of the box on the Asus KRPA-U16. I’ve included some pre-‘modded’ bioses below.
Some disclaimers
Please keep in mind that I haven’t tested anything for 24/7 use, although I don’t think there should be a problem as long as the voltage isn’t too high. Please check the voltage via the IPMI to confirm it’s not too high and if it is, dial back the settings. Please be careful when overclocking your CPU, the last thing you want is to destroy it like I did. I am not responsible for any damage done to the CPU so use this software at your own risk.
Screenshots
Here are some screenshots of the true power of these engineering samples
If you have any questions, suggestions or want to share anything, feel free to post it in this thread or DM me. For now, enjoy the massive performance of these things and keep an eye on your VRM temps
TLDR; Read the whole post you lazy because your Rome CPU might DIE!
Download link for the software
- ExecutableFix
Massive thanks to @nero243 and @I.nfraR.ed for their contributions to this project as well!
Overclocking your AMD EPYC Rome engineering sample. (And a bonus on how to run them on any motherboard)
Enough chitchat, how do I overclock this thing?
So first off, please note that this only works on CPU’s which have the “Engineering Sample” tag in their name, E.g. ZS1406E2VJUG5 (64-core), ZS1711E3VIVG5 (32-core), 2S1404E2VJUG5 (64-core), 2S1705E3VIVG5 (32-core) but also the OEM EPYCs (the ones with a normal production number with -04 at the end of the number). It will not work on normal retail EPYCs.
Another thing to note is that the 32-core variants will be better overclockers in terms of frequency and relative performance. For absolute performance the 64-core models will obviously be the best.
I’ve created a simple program to make the process a lot easier. Once you start the software it’ll look like this:
There are a couple things you can change here like frequency, voltage, limits etc. I have also included some handy presets to get you started without having to tinker too much. Please keep in mind that the presets are not guaranteed to work for everyone as it might depend on the platform or bios settings. If you encounter any problems using these presets please report it in this thread.
So now I can just get started, right?
No, not really. There are a couple different things that you should be aware of if you’ve never overclocked a server CPU before. Even if you have, overclocking on Rome is a whole different thing compared to Naples.
First off: No, setting the frequency does not guarantee it’ll run at that frequency. This depends on the core-count and the CPU. For example: I’m able to set the frequency to 3600MHz but the performance is more like 2000MHz. How is this possible you might ask? Well, I’m not totally sure myself, but here’s a pretty good explanation: The CPU/board still has its limiters active which control the power and current draw. The platform essentially blocks it from going any higher and therefor the performance will be down. I would recommend using either task manager or HwInfo64 to check the actual frequency in this case.
Setting the voltage also affects the speed of the CPU, that is as long as you’re not using another trick that I’ll get into later. The voltage is also not reported correctly by most tools, e.g. CPU-Z. I recommend checking the IPMI for the most accurate reading or HwInfo64’s CPU enhanced section.
Changing the limits is completely safe as long as you’re setting a number > 100. There is also an awesome “bug” (PBO Turbo Boost) in the AGESA these ES CPUs are running on. It has originally been discovered on another forum, I’ll let you search for that yourself if you want to know more about it. It basically involves setting the EDC to some really low value like 30 and the PPT/EDC to 0. It causes the CPU to go into some sort of weird mode where the frequency you set in the software is actually 800MHz higher than the actual speed. But the main difference here is that the actual speed is honored by the CPU. BUT there is a catch: setting the voltage over 1.05v or setting the frequency > 3800MHz in the software could actually KILL the CPU instantly (this only applies to models > 32-cores, it’s different on lower core models). I’ve done it twice . You’ll know when it goes bad when you get a black screen and can’t power off the system with the On/Off button. So please be careful when using this “bug”, but it should be fine as long as you don’t go over the limits mentioned above. This “bug” enables the best multi-core performance but hurts the single-core performance. I’ve also found that this only actually improves performance on the 64-core model and not the 32-core model as those chips already have great performance with ‘normal’ settings and aren’t throttled down so easily by the board.
Furthermore there’s the ‘lock frequency’ checkbox. This can help lift multi-core performance when not using the EDC “bug” on all the CPUs. It’s recommended in most scenarios and can’t hurt performance. Keep in mind that in some cases when the frequency is really high it can up performance too much and actually crash the system.
Then there are the built-in presets. Each CPU has three presets: “High multi-core”, “Best of both” and “High single-core”. If you want to apply a preset to a dual-socket setup you'll have to check the "dual socket" checkbox as well. Generally if you just want to get good performance and not worry about things, the “Best of both” preset will give you exactly what you’re after. It won’t tinker with the EDC ”bug” and will generally be safe to use. The “High single-core” preset is mostly the “Best of both” with a higher frequency. This also sets the voltage to a higher value so this is recommended in cases where no heavy multi-core applications are used. The “High multi-core” preset uses the EDC “bug” to get the most multi-core performance as possible. The 64-core ‘ZS14’ CPU actually performs like a stock 3990x and beats an $8000 7H12 in this configuration.
The presets might not be suited for every task out there so feel free to tinker around and share your configuration in this thread.
But the CPU doesn't post on my -insert brand- motherboard!!!
That's what these things do. Engineering sample CPUs just aren't supported by every board out of the box. There is a simple trick to make it work on any board, even on Rev. 1 boards. The only thing you need to do is copy the second half of the bios (the Rome part) and duplicate it on Rev. 2 boards or just upload that on Rev. 1 boards. Make sure the bios has an Agesa < 1.0.0.3 because otherwise it will not work. The engineering samples do work out of the box on the Asus KRPA-U16. I’ve included some pre-‘modded’ bioses below.
Some disclaimers
Please keep in mind that I haven’t tested anything for 24/7 use, although I don’t think there should be a problem as long as the voltage isn’t too high. Please check the voltage via the IPMI to confirm it’s not too high and if it is, dial back the settings. Please be careful when overclocking your CPU, the last thing you want is to destroy it like I did. I am not responsible for any damage done to the CPU so use this software at your own risk.
Screenshots
Here are some screenshots of the true power of these engineering samples
If you have any questions, suggestions or want to share anything, feel free to post it in this thread or DM me. For now, enjoy the massive performance of these things and keep an eye on your VRM temps
TLDR; Read the whole post you lazy because your Rome CPU might DIE!
Download link for the software
- ExecutableFix
Massive thanks to @nero243 and @I.nfraR.ed for their contributions to this project as well!
Last edited: