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

Patch/system names #81

Merged
merged 26 commits into from
Dec 22, 2023
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
b23b484
Changing system names to more descriptive
pearce8 Dec 19, 2023
df4bf42
updating docs
pearce8 Dec 19, 2023
9a34235
Adding system definitions
pearce8 Dec 19, 2023
740df50
reworking cts1
pearce8 Dec 19, 2023
77fe162
adding one for x86
pearce8 Dec 19, 2023
7b36f4b
Standardizing the system_definition across machines
pearce8 Dec 20, 2023
a7c58f0
Picking a specific AWS instance
pearce8 Dec 20, 2023
4fdf967
Merge branch 'develop' into patch/system-names
pearce8 Dec 20, 2023
599fefa
Adding system name to system definition
pearce8 Dec 20, 2023
8a7ebe6
Shortening the system names
pearce8 Dec 20, 2023
4fbada8
Merge branch 'patch/system-names' of github.com:LLNL/benchpark into p…
pearce8 Dec 20, 2023
75e2421
Update configs/AWS-Hpc7a-EPYC4-EFA/system_definition.yaml
pearce8 Dec 22, 2023
a8dd50a
ISA to ISA_family
pearce8 Dec 22, 2023
82a1452
Adding micro architecture
pearce8 Dec 22, 2023
a6f2208
Updating to use x86_64 in CI
pearce8 Dec 22, 2023
8f6afa2
Updating the docs, adding top500 instances
pearce8 Dec 22, 2023
14f065c
Merge branch 'develop' into patch/system-names
pearce8 Dec 22, 2023
3c33e2b
(opt)Integrator
pearce8 Dec 22, 2023
b36d477
icelake
pearce8 Dec 22, 2023
2283faa
-Summit
pearce8 Dec 22, 2023
58466b9
Adding more detail on system definition in the docs
pearce8 Dec 22, 2023
fae8d44
removing OS from description
pearce8 Dec 22, 2023
022a934
Further standardizing the naming convention
pearce8 Dec 22, 2023
a60f8dc
system names in docs
pearce8 Dec 22, 2023
a7c49a5
Merge branch 'develop' into patch/system-names
pearce8 Dec 22, 2023
9c55305
System naming syntax
pearce8 Dec 22, 2023
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
8 changes: 4 additions & 4 deletions .github/workflows/run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

- name: Build Saxpy Workspace
run: |
./bin/benchpark setup saxpy/openmp x86 workspace/
./bin/benchpark setup saxpy/openmp x86_64 workspace/
pearce8 marked this conversation as resolved.
Show resolved Hide resolved

- name: Setup Ramble & Spack
run: |
Expand All @@ -32,7 +32,7 @@ jobs:
echo "PATH=$PATH" >> "$GITHUB_ENV"

- name: Setup Saxpy Workspace
working-directory: ./workspace/saxpy/openmp/x86/workspace/
working-directory: ./workspace/saxpy/openmp/x86_64/workspace/
run: |
ramble \
--workspace-dir . \
Expand All @@ -42,7 +42,7 @@ jobs:
workspace setup

- name: Run Saxpy Experiments
working-directory: ./workspace/saxpy/openmp/x86/workspace/
working-directory: ./workspace/saxpy/openmp/x86_64/workspace/
run: |
ramble \
-c variables:n_nodes:1 \
Expand All @@ -53,7 +53,7 @@ jobs:
on

- name: Analyze Saxpy Results
working-directory: ./workspace/saxpy/openmp/x86/workspace/
working-directory: ./workspace/saxpy/openmp/x86_64/workspace/
run: |
ramble \
--workspace-dir . \
Expand Down
32 changes: 32 additions & 0 deletions configs/AWS-Hpc7a-EPYC4-EFA/system_definition.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Copyright 2023 Lawrence Livermore National Security, LLC and other
# Benchpark Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: Apache-2.0

