Files
wamr/tests/benchmarks/coremark
TianlongLiang 0343aaf8c3 Modify AOT static PGO to conform to llvm-18 and add a CI job to test static PGO on the coremark benchmark (#4345)
* static PGO compatible with llvm18 and add CI job to test static PGO on coremark benchmark
* update comments and warning info, bitmaps section in llvm profdata shouldn't be used in PGO
2025-06-12 16:57:11 +08:00
..

Introduction

CoreMark's primary goals are simplicity and providing a method for testing only a processor's core features.

Source: https://github.com/eembc/coremark

Building

Please build iwasm and wamrc, refer to:

And install WASI SDK, please download the wasi-sdk release and extract the archive to default path /opt/wasi-sdk.

And then run ./build.sh to build the source code, file coremark.exe, coremark.wasm and coremark.aot will be generated.

Running

Run ./run.sh to test the benchmark, the native mode, iwasm aot mode and iwasm interpreter mode will be tested respectively.

Run ./test_pgo.sh to test the benchmark with AOT static PGO (Profile-Guided Optimization) enabled, please refer here to install tool llvm-profdata and build iwasm with cmake -DWAMR_BUILD_STATIC_PGO=1.

  • For Linux, build iwasm with cmake -DWAMR_BUILD_STATIC_PGO=1, then run ./test_pgo.sh to test the benchmark with AOT static PGO (Profile-Guided Optimization) enabled.

  • For Linux-sgx, similarly, build iwasm with cmake -DWAMR_BUILD_STATIC_PGO=1, then make in the directory enclave-sample. And run ./test_pgo.sh --sgx to test the benchmark.