Add benchmarks (#979)

Add scripts to build and run benchmark of coremark, polybench,
sightglass and jetstream2. And add documents.
This commit is contained in:
Wenyong Huang
2022-01-25 10:52:48 +08:00
committed by GitHub
parent d925369a1f
commit 4bc6074273
15 changed files with 595 additions and 0 deletions

View File

@ -0,0 +1,19 @@
# Introduction
[CoreMark's](https://www.eembc.org/coremark) primary goals are simplicity and providing a method for testing only a processor's core features.
**Source**: https://github.com/eembc/coremark
# Building
Please build iwasm and wamrc, refer to:
- [Build iwasm on Linux](../../../doc/build_wamr.md#linux), or [Build iwasm on MacOS](../../../doc/build_wamr.md#macos)
- [build wamrc AOT compiler](../../../README.md#build-wamrc-aot-compiler)
And install WASI SDK, please download the [wasi-sdk release](https://github.com/CraneStation/wasi-sdk/releases) and extract the archive to default path `/opt/wasi-sdk`.
And then run `./build.sh` to build the source code, file `coremark.exe`, `coremark.wasm` and `coremark.aot` will be generated.
# Running
Run `./run.sh` to test the benchmark, the native mode, iwasm aot mode and iwasm interpreter mode will be tested respectively.

View File

@ -0,0 +1,35 @@
#!/bin/bash
# Copyright (C) 2019 Intel Corporation. All rights reserved.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
WAMRC="../../../wamr-compiler/build/wamrc"
if [ ! -d coremark ]; then
git clone https://github.com/eembc/coremark.git
fi
cd coremark
echo "Build coremark with gcc .."
gcc -O3 -Iposix -I. -DFLAGS_STR=\""-O3 -DPERFORMANCE_RUN=1 -lrt"\" \
-DITERATIONS=0 -DPERFORMANCE_RUN=1 \
core_list_join.c core_main.c core_matrix.c core_state.c \
core_util.c posix/core_portme.c \
-o ../coremark.exe -lrt
echo "Build coremark with wasi-sdk .."
/opt/wasi-sdk/bin/clang -O3 -Iposix -I. -DFLAGS_STR=\""-O3 -DPERFORMANCE_RUN=1"\" \
-Wl,--export=main \
-DITERATIONS=0 -DPERFORMANCE_RUN=1 \
-Wl,--allow-undefined \
core_list_join.c core_main.c core_matrix.c core_state.c \
core_util.c posix/core_portme.c \
-o ../coremark.wasm
cd ..
echo "Compile coremark.wasm to coremark.aot .."
${WAMRC} -o coremark.aot coremark.wasm
echo "Done"

View File

@ -0,0 +1,16 @@
#!/bin/bash
# Copyright (C) 2019 Intel Corporation. All rights reserved.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
IWASM="../../../product-mini/platforms/linux/build/iwasm"
WAMRC="../../../wamr-compiler/build/wamrc"
echo "Run coremark with native .."
./coremark.exe
echo "Run coremark with iwasm mode .."
${IWASM} coremark.aot
echo "Run coremakr with iwasm interpreter .."
${IWASM} coremark.wasm