Wenyong Huang 43a3cbf2ce Build more benchmarks in workload XNNPACK (#2417) %!s(int64=2) %!d(string=hai) anos
..
.gitignore 2f530e67fc Fix app manager install atomics app issue and optimize workload scripts (#458) %!s(int64=5) %!d(string=hai) anos
CMakeLists.txt 43a3cbf2ce Build more benchmarks in workload XNNPACK (#2417) %!s(int64=2) %!d(string=hai) anos
README.md 43a3cbf2ce Build more benchmarks in workload XNNPACK (#2417) %!s(int64=2) %!d(string=hai) anos
benchmark.patch 7be0d385a6 Implement SIMD latest opcodes and update LLVM to 13.0 (#758) %!s(int64=4) %!d(string=hai) anos
xnnpack.patch ecd4fccc96 Upgrade XNNPACK workload (#2394) %!s(int64=2) %!d(string=hai) anos

README.md

"XNNPACK" sample introduction

This sample demonstrates how to build XNNPACK benchmarks into WebAssembly with emsdk toolchain and run them with iwasm.

Installation toolchains

please refer to installation instructions.

Build XNNPACK

please build wamrc:

cd <wamr-dir>/wamr-compiler
./build_llvm.sh
mkdir build && cd build
cmake ..
make

And then build xnnpack standalone wasm files

$ cd <wamr-dir>/samples/workload/XNNPACK
$ cmake -S . -B build
$ cmake --build build

Generated .wasm(and .aot) files are under samples/workload/XNNPACK/build.

Run benchmarks

Firstly please build iwasm with simd, libc-emcc and lib-pthread supporting:

$ cd <wamr-dir>/product-mini/platforms/linux/
$ mkdir build && cd build
$ cmake .. -DWAMR_BUILD_LIBC_EMCC=1 -DWAMR_BUILD_LIB_PTHREAD=1
$ make

Then run:

$ cd <wamr-dir>/samples/workload/XNNPACK/build
$ iwasm average_pooling_bench.aot # (or other aot files)