YAMAMOTO Takashi d41543f829 cmake: Use CMAKE_BINARY_DIR instead of ${CMAKE_CURRENT_SOURCE_DIR}/build (#1410) před 3 roky
..
.gitignore 2f530e67fc Fix app manager install atomics app issue and optimize workload scripts (#458) před 5 roky
CMakeLists.txt d41543f829 cmake: Use CMAKE_BINARY_DIR instead of ${CMAKE_CURRENT_SOURCE_DIR}/build (#1410) před 3 roky
README.md 7be0d385a6 Implement SIMD latest opcodes and update LLVM to 13.0 (#758) před 4 roky
benchmark.patch 7be0d385a6 Implement SIMD latest opcodes and update LLVM to 13.0 (#758) před 4 roky
build_workload.sh 7be0d385a6 Implement SIMD latest opcodes and update LLVM to 13.0 (#758) před 4 roky
xnnpack.patch 20867c9227 Fix XNNPACK workload build error (#922) před 4 roky

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

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_SIMD=1 -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 --enable-simd -o average_pooling_bench.aot average_pooling_bench.wasm  (or other wasm files)
$ iwasm average_pooling_bench.aot