How to Optimize AMD EPYC CPUs for Demanding Workloads

To get the best speed with AMD EPYC server, you must adjust AMD EPYC settings at every step. First, adjust BIOS options like NUMA node setup, SMT, and power modes. Use OS tools to control CPU speed and memory mixing. Make sure each change fits your workload. For example, V-Ray 6 can run up to 2.3 times faster on AMD EPYC CPUs. Simulation jobs like Ansys LS-DYNA can be 1.63 times faster. The AMD EPYC 9005 series can boost CPU up to 5.0 GHz and has 576 GB/s memory speed for top results. Look at the table below to see how tuning AMD EPYC helps different jobs go faster.
Benchmark/Application | Performance Metric/Result | Workload/Industry Focus |
---|---|---|
V-Ray 6 Rendering | Up to 2.3X faster than competitors | Media and Entertainment (Rendering) |
Ansys LS-DYNA® Finite Element Analysis | 1.63X faster time-to-market acceleration | Manufacturing, Product Design (Simulation) |
AMD EPYC 9005 Series Features | Up to 5.0 GHz CPU boost, 576 GB/s memory bandwidth, full width AVX-512 | Compute-intensive and memory-bound workloads |
You should adjust AMD EPYC settings for each processor, system, and job. Pay attention to CPU, memory, NUMA, and virtualization settings. Good tuning makes sure your jobs run as fast as possible.
Key Takeaways
Change BIOS settings to Maximum Performance mode. Turn on all CPU cores. Use NPS2 or NPS4 for jobs that need a lot of memory. This helps AMD EPYC run faster.
Set your operating system to use performance mode for CPU frequency. Fill all memory channels. This lets data move faster.
Use NUMA tuning and CPU-memory binding. This keeps data near the processor. It cuts down wait times and makes jobs run quicker.
Turn on security features like AMD Secure Memory Encryption. You do not have to worry about your system slowing down.
Check performance often with tools like AMD uProf and Omnitrace. Write down all changes you make. This helps you keep your system fast.
Identify Workload and Goals
Workload Types
You should know your workload before tuning your system. Each workload uses the AMD EPYC processor in its own way. Some workloads make the CPU work very hard. These cpu intensive workloads are things like 3D rendering, scientific computing, and AI training. Other jobs need a lot of memory. Big databases and analytics jobs need fast memory and low wait times. Some jobs use I/O the most, like storage servers or network appliances. These jobs need quick PCIe lanes and good NUMA support.
The AMD EPYC 9004 series and AMD EPYC 7003 series have many cores and threads. You can use these to make many workloads run better. The right tuning helps your system fit your workload. You should also check how your processor uses NUMA. Good NUMA tuning lets each CPU core get memory quickly. This is important for both the AMD EPYC 9004 series and AMD EPYC 7003 series.
Performance Metrics
You need to watch the right metrics to check performance. Each workload type needs a different metric. For cpu intensive workloads, check how well multithreading works. The AMD EPYC 9004 series can have 84 cores and 168 threads. This lets you run many jobs at the same time. For memory-bound workloads, look at memory channels and bandwidth. The AMD EPYC 9004 series has 12 DDR5-4800 channels. This gives you fast memory for moving data.
For I/O workloads, PCIe lanes and version are important. The AMD EPYC 9004 series has 128 PCIe 5.0 lanes. This helps with fast storage and network cards. You should also look at cache size. A big cache, like the 384 MB L3 cache in the AMD EPYC 9004 series, makes memory faster. Power efficiency is also important. You want your system to do more work for each watt.
Here is a table to help you match metrics to your workload:
Performance Metric | Description / Relevance to Workload Type | Example Values / Notes |
---|---|---|
Multithreading Performance | Key for compute-intensive workloads; measured by core/thread count and multithread benchmark rankings | 84 cores / 168 threads; 17th fastest in multithreading |
Memory Channels & Bandwidth | Critical for memory-intensive workloads; number and speed of memory channels impact throughput | 12 DDR5-4800 memory channels |
Cache Size | Important for reducing memory latency in compute and memory tasks | 384 MB L3 cache |
PCIe Lanes & Version | Essential for I/O-intensive workloads; affects connectivity and throughput for storage and networking | 128 PCIe 5.0 lanes |
Power Efficiency | Performance per watt indicates energy efficiency across workloads | Performance per watt normalized to 1.00 |
Workload-Specific Throughput | AI/ML inference and training samples per second demonstrate real-world compute and memory performance | ResNet-50: 1283.7 samp/sec; BERT-Base: 358.9 samp/sec |
Tip: Always match your tuning and performance checks to your workload. This helps you get the best results from your AMD EPYC processor and system.
Adjust AMD EPYC Settings
To make AMD EPYC work its best, you need to check BIOS/UEFI and operating system settings. Each change you make can help your system go faster and use less energy. Picking the right settings is important for your job, no matter if you use the AMD EPYC 9004 series or AMD EPYC 7003 series. Always match your settings to your processor, system, and what you want to do.
BIOS/UEFI Tuning
You start by going into the BIOS or UEFI menu. Here, you can change settings that control how AMD EPYC works. Both the AMD EPYC 9004 series and AMD EPYC 7003 series have many choices. The table below shows the best settings for top speed:
Setting Category | Recommended Setting for Maximum Performance |
---|---|
Operating Mode | Maximum Performance |
Determinism Slider | Power |
Core Performance Boost | Enabled |
cTDP (Configurable TDP) | Maximum supported by the CPU |
Package Power Limit | Maximum supported by the CPU |
Efficiency Mode | Disabled |
NUMA Nodes per Socket (NPS) | NPS2 or NPS4 for NUMA-optimized workloads |
SMT Mode | Enabled (disable only for some HPC workloads) |
Hardware Prefetchers | Optionally disable for maximum efficiency |
ACPI SRAT L3 Cache as NUMA | Enabled |
PCIe Gen Speed | Maximum supported speed |
Number of Enabled CPU Cores | All cores enabled |
CPPC | Enabled |
BoostFmax | Auto |
Set the operating mode to “Maximum Performance” to turn on all speed features. This turns off power-saving options that can slow your CPU. Set the determinism slider to “Power” so your AMD EPYC can run faster. Turn on core performance boost to let your CPU go even quicker when needed. Set cTDP and package power limits as high as your CPU allows. This lets the AMD EPYC 9004 series and AMD EPYC 7003 series use all their power.
NUMA settings are very important. Try NPS2 or NPS4 if your job needs fast memory. Turning on ACPI SRAT L3 Cache as NUMA helps your system use memory better. Keep all CPU cores turned on for the most speed. Turn on CPPC so the processor can handle power and speed by itself.
Simultaneous Multithreading (SMT) is another important setting. For most jobs, like databases or virtualization, turning on SMT gives you 30-60% more speed without using more power. This is good for both the AMD EPYC 9004 series and AMD EPYC 7003 series. For some high-performance computing jobs, you might want to turn off SMT for better results. Always test SMT with your own job to see what works best.
Tip: Write down your BIOS/UEFI settings. This helps you remember what you changed and use the same settings on other computers.
OS and Kernel Tuning
After you set up the BIOS, you need to tune your operating system. The right OS and kernel settings help you get the most from your AMD EPYC. Both Linux and Windows have tools for tuning.
On Linux, you can use the cpupower
tool to set how fast the CPU runs. For heavy jobs, set the governor to “performance” with this command:
cpupower frequency-set -g performance
This keeps your CPU running at top speed. It helps lower wait times and makes your system faster for hard jobs. Both the AMD EPYC 9004 series and AMD EPYC 7003 series work better with this setting.
If you use Windows, change the power plan to “High Performance.” This makes your processor react faster and lowers wait times for your job.
For virtual machines, like VMware ESXi, set the power policy to “High Performance.” This makes sure your AMD EPYC always runs at full speed.
Memory tuning is also key. Fill all memory channels in your system. Turn on memory interleaving in the BIOS to spread memory use across channels. This gives you more memory speed and less waiting. The AMD EPYC 9004 series has up to 12 memory channels, so use them all for best results.
NUMA tuning in the OS helps your job use memory better. Use NPS1 for most jobs, but try NPS2 or NPS4 for jobs that need fast memory. The right NUMA setup can make both the AMD EPYC 9004 series and AMD EPYC 7003 series work faster.
For jobs that need very low wait times, use the amd-pstate
driver in active mode. This driver lets you control CPU speed closely. The schedutil
governor is good for jobs that change a lot because it changes CPU speed quickly. You can use the cpupower
tool to check and change these settings. Make sure your hardware works with amd-pstate
for the best results.
Note: Always watch your system after you make changes. Check if your job runs better with the new settings.
Turn on IOMMU in the BIOS if you use virtual machines. This helps keep devices safe and makes virtual machines faster. If you do not use virtual machines, you can turn off IOMMU to lower wait times.
Global C-State Control and hardware prefetchers are usually set to “Auto.” These settings balance power and speed. You can try turning off hardware prefetchers for some high-performance computing jobs.
By following these steps, you can set up AMD EPYC for your processor, system, and job. The right settings help you get the best speed from the AMD EPYC 9004 series and AMD EPYC 7003 series. Always test your setup and write down what works best for your jobs.
Performance Tuning
CPU and Memory Binding
You can make your system faster by using CPU and memory binding. When you run a job on an AMD EPYC processor, you want the data to stay close to the CPU core that uses it. This is called NUMA tuning. Both the AMD EPYC 9004 series and AMD EPYC 7003 series use NUMA nodes. Each node has its own memory. If your job moves between nodes, the system gets slower. You should set things up so each job uses the right NUMA node. This helps the CPU and memory work well together. You can use tools like numactl
on Linux to keep a job on one NUMA node. This keeps memory use local and makes things faster. Always check if your setup matches your job. The right CPU and memory binding can really help with hard jobs.
Storage and Interrupts
Tuning storage is important for AMD EPYC systems. Both the AMD EPYC 9004 series and AMD EPYC 7003 series have fast storage support. You should use the newest PCIe lanes for your job. This lets the CPU get data quickly. Spread storage devices across NUMA nodes. This way, each processor can use its own storage and memory. Interrupt tuning helps too. You can set interrupts to match the NUMA node of the CPU. This lowers wait times and makes things faster. Use tools like irqbalance
to help manage interrupts. Always check your setup after you change things. Good tuning for storage and interrupts helps your AMD EPYC system do tough jobs.
Security and Power Modes
You can turn on security features like AMD Secure Memory Encryption (SME) and Secure Encrypted Virtualization-Encrypted State (SEV-ES) without slowing things down. Both the AMD EPYC 9004 series and AMD EPYC 7003 series have these features. SME locks memory with a key from the processor. SEV-ES protects virtual machines by locking their state. These features work in the hardware. They keep your data safe and do not slow down the CPU or system. The table below shows how turning on SME and SEV-ES changes performance on a real job:
Configuration | Orders Per Minute (OPM) | Average CPU Utilization |
---|---|---|
AMD SME and SEV-ES Enabled | 63,069 | ~75% |
AMD SME and SEV-ES Disabled | 62,577 | ~75% |
You can see the performance difference is less than 1%. CPU use stays the same. This means you can use these security features without hurting speed. The AMD EPYC 9004 series and AMD EPYC 7003 series let you keep your jobs and memory safe while staying fast. Always test your setup after turning on security or power modes. Good tuning helps you get the best from your AMD EPYC processor for any job.
Monitor Performance
Benchmarking Tools
You need special tools to check how well your AMD EPYC works. These tools help you see how the processor and memory handle different jobs. For AMD EPYC 9004 series, use AMD uProf. AMD uProf gives a close look at how your CPU and memory work. It helps you find slow spots and shows if your processor uses its hardware well. Omnitrace is another good tool for Linux. It checks what the CPU and GPU are doing. Omnitrace finds busy spots and collects system data. You can use Omnitrace to make AMD EPYC run better.
Tip: AMD uProf and Omnitrace give the best results for AMD EPYC CPUs. Omniperf and ROC-profiler are better for GPUs, not CPUs.
Before you start testing, set UEFI to “Maximum Performance.” Turn on Core Performance Boost, cTDP, and Package Power Limit to the highest. Turn on memory interleave and pick the best NUMA Nodes per Socket for your job. These steps help you see how fast your AMD EPYC 9004 series can go.
Ongoing Monitoring
Keep checking your AMD EPYC after you finish tuning. Watching your system helps you see if things change as you run new jobs. Use AMD uProf to watch CPU and memory use over time. This tool shows if your processor keeps up or if you need to change settings. Omnitrace also helps you watch your system, especially with virtualization or hard jobs on AMD EPYC 9004 series CPUs.
Set alerts for high CPU or memory use. Watch for slowdowns or changes in how your processor works. If you use virtualization, check how AMD EPYC splits CPU and memory for each virtual machine. Good monitoring helps you fix problems fast and keep your AMD EPYC 9004 series running well.
Note: Always write down what you change and what happens. This helps you do well again and fix problems quickly.
Virtualization Tuning
Hypervisor Settings
You can make your virtual machines run faster by changing hypervisor settings. Pick a hypervisor that works with the newest amd epyc 9004 series features. Many people use VMware ESXi, Microsoft Hyper-V, or KVM. Each one lets you change settings for better speed. Set the power policy to “High Performance” so your processor always runs fast. Turn on CPU virtualization extensions in the BIOS. This helps amd epyc 9004 series and amd epyc 7003 series processors run virtual machines better.
Check your memory setup too. Fill every memory channel in your system. This gives your virtual machines more memory speed. Use the newest BIOS for your amd epyc processor. Updates can make things faster and give you more options. Always use a hypervisor version that matches your hardware for the best results.
Tip: Write down your settings before you change them. This helps you remember what works best for your system and jobs.
vCPU and NUMA
You need to plan vCPU and NUMA tuning for every virtual machine job. The amd epyc 9004 series processor has lots of cores and NUMA nodes. Give vCPUs to match the real CPU layout. This keeps jobs close to their memory and makes them faster. Do not give too many vCPUs. Too many can slow down your system and hurt speed.
Use NUMA-aware scheduling in your hypervisor. This lets each virtual machine use memory from the closest NUMA node. Both amd epyc 9004 series and amd epyc 7003 series work better with this. Set memory affinity so each job uses local memory. This lowers wait times and helps your processor go faster.
You can use tools like numactl
or your hypervisor’s own tools to check NUMA setup. Always test your changes with real jobs. Watch how your system works after each change. Good tuning helps your amd epyc system run many virtual machines at once.
Note: Keep your setup simple. Change one thing at a time and see how it changes speed.
You can make your amd epyc cpu work its best by changing bios, os, and virtualization settings for each processor. Always pick the right settings for your job. Watch cpu and memory use to see if things change. Keep a list to help you keep tuning your system. Write down every change you make to your amd epyc system. Try each new setting to see if it helps. Tuning often helps your processor, memory, and cpu do better for every job. Look out for new amd epyc updates to get even more speed.
FAQ
What is the best BIOS setting for AMD EPYC performance?
Set your BIOS to “Maximum Performance” mode. Enable all CPU cores and turn on Core Performance Boost. Use NPS2 or NPS4 for memory-heavy jobs. Always test your changes to see what works best for your workload.
How do I check if my system uses all memory channels?
You can use the lshw
or dmidecode
command on Linux. These tools show memory slot usage. Fill every channel for the best speed. On Windows, check Task Manager under the Performance tab.
Should I enable SMT for every workload?
Most jobs run faster with SMT enabled. You get more threads and better performance. For some high-performance computing jobs, try turning SMT off and test your results. Always check what works best for your job.
Does enabling AMD Secure Memory Encryption slow down my system?
You lose less than 1% performance when you turn on AMD Secure Memory Encryption. Your data stays safe, and your system stays fast. Always test your workload to confirm.
What tools help monitor AMD EPYC performance?
AMD uProf gives you detailed CPU and memory data.
Omnitrace helps you track system activity.
Use these tools to spot slowdowns and tune your system for better results.