TianlongLiang 2f01cb7b7a Enable static PGO for Linux SGX (#2270) 2 gadi atpakaļ
..
README.md 2f01cb7b7a Enable static PGO for Linux SGX (#2270) 2 gadi atpakaļ
build.sh 76be848ec3 Implement the segue optimization for LLVM AOT/JIT (#2230) 2 gadi atpakaļ
run_aot.sh 76be848ec3 Implement the segue optimization for LLVM AOT/JIT (#2230) 2 gadi atpakaļ
run_interp.sh 76be848ec3 Implement the segue optimization for LLVM AOT/JIT (#2230) 2 gadi atpakaļ
test_pgo.sh 2f01cb7b7a Enable static PGO for Linux SGX (#2270) 2 gadi atpakaļ

README.md

Introduction

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

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, the folder out will be created and files will be generated under it.

Running

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 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.