This Flake give a Qemu RISC-V Linux / Spike bare metal runtime to run benchmark, aim to make test environment reproducible and result fair enough.
STREAM - Custom Licence, but Open Source friendly
RRZE-HPC/TheBandwidthBenchmark - MIT Licence
shaswata56/BenchUtil - WTFPL license
shaswata56/BenchUtil - WTFPL license
Verilator Model
A Nix Flake is provided for convenience, but not necessary dependency in the final project.
With Nix installed, run nix develop
to get the reproducible development environment.
Run vm
to launch QEMU.
With just
installed, run just compile
then just run
in the program source code directory.
Or you can run commands manually. Justfile
is extremely easy to read and understand.
cd am-kernel # This project would be a submodule in am-kernel when it's finish
git clone git@github.com:Yakkhini/OPMark.git
cd OPMark
# git switch [branch] # Maybe you want to contribute to another branch
cp -r src/common/stdio.c $AM_HOME/klib/src/stdio.c # We improve printf functions feature, like print float numbers
cd src/linpack # Run a sub program to ensure build system working
make ARCH=riscv32-nemu run
- Memory Access: STREAM
- Floating-point Arithmetic: Linpack, Whetstone
- Utils: soft-fp(cyl), abstract-machine, openlibm
- Can build: Spike, RISC-V OpenOCD
- Run Configurable Linux on QEMU RISC-V Platform
- Basic Benchmark Programs
- Math Library
- GEMM
- Organize Build Scripts
- More Complex Programs
- Embedded into am-kernel
- Handle with Licence
- Merge into single benchmark program
- Decide OpenPerf Project File Struct