Add benchmarks (#979)
Add scripts to build and run benchmark of coremark, polybench, sightglass and jetstream2. And add documents.
This commit is contained in:
19
tests/benchmarks/coremark/README.md
Normal file
19
tests/benchmarks/coremark/README.md
Normal 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.
|
||||
35
tests/benchmarks/coremark/build.sh
Executable file
35
tests/benchmarks/coremark/build.sh
Executable 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"
|
||||
16
tests/benchmarks/coremark/run.sh
Executable file
16
tests/benchmarks/coremark/run.sh
Executable 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
|
||||
Reference in New Issue
Block a user