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

Initial commit of MPI-only Laghos with Sedov blast wave experiment #199

Merged
merged 23 commits into from
Jun 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
21ec1e4
Initial commit of MPI-only Laghos with Sedov blast wave experiment.
wdarylhawkins Apr 15, 2024
5ce32c5
Adding custom package.py for Laghos
wdarylhawkins Apr 16, 2024
b3aab40
Updating ramble.yaml
wdarylhawkins Apr 16, 2024
7aea1e1
Temporary copyright update (will change back when upstream to spack)
pearce8 Apr 16, 2024
8d31e3a
Merge branch 'LLNL:develop' into laghos
wdhawkins Apr 16, 2024
07885c6
Update Laghos package.py to install data directory.
wdarylhawkins Apr 18, 2024
3ebe137
Merge branch 'develop' into laghos
pearce8 Apr 24, 2024
4e5d4ab
Fix FOM extraction regex
Apr 25, 2024
2f50c8c
Customizing package.py to pull and install the Caliper variant of Laghos
wdarylhawkins Apr 26, 2024
4fede43
Merge branch 'laghos' of https://github.com/wdhawkins/benchpark into …
wdarylhawkins Apr 26, 2024
41dab4a
Merge pull request #1 from rfhaque/laghos
wdhawkins Apr 26, 2024
73f8d3b
Update sspack recipe
May 3, 2024
6289c29
Force the use of lib instead of zlib-ng
May 3, 2024
0ab6bd1
Use original spack recipe
May 3, 2024
94b86b3
Merge branch 'develop' into laghos
pearce8 May 8, 2024
ff4adb4
Merge branch 'develop' into laghos
pearce8 May 15, 2024
39a378e
Adding configs for LLNL Ruby and AWS HPC6a.48xlarge. Replacing Sedov …
wdarylhawkins May 17, 2024
2ade029
Merge pull request #3 from rfhaque/laghos
wdhawkins May 17, 2024
8141cd0
Merge branch 'laghos' of https://github.com/wdhawkins/benchpark into …
wdarylhawkins May 17, 2024
bcc3ec5
Merge branch 'develop' into laghos
pearce8 May 23, 2024
968284b
Adding Ruby and HPC6a configs. Replacing Sedov experiment with 3D tri…
wdarylhawkins May 30, 2024
e7913c9
Merge branch 'laghos' of https://github.com/wdhawkins/benchpark into …
wdarylhawkins May 30, 2024
6d6e9c6
Merge branch 'develop' into laghos
pearce8 Jun 10, 2024
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
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

compilers:
- compiler:
spec: [email protected]
paths:
cc: /usr/tce/packages/gcc/gcc-12.1.1/bin/gcc
cxx: /usr/tce/packages/gcc/gcc-12.1.1/bin/g++
f77: /usr/tce/packages/gcc/gcc-12.1.1/bin/gfortran
fc: /usr/tce/packages/gcc/gcc-12.1.1/bin/gfortran
flags: {}
operating_system: rhel8
target: x86_64
modules: []
environment: {}
extra_rpaths: []
- compiler:
spec: [email protected]
paths:
cc: /usr/tce/packages/intel-classic/intel-classic-2021.6.0/bin/icc
cxx: /usr/tce/packages/intel-classic/intel-classic-2021.6.0/bin/icpc
f77: /usr/tce/packages/intel-classic/intel-classic-2021.6.0/bin/ifort
fc: /usr/tce/packages/intel-classic/intel-classic-2021.6.0/bin/ifort
flags: {}
operating_system: rhel8
target: x86_64
modules: []
environment: {}
extra_rpaths: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# 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

