RTRBench
Real-Time Robotics Benchmark (RTRBench) is a collection of real-time robotic kernels. The kernels span the entire software pipeline of most autonomous robots (Listing of Benchmarks). RTRBench is published in ISPASS 2022 [Paper] [Slides] [Talk].
Table of Contents
Getting Started
The benchmark suite can be downloaded from GitHub using:
$ git clone https://github.com/cmu-roboarch/rtrbench.git
Requirements
The benchmark suite has been tested under Ubuntu 18.04 with Linux Kernel 4.15, and compiled with GCC 11.1.0. However, it can be used with a variety of other operating systems and compilers. As the benchmarks are coded with C++17, the minimum required GCC version is 8.0 (Clang: 5.0; Visual Studio: 15.8).
Build
Every kernel has its own Makefile. To build a kernel, issue the following command:
$ make
Run
To run every kernel, simply issue the following command:
$ ./BINARY_NAME ARGS [ARGS]
Some of the arguments are required (e.g., input map, etc), and some of them are optional. To see the description of the arguments, run the following command:
$ ./BINARY_NAME --help
More Details
Build Options
To build the kernel for the highest performance, use the following command. This way, the pieces of the code that are written for the purpose of verification will be omitted.
$ make performance
To build the kernels for debugging them, use the following command:
$ make debug
Use build.sh
and clean.sh
scripts to build and clean all of the kernels.
Run Scripts
Every kernel is equipped with run_all.sh
script. The script runs the
corresponding kernel with different execution/configuration parameters. Put
your desired parameters into parameter arrays (started with ALL_
), and issue
the following command. The script will run different experiments, one per
configuration.
$ ./run_all.sh
Inputsets
Every kernel is equipped with its own inputset. README.md
files in the
kernels’ directories describe how other inputsets can be used/generated for
evaluation.