Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test benchpark system init #358

Merged
merged 6 commits into from
Aug 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -152,10 +152,11 @@ jobs:

- name: Dry run kripke/rocm on Tioga with allocation modifier
run: |
./bin/benchpark setup kripke/rocm LLNL-Tioga-HPECray-zen3-MI250X-Slingshot workspace/
./bin/benchpark system init --dest=tioga-system tioga rocm=551 compiler=cce ~gtl
./bin/benchpark setup kripke/rocm ./tioga-system workspace/
. workspace/setup.sh
ramble \
--workspace-dir workspace/kripke/rocm/LLNL-Tioga-HPECray-zen3-MI250X-Slingshot/workspace \
--workspace-dir workspace/kripke/rocm/Tioga/workspace \
--disable-progress-bar \
--disable-logger \
workspace setup --dry-run
Expand Down
2 changes: 1 addition & 1 deletion docs/4-benchpark-setup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Also choose a directory for your experiment::
where:

- ``<Benchmark/ProgrammingModel>``: amg2023/openmp | amg2023/cuda | saxpy/openmp (available choices in ``benchpark/experiments``)
- ``<System>``: nosite-x86_64 | LLNL-Sierra-IBM-power9-V100-Infiniband | RCCS-Fugaku-Fujitsu-A64FX-TofuD | nosite-AWS_PCluster_Hpc7a-zen4-EFA (available choices in :doc:`available-system-specs`)
- ``<System>``: use ``benchpark system init``, or a predefined system in :doc:`available-system-specs`)

This command will assemble a Ramble workspace per experiment
with a configuration for the specified benchmark and system
Expand Down
42 changes: 39 additions & 3 deletions docs/add-a-system-config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,45 @@
Adding a System Specification
=============================

``benchpark/configs`` contains a directory for each system specified in Benchpark.
If your system is unlike the available configurations,
you can add a new directory with a name which identifies the system.
System specifications include details like

- How many CPUs are there per node on the system
- What pre-installed MPI/GPU libraries are available

A system description is a set of YAML files collected into a directory.
You can generate these files directly, but Benchpark also provides an API
where you can represent systems as objects and customize their description
with command line arguments.

Using System API to Generate a System Description
-------------------------------------------------

System classes are defined in ``var/sys_repo``; once the class has been
defined, you can invoke ``benchpark system init`` to generate a system
configuration directory that can then be passed to ``benchpark setup``::

benchpark system init --dest=tioga-system tioga rocm=551 compiler=cce ~gtl

where "tioga rocm=551 compiler=cce ~gtl" describes a config for Tioga that
uses ROCm 5.5.1 components, a CCE compiler, and MPI without GTL support.

If you want to add support for a new system you can add a class definition
for that system in a separate directory in ``var/sys_repo/systems/``. For
example the Tioga system is defined in::

$benchpark
├── var
├── sys_repo
├── systems
├── tioga
├── system.py

Static System Configurations
----------------------------

``benchpark/configs`` contains a number of static, manually-generated system
definitions. As an alternative to implementing a new ``System`` class, you
can add a new directory with a name which identifies the system.

The naming convention for the systems is as following::

Expand Down