Jump to content
HWBOT Community Forums

how to git gud at Zen 3 SuperPi benching, an informal guide


Recommended Posts

To start:

I believe you will need OS boot mode to be in CSM for the OS itself to work, but for the installation process, I don't remember if it needs CSM or UEFI. When you download anything to bring to your bench OS, such as tools or benchmarks, download from a daily OS to a USB, and then boot from your bench OS to take those things from the USB. Your internet will not be used on your bench OS.

To make the OS:

Download your ISO. You want Windows 10, 32 bit, version 1809. I've already tested a bunch of versions, anything newer or older is slower, and 64 bit is also slower. You'll want to use an ISO downloader tool like this:

https://www.heidoc.net/joomla/technology-science/microsoft/67

From there, make your installation USB. I prefer to use Rufus, found here:

https://rufus.ie/

Then, grab the drive you intend to use. 128gb is more than enough. 64gb is honestly still more than enough. 32gb is prob all you need, should be able to be found in SATA SSD form for very cheap. I may try to get it installed onto a 16gb Optane drive sometime.

Follow normal install procedures.

Once you have that Windows install booting, it will be time to strip the OS. I start this by going to Windows Security and disabling every single thing I possibly can in there. I then go to the normal Windows Settings and turn off everything I can there, as well as removing all the unnecessary programs I find. From within Settings, go to System, About, System Info, Advanced System Settings, Performance. In there, I set Visual Effects to "adjust to best performance" and set my virtual memory to 0mb (pagefile disabled). I suggest you restart to let everything apply, then. After that, press win + r and type in "services.msc". Disable basically everything you can except for the services that screw with how you login (Local Session Manager, User Manager, User Profile Service) and things that screw with your apps (Windows Management Instrumentation, Capability Access Manager, Application Information, and maybe RPC/RPC Endpoint Mapper). Restart again. Press win + r and type in "msconfig.exe". From there, go to services, and disable anything else you can there. Restart again.

It may be worthwhile to go to Task Scheduler and delete literally every task you can, though I don't really have much data for the benefit/side effects of that.

The base of your OS is done now. It wouldn't be a horrible idea to save a Ghost/Acronis/Macrium Reflect backup to a safe place now.

Install your tools:

To start, you're going to want Benchmate. You don't just want any version, either. You want 0.10.5. I haven't tried older versions, but anything newer is slower. I couldn't find where I downloaded this, so I'll just put a Google Drive link here:

https://drive.google.com/file/d/1ut7j7g5s_XumI6nvachSXC9vDFc4019p/view?usp=sharing

If you're trying to keep OS size down, I'd recommend only installing the tools/benches you need from Benchmate. I don't know if this OS is relevant for anything other than SuperPi, so that's the only benchmark I'd install. Also, you're going to want to install CPU-Z later anyways, as the version included in this Benchmate is not the newest and also isn't motherboard-manufacturer-themed.

Then, you'll need ZenTimings:

https://zentimings.protonrom.com/

I know 1.2.3 works. Not entirely sure if newer works.

This would also be a great time to download any other tools you may need, like stuff to change bclk/core ratio/voltages in OS, though you may need to install drivers of some sort for them to work.

You definitely want to make a backup of your OS now; it will save you a lot of future headaches.

BIOS and related tweaks:

First of all, you're going to want the right bios version. I have found newer AGESA versions to be worse for efficiency (worse times on average with same settings, enough for it to actually matter) but only sometimes better for fabric clocks. I personally recommend finding the oldest bios version that doesn't make it impossible to use benchable memory settings. I use A05O1 for the B550 Unify-X, which is the first of two AGESA 1.1.0.0 revision D based bioses for that board. A0502, the second and newer of the two, was slower, despite being the same AGESA version. I personally found an even bigger drop in efficiency when using AGESA 1.2.0.0 or later, although at least one Unify-X user has reported no loss from going newer. Also, Cezanne (the Zen 3 APUs) could be relevant for SuperPi, but I haven't tested them myself or what bios would be best for them.