packages:
papi:
externals:
- spec: [email protected]
prefix: /usr/tce/packages/papi/papi-6.0.0.1
buildable: false
tar:
externals:
- spec: [email protected]
prefix: /usr
buildable: false
cmake:
externals:
- spec: [email protected]
prefix: /usr/tce/packages/cmake/cmake-3.23.1
buildable: false
gmake:
externals:
- spec: [email protected]
prefix: /usr
blas:
externals:
- spec: [email protected]
prefix: /usr/tce/backend/installations/linux-rhel8-x86_64/intel-19.0.4/intel-oneapi-mkl-2022.1.0-sksz67twjxftvwchnagedk36gf7plkrp
buildable: false
lapack:
externals:
- spec: [email protected]
prefix: /usr/tce/backend/installations/linux-rhel8-x86_64/intel-19.0.4/intel-oneapi-mkl-2022.1.0-sksz67twjxftvwchnagedk36gf7plkrp
buildable: false
python:
externals:
- spec: [email protected]
prefix: /usr/tce/packages/python/python-3.9.12/
buildable: false
hwloc:
externals:
- spec: [email protected]
prefix: /usr
buildable: false
fftw:
externals:
- spec: [email protected]
prefix: /usr/tce/packages/fftw/fftw-3.3.10
buildable: false
mpi:
externals:
- spec: [email protected]
prefix: /usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-12.1.1
buildable: false
extra_attributes:
ldflags: "-L/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-12.1.1/lib -lmpi"
- spec: [email protected]
prefix: /usr/tce/packages/mvapich2/mvapich2-2.3.7-intel-classic-2021.6.0
buildable: false
extra_attributes:
ldflags: "-L/usr/tce/packages/mvapich2/mvapich2-2.3.7-intel-classic-2021.6.0/lib -lmpi"
23 changes: 23 additions & 0 deletions configs/LLNL-Ruby-icelake-OmniPath/spack.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 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

spack:
packages:
default-compiler:
spack_spec: [email protected]
default-mpi:
spack_spec: [email protected]
compiler-gcc:
spack_spec: [email protected]
compiler-intel:
spack_spec: [email protected]
blas:
spack_spec: [email protected]
lapack:
spack_spec: [email protected]
mpi-gcc:
spack_spec: [email protected]
mpi-intel:
spack_spec: [email protected]
32 changes: 32 additions & 0 deletions configs/LLNL-Ruby-icelake-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: Ruby
site: LLNL
system: Penguin-icelake-OmniPath
integrator:
vendor: Supermicro
name:
processor:
vendor: Intel
name: XeonPlatinum8276L
ISA: x86_64
uArch: icelake
accelerator:
vendor:
name:
ISA:
uArch:
interconnect:
vendor: Cornelis
name: OmniPath
system-tested:
site: LLNL
name: ruby
installation-year: 2020
description: top500 <https://www.top500.org/system/179866>
top500-system-instances:
- Ruby (LLNL)
14 changes: 14 additions & 0 deletions configs/LLNL-Ruby-icelake-OmniPath/variables.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# 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

variables:
batch_time: '02:00'
mpi_command: 'srun -N {n_nodes} -n {n_ranks}'
batch_submit: 'sbatch {execute_experiment}'
batch_nodes: '#SBATCH -N {n_nodes}'
batch_ranks: '#SBATCH -n {n_ranks}'
batch_timeout: '#SBATCH -t {batch_time}:00'
sys_cpus_per_node: 56
sys_gpus_per_node: 0
34 changes: 34 additions & 0 deletions configs/nosite-AWS_PCluster_Hpc6a-zen3-EFA/README.txt
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

AWS x86 ParallelCluster 3.7.2
-----------------------------

This config should work on any AWS x86 ParallelCluster 3.7.2 instance with the
following caveats:

1) All compute instances must be x86 and EFA enabled. Supported instance types
can be found here:

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html#efa-instance-types

2) Any OS supported by ParallelCluster 3.7.2 should work, but only Amazon
Linux 2 has been tested

3) ParallelCluster does not install optimized versions of BLAS/LAPACK. This
config uses the generic versions installed via:

sudo yum install lapack

3) OpenMPI is the only supported MPI flavor. IntelMPI is not yet supported.

OpenMPI is running in verbose mode so the user than confirm that EFA is
being used when running experiments. A line similar to the following in
slurm-NNN.out confirms EFA is being used:

