PolyBench is a benchmark suite of 30 numerical computations with static control flow, extracted from operations in various application domains (linear algebra computations, image processing, physics simulation, dynamic programming, statistics, etc.).
Source: https://github.com/MatthiasJReisinger/PolyBenchC-4.2.1
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, the folder out
will be created and files will be generated under it.
Run ./run_aot.sh
to test the benchmark, the native mode and iwasm aot mode will be tested for each workload, and the file report.txt
will be generated.
Run ./run_interp.sh
to test the benchmark, the native mode and iwasm interpreter mode will be tested for each workload, and the file report.txt
will be generated.
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
withcmake -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
withcmake -DWAMR_BUILD_STATIC_PGO=1
, thenmake
in the directoryenclave-sample
. And run./test_pgo.sh --sgx
to test the benchmark.