system_definition:
name: AWS-Hpc7a-EPYC4-EFA
manufacturer:
vendor: AWS
name: ParallelCluster3.7.2-Hpc7a
processor:
vendor: AMD
name: EPYC-Zen4
ISA: x86_64
pearce8 marked this conversation as resolved.
Show resolved Hide resolved
uArch: zen4
accelerator:
vendor: None
name: None
ISA: None
uArch: None
interconnect:
vendor: AWS
name: EFA
OS:
name: Amazon-Linux-2
system-tested:
owner: AWS
name: ""
installation-year: ""
description: [aws/hpc7a](https://aws.amazon.com/ec2/instance-types/hpc7a)
pearce8 marked this conversation as resolved.
Show resolved Hide resolved
top500-system-instances:
- None
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
packages:
all:
require: target=x86_64
require: target=x86_64:
variants: amdgpu_target=gfx90a
tar:
externals:
- spec: [email protected]
Expand Down Expand Up @@ -187,8 +188,6 @@ packages:
prefix: /opt/cray/pe/libsci/23.05.1.4/gnu/10.3/x86_64/
lapack:
buildable: false
hypre:
variants: amdgpu_target=gfx90a
mpi:
buildable: false
cray-mpich:
Expand Down
File renamed without changes.
34 changes: 34 additions & 0 deletions configs/HPECray-EPYC3-MI250X-Slingshot/system_definition.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Copyright 2023 Lawrence Livermore National Security, LLC and other
# Benchpark Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: Apache-2.0

system_definition:
name: HPECray-EPYC3-MI250X-Slingshot
manufacturer:
vendor: HPE-Cray
name: EX235a
processor:
vendor: AMD
name: EPYC-Zen3
ISA: x86_64
uArch: zen3
accelerator:
vendor: AMD
name: MI250X
ISA: GCN
uArch: gfx90a
interconnect:
vendor: HPE-Cray
name: Slingshot-11
OS:
name: HPE-Cray-OS
pearce8 marked this conversation as resolved.
Show resolved Hide resolved
system-tested:
owner: LLNL
name: tioga
installation-year: 2022
description: [top500](https://www.top500.org/system/180052)
top500-system-instances:
- Frontier (ORNL)
- Lumi (EuroHPC/CSC)
- Tioga (LLNL)
File renamed without changes.
33 changes: 33 additions & 0 deletions configs/IBM-POWER9-V100-Infiniband/system_definition.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Copyright 2023 Lawrence Livermore National Security, LLC and other
# Benchpark Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: Apache-2.0

system_definition:
name: IBM-POWER9-V100-Infiniband
manufacturer:
vendor: IBM
name: AC922
processor:
vendor: IBM
name: POWER9
ISA: ppc64le
uArch: power9
accelerator:
vendor: NVIDIA
name: V100
ISA: PTX
uArch: sm_70
interconnect:
vendor: Mellanox
name: EDR-Infiniband
OS:
name: RHEL
system-tested:
owner: LLNL
name: lassen
installation-year: 2018
description: [top500](https://www.top500.org/system/179398)
top500-system-instances:
- Summit (ORNL)
- Sierra (LLNL)
File renamed without changes.
32 changes: 32 additions & 0 deletions configs/Penguin-XeonPlatinum-OmniPath/system_definition.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Copyright 2023 Lawrence Livermore National Security, LLC and other
# Benchpark Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: Apache-2.0

system_definition:
name: Penguin-XeonPlatinum-OmniPath
manufacturer:
vendor: PenguinComputing
name: RelionCluster
processor:
vendor: Intel
name: XeonPlatinum924248C
ISA: x86_64
uArch: IceLake-SP
pearce8 marked this conversation as resolved.
Show resolved Hide resolved
accelerator:
vendor: None
name: None
ISA: None
uArch: None
interconnect:
vendor: Intel
name: OmniPath
OS:
name: Linux/TOSS4
system-tested:
owner: LLNL
name: magma
installation-year: 2019
description: [top500](https://www.top500.org/system/179774)
top500-system-instances:
- Magma (LLNL)
File renamed without changes.
32 changes: 32 additions & 0 deletions configs/x86_64/system_definition.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Copyright 2023 Lawrence Livermore National Security, LLC and other
# Benchpark Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: Apache-2.0

system_definition:
name: x86_64
manufacturer:
vendor: Any
name: Any
processor:
vendor: Any
name: Any
ISA: x86_64
uArch: Any
accelerator:
vendor: None
name: None
ISA: None
uArch: None
interconnect:
vendor: Any
name: Any
OS:
name: Any
system-tested:
owner: Any
name: Any
installation-year: Any
description: Any
top500-system-instances:
- Many
pearce8 marked this conversation as resolved.
Show resolved Hide resolved
File renamed without changes.
2 changes: 1 addition & 1 deletion docs/4-benchpark-setup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Also choose a directory for your experiment::
where:

- ``benchmark/ProgrammingModel``: amg2023/openmp | amg2023/cuda | saxpy/openmp (available choices in ``benchpark/experiments``)
- ``system``: ats2 | ats4 | cts1 (available choices in ``benchpark/configs``)
- ``system``: x86_64 | HPECray-EPYC3-MI250X-Slingshot | AWS-Hpc7a-EPYC4-EFA (available choices in ``benchpark/configs``)
pearce8 marked this conversation as resolved.
Show resolved Hide resolved

This command will assemble a Ramble workspace per experiment
with a configuration for the specified benchmark and system
Expand Down
58 changes: 52 additions & 6 deletions docs/add-a-system-config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,60 @@ Adding a System Configuration
=============================

``benchpark/configs`` contains a directory for each system specified in Benchpark.
If the software stack on your system is unlike the available configurations,
If your system is unlike the available configurations,
you can add a new directory with a name which identifies the system.

The following is required for each given system ``benchpark/configs/${SYSTEM}``:
The naming convention for the systems is as following::

1. ``spack.yaml`` defines default compiler and package names Spack should
Integrator-(opt)ClusterType-CPU-(opt)GPU-Network
pearce8 marked this conversation as resolved.
Show resolved Hide resolved

Benchpark has definitions for the following systems:
- AWS-Hpc7a-EPYC4-EFA
- HPECray-EPYC3-MI250X-Slingshot (Frontier, Lumi, Tioga)
- IBM-POWER9-V100-Infiniband (Sierra, Summit)
pearce8 marked this conversation as resolved.
Show resolved Hide resolved
- Penguin-XeonPlatinum-OmniPath
- x86_64 (generic x86 CPU only platform)

The following files are required for each system ``benchpark/configs/${SYSTEM}``:

1. ``system_definition.yaml``
pearce8 marked this conversation as resolved.
Show resolved Hide resolved

.. code-block:: yaml

system_definition:
name: HPECray-EPYC3-MI250X-Slingshot
manufacturer:
vendor: HPE-Cray
name: EX235a
processor:
vendor: AMD
name: EPYC-Zen3
ISA: x86_64
uArch: zen3
accelerator:
vendor: AMD
name: MI250X
ISA: GCN
uArch: gfx90a
interconnect:
vendor: HPE-Cray
name: Slingshot-11
OS:
name: HPE-Cray-OS
system-tested:
owner: LLNL
name: tioga
installation-year: 2022
description: [top500](https://www.top500.org/system/180052)
top500-system-instances:
- Frontier (ORNL)
- Lumi (EuroHPC/CSC)
- Tioga (LLNL)


2. ``spack.yaml`` defines default compiler and package names Spack should
use to build the benchmarks on this system. ``spack.yaml`` becomes the
spack section in the `Ramble configuration file
spack section in the `Ramble configuration file
<https://googlecloudplatform.github.io/ramble/configuration_files.html#spack-config>`_.

.. code-block:: yaml
Expand All @@ -22,7 +68,7 @@ spack section in the `Ramble configuration file
default-mpi:
spack_spec: 'spack_spec_for_package'

2. ``variables.yaml`` defines system-specific launcher and job scheduler.
3. ``variables.yaml`` defines system-specific launcher and job scheduler.

.. code-block:: yaml

Expand All @@ -33,7 +79,7 @@ spack section in the `Ramble configuration file
batch_ranks: ''
batch_timeout: ''

3. Optionally, one can add more information about the software installed on the system
4. Optionally, one can add more information about the software installed on the system
by adding Spack config files in ``benchpark/configs/${SYSTEM}/auxiliary_software_files/``.

- `compilers.yaml <https://spack.readthedocs.io/en/latest/getting_started.html#compiler-config>`_ defines the compilers installed on the system.
Expand Down