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

Adding Gpcnet benchmarks #337

Open
wants to merge 39 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
47a22d1
added helloworld
Jun 20, 2024
461fc2a
licence
pearce8 Jul 9, 2024
1caa88e
license
pearce8 Jul 9, 2024
f8689d8
Merge branch 'develop' of github.com:LLNL/benchpark into hw
Jul 11, 2024
9b6c7e2
added openmp implementation of quicksilver benchmark to benchpark
Jul 11, 2024
529f71e
removed unnecessary files
Jul 11, 2024
73be27a
removed redundant files
Jul 11, 2024
a3a4fdd
removed extra files
Jul 11, 2024
da16854
removed another redundant file
Jul 11, 2024
20bf6be
spellcheck
pearce8 Jul 13, 2024
9700878
new line
pearce8 Jul 13, 2024
a40c4e8
adding tags
pearce8 Jul 13, 2024
6e0641f
add dryrun
pearce8 Jul 13, 2024
87c0d60
some new benchmarks
Jul 22, 2024
a396eb8
some benchmarks to add
Jul 22, 2024
f8f8e67
Merge branch 'hw' of github.com:august-knox/benchpark into hw
Jul 22, 2024
647626f
Merge commit 'a1cd761c41fe738ae7bd4ccb95b5b0daa9381026' of github.com…
Jul 26, 2024
0a4ae80
Merge commit 'abbedb9334687e3cc3610bcafc71f94e84a3f2b9' of github.com…
Jul 29, 2024
fed3fd8
strong and weak scaling for quicksilver
Aug 5, 2024
118a025
most recent progress. Quicksilver weak/strong scaling implemented
Aug 6, 2024
1a28c1e
progress on strong and weak scaling for IOR
Aug 9, 2024
b8fa4f2
cleaning up unnecessary mpi version specs
Aug 13, 2024
e5ec2b2
updated ior to mpi-only and made quicksilver-mpi variant false
Aug 14, 2024
24d1216
fixed line in qs
Aug 14, 2024
aa68b3f
fixed cuda also defaulting to true
Aug 14, 2024
d1409d0
initial commit of gpcnet
Aug 15, 2024
115a6bd
Delete repo/remhos directory
august-knox Aug 19, 2024
9884cb7
Delete repo/ior directory
august-knox Aug 19, 2024
b9fd194
Delete repo/quicksilver directory
august-knox Aug 19, 2024
fd72882
Delete experiments/ior/mpi-only directory
august-knox Aug 19, 2024
c5ae5ce
Delete experiments/quicksilver/openmp directory
august-knox Aug 19, 2024
fe7f4a8
Delete experiments/remhos/openmp directory
august-knox Aug 19, 2024
f21f9b2
cleaning up gpcnet code
Aug 19, 2024
a3819bd
Merge branch 'gpcnet' of github.com:august-knox/benchpark into gpcnet
Aug 19, 2024
ae7069c
Merge branch 'develop' into gpcnet
pearce8 Sep 27, 2024
617993f
license
pearce8 Sep 27, 2024
fda1ea6
Adding dry run on dynamic tioga
pearce8 Sep 27, 2024
5fb7ba8
Merge branch 'develop' into gpcnet
pearce8 Sep 27, 2024
daff4da
Moving dry run into its own directory
pearce8 Sep 30, 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
21 changes: 21 additions & 0 deletions .github/workflows/run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,27 @@ jobs:
--disable-progress-bar \
--disable-logger \
workspace setup --dry-run

- name: Dry run gpcnet/mpi-only on nosite-x86_64 with allocation modifier
run: |
./bin/benchpark setup gpcnet/mpi-only nosite-x86_64 workspace/
. workspace/setup.sh
ramble \
--workspace-dir workspace/gpcnet/mpi-only/nosite-x86_64/workspace \
--disable-progress-bar \
--disable-logger \
workspace setup --dry-run

- name: Dry run gpcnet/mpi-only on dynamic Tioga with allocation modifier
run: |
./bin/benchpark system init --dest=tioga-system-gpcnet tioga rocm=551 compiler=cce ~gtl
./bin/benchpark setup gpcnet/mpi-only-gpcnet ./tioga-system workspace/
. workspace/setup.sh
ramble \
--workspace-dir workspace/gpcnet/mpi-only-gpcnet/Tioga-d34a754/workspace \
--disable-progress-bar \
--disable-logger \
workspace setup --dry-run

- name: Dry run phloem/mpi-only on nosite-x86_64 with allocation modifier
run: |
Expand Down
54 changes: 54 additions & 0 deletions experiments/gpcnet/mpi-only/ramble.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# 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:
gpcnet:
workloads:
network_test:
variables:
#only running on half of available cores per node because of mpi error on ruby when running with more than half
n_ranks: '{n_nodes}*{sys_cores_per_node}//2'
experiments:
gpcnet_network_test_strong_{n_nodes}:
variants:
package_manager: spack
variables:
#must be run on at least 2 nodes
n_nodes: ['2','4']
network_load_test:
variables:
n_ranks: '{n_nodes}*{sys_cores_per_node}//2'
experiments:
gpcnet_network_load_test_strong_{n_nodes}:
variants:
package_manager: spack
variables:
#must be run on at least 10 nodes
n_nodes: '10'
software:
packages:
gpcnet:
pkg_spec: gpcnet@master +mpi
compiler: default-compiler
environments:
gpcnet:
packages:
- default-mpi
- gpcnet
- '{modifier_package_name}'
24 changes: 24 additions & 0 deletions repo/gpcnet/application.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# 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 Gpcnet(ExecutableApplication):
"""GPCNet benchmark"""
name = "GPCNet"

executable('p1', 'network_test', use_mpi=True)
executable('p2', 'network_load_test', use_mpi=True)
workload('network_test', executables=['p1'])
workload('network_load_test', executables=['p2'])

figure_of_merit('TBD',
log_file='{experiment_run_dir}/{experiment_name}.out',
fom_regex=r'.*',
group_name='fom', units='MiB/sec')
success_criteria('pass', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out')
41 changes: 41 additions & 0 deletions repo/gpcnet/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# 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 Gpcnet(MakefilePackage):


tags = ["proxy-app"]

homepage = "https://codesign.llnl.gov/quicksilver.php"
url = "https://github.com/netbench/GPCNET/archive/refs/tags/1.2.tar.gz"
git = "https://github.com/netbench/GPCNET"

maintainers("knox10")

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

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

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

@property
def build_targets(self):
targets = ["all"]
return targets

def edit(self, spec, prefix):
makefile = FileFilter("Makefile")
makefile.filter('CC = cc', "CC = {0}".format(spec["mpi"].mpicc))


def install(self, spec, prefix):
mkdir(prefix.bin)
mkdir(prefix.doc)
install("network_test", prefix.bin)
install("network_load_test", prefix.bin)
install("LICENSE", prefix.doc)
install("README.md", prefix.doc)
Loading