NopBench

NopBench is a software developed by ElmorLabs which iterates the NOP x86 instruction and serves as proxy of the effective CPU clock frequency.

NopBench_22020706_2206

NopBench iterates the NOP instruction and counts how many NOP instructions can be processed per second. As the NOP throughput varies by CPU architecture, we can adjust the total NOPs by an architecture-specific factor. For Raphael, that factor is 2.5X. Ultimately, the NopBench output is a proxy for the effective clock frequency over a specific period.

I used it extensively in my Ryzen 7000 SkatterBencher guides and used it to analyze the AGESA change of C-state Precision Boost Limiter. As there’s quite a few requests to share the tool, I’ve asked and received permission from Elmor to share the tool here.

NopBench_20230308_1902

Since NopBench is still in early development, there’s no final version that works with every architecture. In the link below you can download NopBench_22020706_2206. This version shows the correct NOP rate for Intel Xeon W2400 and W3400 Sapphire Rapids CPUs.

This NopBench version runs NOP instructions on increasing cores while measuring a target core’s NOP throughput. Effectively, we measure the effective clock frequency of a specific core as more cores get loaded. This is a 64-bit version of NopBench so it supports more than 32 threads. It also adds a brief warmup period before calculating the NOP rate.

Features:

  • 64-bit version supporting >32 threads
  • Supports Intel Xeon W2400/W3400 Sapphire Rapids CPUs
  • Shows NOP rate of specific core with increasing number of active cores
  • Adds warmup period before NOP rate calculation

Download: https://skatterbencher.com/wp-content/uploads/2023/03/NopBench_20230308_1902.zip

NopBench_22020706_2206

Since NopBench is still in early development, there’s no final version that works with every architecture. In the link below you can download NopBench_22020706_2206. This version shows the correct NOP rate for AMD Ryzen 7000 Raphael CPUs.

This NopBench version runs NOP instructions on increasing cores while measuring a target core’s NOP throughput. Effectively, we measure the effective clock frequency of a specific core as more cores get loaded. This allowed us to clearly show the behavior of the Ryzen 7000 C-State Boost limiter

Features:

  • Supports AMD Ryzen 7000 Raphael CPUs
  • Shows NOP rate of specific core with increasing number of active cores
NopBench_22020706_2206

Download: https://skatterbencher.com/wp-content/uploads/2022/12/NopBench_20220706_2206.zip

Below you can see an example of how NopBench_22020706_2206 can help analyze the different boost behavior with Ryzen 7000 CPUs as discussed in my posted titled “Update on Ryzen 7000 C-State Boost Limiter.

NopBench_20211219_0126

Since NopBench is still in early development, there’s no final version that works with every architecture. In the link below you can download NopBench_20211219_0126. This version shows the correct NOP rate for Raphael Ryzen 7000 CPUs.

This NopBench version runs NOP instructions on a specific core and shows its NOP throughput. Effectively, we measure the effective clock frequency of a specific core. By default it will run on Core #1 but you can re-assign affinity to check the NOP rate of other cores.

Features:

  • Supports Ryzen 7000 Raphael CPUs
  • Shows NOP rate of specific core
NopBench_20211219_0126

Download: https://skatterbencher.com/wp-content/uploads/2022/12/NopBench_20211219_0126.zip