Adding a Benchmark

This guide is intended for application developers who want to add a benchmark so that it can be run with Benchpark.

Create a New Benchmark

The following system-independent specification is required for each ${Benchmark1}:

  • package.py is a Spack specification that defines how to build and install ${Benchmark1}. See the Spack Package Creation Tutorial to learn how to create and test a Spack package.py. If your benchmark already exists in Spack, benchpark will use that version of the package.py, unless you define a version in benchpark/repo/.

  • application.py is a Ramble specification that defines the ${Benchmark1} input and parameters. See the Ramble Application Definition Developers Guide to learn how to create a Ramble application.py. We recommend testing your application.py using the Ramble Usage While Developing instructions. If your benchmark already exists in Ramble, benchpark will use that version of the application.py, unless you define a version in benchpark/repo/.

Again, by default Benchpark will use ${Benchmark1} specifications (application.py and package.py) provided in the Spack and Ramble upstream repositories. Overwrite the upstream definitions by adding the application.py and/or package.py to benchpark/repo/${Benchmark1}, see Frequently Asked Questions for details.

After satisfying the above prerequisites, in order to use your benchmark in Benchpark, you will need to create an experiment as described in Adding an Experiment.