Skip to content

michaeljclark/rv8-bench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 riscv32 riscv64 i386 x86_64 arm aarch64; do sh bootstrap.sh $i ; 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