mtl_ofi_component.c:362: mtl:ofi:provider: rdmap0s6-rdm

This debugging output can be silenced by removing the env variable
'OMPI_MCA_mtl_base_verbose=100' from the srun line in variables.yaml.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# 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

compilers:
- compiler:
spec: [email protected]
paths:
cc: /usr/bin/gcc
cxx: /usr/bin/g++
f77: /usr/bin/gfortran
fc: /usr/bin/gfortran
flags: {}
operating_system: alinux2
target: x86_64
modules: []
environment: {}
extra_rpaths: []
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

packages:
tar:
externals:
- spec: [email protected]
prefix: /usr
buildable: false
gmake:
externals:
- spec: [email protected]
prefix: /usr
blas:
externals:
- spec: [email protected]
prefix: /usr
buildable: false
lapack:
externals:
- spec: [email protected]
prefix: /usr
buildable: false
mpi:
externals:
- spec: [email protected]
prefix: /opt/amazon/openmpi
buildable: false
extra_attributes:
ldflags: "-L/opt/amazon/openmpi/lib -lmpi"
17 changes: 17 additions & 0 deletions configs/nosite-AWS_PCluster_Hpc6a-zen3-EFA/spack.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# 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

spack:
packages:
default-compiler:
spack_spec: [email protected]
default-mpi:
spack_spec: [email protected]
compiler-gcc:
spack_spec: [email protected]
lapack:
spack_spec: [email protected]
mpi-gcc:
spack_spec: [email protected]
32 changes: 32 additions & 0 deletions configs/nosite-AWS_PCluster_Hpc6a-zen3-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_PCluster_Hpc7a-zen4-EFA
site:
system: AWS_PCluster_Hpc7a-zen4-EFA
integrator:
vendor: AWS
name: ParallelCluster3.7.2-Hpc7a
processor:
vendor: AMD
name: EPYC-Zen4
ISA: x86_64
uArch: zen4
accelerator:
vendor:
name:
ISA:
uArch:
interconnect:
vendor: AWS
name: EFA
system-tested:
site: AWS
name:
installation-year:
description: aws/hpc7a <https://aws.amazon.com/ec2/instance-types/hpc7a>
top500-system-instances:
-
14 changes: 14 additions & 0 deletions configs/nosite-AWS_PCluster_Hpc6a-zen3-EFA/variables.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# 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

variables:
batch_time: '02:00'
mpi_command: 'srun -N {n_nodes} -n {n_ranks} --mpi=pmix --export=ALL,FI_EFA_USE_DEVICE_RDMA=1,FI_PROVIDER="efa",OMPI_MCA_mtl_base_verbose=100'
batch_submit: 'sbatch {execute_experiment}'
batch_nodes: '#SBATCH -N {n_nodes}'
batch_ranks: '#SBATCH -n {n_ranks}'
batch_timeout: '#SBATCH -t {batch_time}:00'
sys_cpus_per_node: 96
sys_gpus_per_node: 0
13 changes: 13 additions & 0 deletions experiments/laghos/mpi/execute_experiment.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash
# 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

{batch_nodes}
{batch_ranks}
{batch_timeout}

cd {experiment_run_dir}

{command}
39 changes: 39 additions & 0 deletions experiments/laghos/mpi/ramble.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# 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

ramble:
include:
- ./configs/spack.yaml
- ./configs/variables.yaml

config:
deprecated: true
spack_flags:
install: '--add --keep-stage'
concretize: '-U -f'

applications:
laghos:
workloads:
problem:
env_vars:
variables:
n_nodes: ['1', '2', '4', '8', '16', '32', '64', '128']
n_ranks: '{sys_cpus_per_node} * {n_nodes}'
experiments:
laghos_mpi_triplept_{n_nodes}_{n_ranks}:
variables:
spack:
concretized: true
packages:
laghos:
spack_spec: laghos@develop +metis ^zlib
compiler: default-compiler
environments:
laghos:
packages:
- default-mpi
- blas
- laghos
Loading