Adding a Ramble Application
Glossary terms: Benchmark, Application
A Ramble application.py defines a benchmark’s inputs and runtime parameters. If an
application already exists in the Ramble Applications repository,
Benchpark uses that definition. An application in
repos/ramble_applications/<benchmark-name>/application.py overrides the
corresponding upstream application.
For the HPL example, create repos/ramble_applications/hpl/application.py with the
following complete contents:
1# Copyright 2023 Lawrence Livermore National Security, LLC and other
2# Benchpark Project Developers. See the top-level COPYRIGHT file for details.
3#
4# SPDX-License-Identifier: Apache-2.0
5
6import sys
7
8from ramble.app.builtin.hpl import Hpl as HplBase
9from ramble.appkit import *
10
11
12class Hpl(HplBase):
13
14 tags = ['synthetic',
15 'blas','solver','dense-linear-algebra',
16 'large-scale',
17 'mpi','network-collectives','network-point-to-point',
18 'c']
This application.py inherits Ramble’s HPL definition and adds Benchpark catalogue
tags.
For a benchmark without an upstream application, follow the Ramble Application
Definition Developers Tutorial.
Test the resulting application.py using the Ramble Testing Application Definitions
instructions.
Before adding the experiment, create its Spack package if one is also missing.