rv8 benchmark suite
Switch branches/tags
Nothing to show
Clone or download

README.md

rv8-bench

The rv8 benchmark suite contains a small set of currently integer centric benchmarks for regression testing of the rv8 binary translation engine. The suite contains the following test programs:

  • qsort
  • aes
  • norx
  • dhrystone
  • primes
  • miniz
  • sha512

Dependencies

rv8-bench depends on the following software:

Installing Node.js on macOS with brew

brew install node

Installing Node.js on Debian Stretch

sudo apt-get install nodejs
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

Installing musl-riscv-toolchain

git clone https://github.com/rv8-io/musl-riscv-toolchain.git
cd musl-riscv-toolchain
for i in rv32 rv64 x86_64 i386 ; do \
   sh bootstrap.sh $i ; rm -fr build stamps ; \
done

Installing rv8

git clone https://github.com/rv8-io/rv8.git
cd rv8
git submodule update --init
make -j4 && sudo make install

Installing riscv-qemu

git clone https://github.com/riscv/riscv-qemu.git
cd riscv-qemu
git submodule update --init
./configure --target-list=riscv64-softmmu,riscv32-softmmu
make -j4 && sudo make install

Building

To build the rv8 benchmarks for riscv32, riscv64, i386 and x86_64 run make in the rv8-bench directory:

cd rv8-bench
make

Running

To see how to run the benchmarks execute npm start for usage instructions:

npm start bench <benchmark> <target> <opt> <runs>
npm start gather