Skip to content

Commit 20e1934

Browse files
authored
Merge pull request #26 from mkatliar/benchmark_instructions
Add instructions for consistent benchmarks
2 parents da170a1 + 2d9bdeb commit 20e1934

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,16 @@ make bench_result/image/dgemm_performance.png bench_result/image/dgemm_performan
9595

9696
You are welcome to contribute by organizing the existing benchmark, writing more benchmarks, and writing scripts to visualize the results.
9797

98+
### Making benchmarks give more consistent results
99+
100+
So far, we haven't been able to make the benchmarks give always the same results on the same processor. However, what we tried so far is :
101+
102+
- isolating CPU 11 by adding 'nohz_full=5,11 isolcpus=domain,managed_irq,5,11 irqaffinity=0-4,6-10' to the boot parameters (see https://manuel.bernhardt.io/posts/2023-11-16-core-pinning/)
103+
- using taskset -c 11 to then run the benchmark only on that core
104+
- use performance governor (see https://google.github.io/benchmark/reducing_variance.html)
105+
- turn off Intel Boost (see https://llvm.org/docs/Benchmarking.html)
106+
- use benchmark repetitions, random interleaving, warmup time (these are options of Google benchmark)
107+
98108
## Docker image
99109
To automate building and running benchmarks, a [Dockerfile](Dockerfile) is provided. Use the following commands to build a Docker image and run benchmarks in a Docker container:
100110
```bash

0 commit comments

Comments
 (0)