Wenyong Huang 8d88471c46 Implement AOT static PGO (#2243) vor 2 Jahren
..
coremark 8d88471c46 Implement AOT static PGO (#2243) vor 2 Jahren
dhrystone 8d88471c46 Implement AOT static PGO (#2243) vor 2 Jahren
jetstream 8d88471c46 Implement AOT static PGO (#2243) vor 2 Jahren
libsodium 8d88471c46 Implement AOT static PGO (#2243) vor 2 Jahren
polybench 8d88471c46 Implement AOT static PGO (#2243) vor 2 Jahren
sightglass 8d88471c46 Implement AOT static PGO (#2243) vor 2 Jahren
README.md 8d88471c46 Implement AOT static PGO (#2243) vor 2 Jahren

README.md

WAMR test benchmarks

This folder contains test benchmarks for wamr.

Build and Run

Refer to the README.md under each folder for how to build and run the benchmark.

Install llvm-profdata

The tool llvm-profdata is used when running the test_pgo.sh script under the benchmark folder. There are two ways to install it:

  1. Refer to https://apt.llvm.org/, e.g. in Ubuntu 20.04, add lines below to /etc/apt/source.list

    deb http://apt.llvm.org/focal/ llvm-toolchain-focal main
    deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal main
    # 15
    deb http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main
    deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main
    

Then run sudo apt update, sudo apt install llvm. And after installing:

cd /usr/bin
sudo ln -s llvm-profdata-15 llvm-profdata
  1. Build manually

    git clone --depth 1 --branch release/15.x https://github.com/llvm/llvm-project.git
    cd llvm-project
    mkdir build && cd build
    cmake ../llvm \
    -DCMAKE_BUILD_TYPE:STRING="Release" \
    -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
    -DLLVM_APPEND_VC_REV:BOOL=ON \
    -DLLVM_BUILD_EXAMPLES:BOOL=OFF \
    -DLLVM_BUILD_LLVM_DYLIB:BOOL=OFF \
    -DLLVM_BUILD_TESTS:BOOL=OFF \
    -DLLVM_CCACHE_BUILD:BOOL=ON \
    -DLLVM_ENABLE_BINDINGS:BOOL=OFF \
    -DLLVM_ENABLE_IDE:BOOL=OFF \
    -DLLVM_ENABLE_LIBEDIT=OFF \
    -DLLVM_ENABLE_TERMINFO:BOOL=OFF \
    -DLLVM_ENABLE_ZLIB:BOOL=ON \
    -DLLVM_INCLUDE_BENCHMARKS:BOOL=OFF \
    -DLLVM_INCLUDE_DOCS:BOOL=OFF \
    -DLLVM_INCLUDE_EXAMPLES:BOOL=OFF \
    -DLLVM_INCLUDE_UTILS:BOOL=OFF \
    -DLLVM_INCLUDE_TESTS:BOOL=OFF \
    -DLLVM_BUILD_TESTS:BOOL=OFF \
    -DLLVM_OPTIMIZED_TABLEGEN:BOOL=ON \
    -DLLVM_ENABLE_LIBXML2:BOOL=OFF \
    -DLLVM_TARGETS_TO_BUILD:STRING="X86" \
    -DLLVM_INCLUDE_TOOLS:BOOL=ON \
    -G'Ninja'
    ninja -j 8
    # tool `llvm-profdata` is generated under this folder.