Skip to content

Commit

Permalink
Merge branch 'develop' into feature/experiment-scaling
Browse files Browse the repository at this point in the history
  • Loading branch information
pearce8 authored Sep 27, 2024
2 parents 3faccd8 + af65e6f commit cc89e6c
Show file tree
Hide file tree
Showing 8 changed files with 136 additions and 6 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
license: ${{ steps.filter.outputs.license }}

steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # @v2
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # @v2
if: ${{ github.event_name == 'push' }}
with:
fetch-depth: 0
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938

- name: Setup Python
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/license.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ jobs:
verify-license:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938

- name: Set up Python 3.11
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3
Expand Down
14 changes: 12 additions & 2 deletions .github/workflows/run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Benchpark
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938

- name: Add needed Python libs
run: |
Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Benchpark
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938

- name: Add needed Python libs
run: |
Expand Down Expand Up @@ -235,6 +235,16 @@ jobs:
--disable-logger \
workspace setup --dry-run
- name: Dry run phloem/mpi-only on nosite-x86_64 with allocation modifier
run: |
./bin/benchpark setup phloem/mpi-only nosite-x86_64 workspace/
. workspace/setup.sh
ramble \
--workspace-dir workspace/phloem/mpi-only/nosite-x86_64/workspace \
--disable-progress-bar \
--disable-logger \
workspace setup --dry-run
- name: Dry run genesis/openmp with allocation modifier on Fugaku
run: |
./bin/benchpark setup genesis/openmp RCCS-Fugaku-Fujitsu-A64FX-TofuD workspace/
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/style.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938

- name: Set up Python 3.11
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3
Expand Down
58 changes: 58 additions & 0 deletions experiments/phloem/mpi-only/ramble.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# 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/software.yaml
- ./configs/variables.yaml
- ./configs/modifier.yaml
config:
deprecated: true
spack_flags:
install: '--add --keep-stage'
concretize: '-U -f'

modifiers:
- name: allocation

applications:
phloem:
workloads:
sqmr:
variables:
experiments:
phloem_sqmr_strong_{n_ranks}:
variants:
package_manager: spack
variables:
n_ranks: '{num_cores}*{num_nbors}+{num_cores}'
num_cores: ['1','2','4']
num_nbors: '{num_cores}'
mpiBench:
experiments:
phloem_mpiBench_strong_{n_ranks}:
variants:
package_manager: spack
variables:
n_ranks: '2'

mpiGraph:
experiments:
phloem_mpiGraph_strong_{n_ranks}:
variants:
package_manager: spack
variables:
n_ranks: '2'
software:
packages:
phloem:
pkg_spec: phloem@master +mpi
compiler: default-compiler
environments:
phloem:
packages:
- default-mpi
- phloem
- '{modifier_package_name}'
34 changes: 34 additions & 0 deletions repo/phloem/application.py
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

import sys

from ramble.appkit import *


class Phloem(ExecutableApplication):
"""Phloem benchmark"""
name = "Phloem"

executable('p1', 'sqmr --num_cores={num_cores} --num_nbors={num_nbors}', use_mpi=True)
executable('p2', 'mpiBench', use_mpi=True)
executable('p3', 'mpiGraph', use_mpi=True)
workload('sqmr', executables=['p1'])
workload('mpiBench', executables=['p2'])
workload('mpiGraph', executables=['p3'])

workload_variable('num_cores', default='1',
description='Number of MPI ranks on the core node, correlates to number of cores on one compute node.',
workloads=['sqmr'])

workload_variable('num_nbors', default='1',
description='Number of distinct neighbors to each rank on the core node.',
workloads=['sqmr'])
#TODO: Figure out FOMs
figure_of_merit('TBD',
log_file='{experiment_run_dir}/{experiment_name}.out',
fom_regex=r'.*',
group_name='fom', units='usec')
success_criteria('pass', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out')
28 changes: 28 additions & 0 deletions repo/phloem/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# 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

from spack.package import *

class Phloem(MakefilePackage):
tags = []

url = "https://github.com/LLNL/phloem/archive/refs/tags/v1.4.5.tar.gz"
git = "https://github.com/LLNL/phloem"

maintainers("knox10")

version("master", branch="master")

variant("mpi", default=False, description="Build with MPI support")

depends_on("mpi", when="+mpi")

def install(self, spec, prefix):
mkdir(prefix.bin)
mkdir(prefix.doc)
install("mpigraph-1.6/mpiBench/mpiBench", prefix.bin)
install("sqmr-1.1.0/sqmr", prefix.bin)
install("mpigraph-1.6/mpiGraph/mpiGraph", prefix.bin)
install("README", prefix.doc)

0 comments on commit cc89e6c

Please sign in to comment.