mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-05-11 12:11:14 +00:00

Upgrade the version of related toolkits: - upgrade llvm to 15.0 - upgrade wasi-sdk to 19.0 - upgrade emsdk to 3.1.28 - upgrade wabt to 1.0.31 - upgrade binaryen to 111 And upgrade the CI scripts, sample workload build scripts, Dockerfiles, and documents.
1.1 KiB
1.1 KiB
"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
cd <wamr-dir>/samples/workload/XNNPACK
mkdir build
cd build
cmake ..
The wasm files are generated under folder samples/workload/XNNPACK/xnnpack/bazel-bin.
Run benchmarks
Firstly please build iwasm with simd, libc-emcc and lib-pthread support:
$ cd <wamr-dir>/product-mini/platforms/linux/
$ mkdir build && cd build
$ cmake .. -DWAMR_BUILD_LIBC_EMCC=1 -DWAMR_BUILD_LIB_PTHREAD=1
$ make
And please build wamrc:
cd <wamr-dir>/wamr-compiler
./build_llvm.sh
mkdir build && cd build
cmake ..
make
Then compile wasm file to aot file and run:
$ cd <wamr-dir>/samples/workload/XNNPACK/xnnpack/bazel-bin
$ wamrc -o average_pooling_bench.aot average_pooling_bench.wasm (or other wasm files)
$ iwasm average_pooling_bench.aot