Second of all, you want B-Die. You're going to be running synced. You are going to be running 1t with GDM off if you actually want a decent score. This is more important than running dual rank, but if you can do 2x16gb or 4x8gb with 1t/GDM off, even better. Some subtimings you'll want to set are tRCDWR 8, tRAS 21, tWR 10, tRTP 5, tRDRDSC and tWRWR SC 1, tRDRDSCL and tWRWRSCL 2, tWRRD and tCKE 1. Also, you want PowerDown and any other power saving features off. In rare cases, any of these settings can cause issues, but for every single kit I tested it should work fine. You'll want tRC as low as it can go, which depends on motherboard and primary settings. Generally you can run tRP below tRCDRD and tRCDRD equal or below tCL. tRRD L/S and tWTR L/S has performance scaling as low as you can set them, but different board/imc/mem combinations may have different limits. I personally prefer running tRDWR at 10 and seeing how far I can get tCWL below tCL. tRFC can have performance or stability testing if you set too low, so that would need to be manually tested. There is some debate to if flooring tFAW (as opposed to 16) and flooring your SD/DD timings matter, you'll have to test yourself.

Third of all, voltages and other settings. Obviously B-Die benching settings need high volts (>1.8vdimm) and occasionally need vtt below auto. Also, you're going to want to run a static overclock for this competition, ideally hold at or under 5006mhz on one thread for the entire duration of the run. In my case, 5ghz needs about 1.425vcore and is pretty difficult to boot on a normal tower air cooler. I also boot with only 4 cores active and SMT disabled. In terms of other voltages, vsoc is directly related to how high you can run fclk, though too low can be unstable and too high can cause regression. Depending on temps, the max I can run is 1.19 to 1.225, though I have seen multiple users report scaling above 1.25. The 1p8 or pll voltage is supposed to be related to fclk as well, and can be increased to something in the 2.0 to 2.3 range. I have heard reports of going from 2000fclk max to >2066 after tuning this. The derived voltages, vddg and vddp, are also important for stability. I honestly don't know what "optimum" would be for these, as I have found just setting them to 1.15 works for me. Your mileage may vary, I recommend asking daily OCers for advice here. ProcODT, Rtts, and Drive Strengths can all be important for memory stability, especially for dual rank, but I also don't know much about the specifics of what to set those. Ask the daily users for that too.

You will have to do a fair amount of trial and error, especially when trying to make high fclk work when you're on the edge of stability. A commonly spread rumor is that fclk instability doesn't affect single-core performance. That is not true. Also, having Whea errors doesn't mean your performance is going to regress. The inverse also applies.

It would be a good idea to poke around AMD CBS and PBS and play with obscure settings in there, though I don't know terribly much about what those do.

Benching Theory and Practice:

For SuperPi specifically, you generally want to have HT/SMT disabled and (unless your best core is the 1st or 2nd core) have at least 3 cores enabled. From Benchmate, set priority realtime, RAMDisk on, LPM on, and set affinity to the last enabled core. You want to run 16k before you run 32m. Ideally run 16k until you get a "good" time and then run 32m. Because of a bug with Benchmate 0.10.5, you'll have to close and reopen SuperPi between each run of 16k. Before you run 32m, you'll want to go into Task Manager and close all unnecessary (such as search, Edge Update, explorer, etc) services as you can. I like to minimize the background Benchmate thing so it isn't on screen, and I prefer to bench in 800x600 and go back to native resolution to take the screenshot. With some practice, you should be able to tell a run with good potential from one that's bad in the first 6 loops or so, however there are no early warnings for if your run is going to randomly slowdown by the halfway point or later. Also, once you have some experience with Pi, you should be able to recognize the difference that small changes (tRAS 29 vs 32) make to your score or if your OS has degraded and needs a reinstall.

Overall Goals/Targets:

When your OS is setup correctly, your subtimings are dialed in, you should be able to go below 5m44s even with daily settings. Below 5m43s should be viable on daily settings as well, especially if you can do >1900fclk. Below 5m42s is a bit tougher, generally only viable with bench memory settings. This will be tough if both your CPU has a bad fclk wall and your memory struggles to run bench mem settings. I think the minimum to break this wall would be around 3733c12 single rank, given exceptionally tight subtimings and lots of effort.

https://hwbot.org/submission/4747440

This is my score as of posting the guide. It's pretty well optimized overall, though I think below 5.41.300 may be possible with these exact settings.

Have fun benching!

Edited by Sparky's__Adventure
  • Like 6
Link to comment
Share on other sites

  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...