Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
9f18c06
updated source to fork
Jun 10, 2024
3918228
edit spack spec version
Jun 10, 2024
51c7bf9
changed package to point to my fork
Jun 14, 2024
b3637d9
removed spack-spec version from develop and maintained my branch version
Jun 14, 2024
882b5d5
use versions in grace fork, comm_cali branch
Jun 14, 2024
52f9cd7
updated source to fork
Jun 10, 2024
aebcb44
grace, edited spack spec version
Jun 17, 2024
ceb5799
use versions in grace fork, comm_cali branch
Jun 14, 2024
59e3cb0
made changed to hypre
Jun 19, 2024
951c375
Resolved merge conflict in ramble.yaml
Jun 19, 2024
b0db0d4
edited hypre version
Jun 20, 2024
8175e90
adjusting hypre versions
Jun 20, 2024
79e4b75
edited hypre version in AMG
Jun 20, 2024
1924a7e
adding hypre version
Jun 20, 2024
8ce067a
merge new kripke changes
Jun 20, 2024
f2a3085
Merge remote-tracking branch 'origin/develop' into kripke_comm_cali
Jun 25, 2024
2f317ab
mfem pointing to fork
Jun 26, 2024
a560c8b
mfem directory for Laghos dependence
Jun 27, 2024
f22b9dc
adding mfem to Laghos
Jun 27, 2024
bae2fae
changed to mfem package
Jun 28, 2024
9b1131b
edited requires variables
Jul 5, 2024
ca65725
added version number
Jul 5, 2024
401fd26
mfem version update
Jul 8, 2024
680cccb
adjusting mfem version
Jul 10, 2024
39cc3ac
updated mfem version
Jul 11, 2024
a3e77f5
changed nodes from 96 to 26
Jul 11, 2024
6ee6f48
Merge remote-tracking branch 'origin/develop' into laghos_comm_cali
Jul 24, 2024
5846907
changes to mfem version
Aug 1, 2024
76d9c47
Enable caliper in mfem spack
Aug 8, 2024
ecf499f
chages to include mfem
Aug 8, 2024
471d296
Merge branch 'laghos_comm_cali' of https://github.com/LLNL/benchpark …
Aug 8, 2024
20e479f
Merge remote-tracking branch 'origin/develop' into laghos_comm_cali
Aug 13, 2024
a75323a
Parameterize laghos input variables
Aug 14, 2024
f17c109
Fix package path variable
Aug 14, 2024
3d6ac68
revert config on Magma to 36
Aug 14, 2024
608f5a7
Merge branch 'laghos_comm_cali' of github.com:LLNL/benchpark into lag…
Aug 15, 2024
e2faf05
Fix magma sys_cores_per_node
Aug 15, 2024
3284036
Remove kripke, amg2023 changes
Aug 15, 2024
690f2a8
Merge branch 'laghos_comm_cali' of https://github.com/LLNL/benchpark …
Aug 15, 2024
867d9f9
Changes to run on tioga
Aug 17, 2024
b2fe687
get new changes from caliper modifier
Sep 6, 2024
2afcbc9
added new caliper patterns
Sep 20, 2024
612c1b1
Merge branch 'laghos_comm_cali' of github.com:LLNL/benchpark into lag…
Sep 20, 2024
6dfa885
added array of numProc and problemSize
Jan 13, 2025
8921e31
made an array with ints
Jan 16, 2025
2011551
added comm stats
Feb 4, 2025
afd0333
adjusted comm stats
Feb 4, 2025
c41a2fc
merged changes
Feb 7, 2025
cfa8c31
added caliper variant for version
Feb 7, 2025
ed867fb
Fixes
Feb 11, 2025
c51251d
merge with develop
Feb 13, 2025
2360c61
Fix lapack blas handles
Feb 13, 2025
e2cf1a9
Merge branch 'develop' into Laghos_Comm_dynamic
pearce8 Feb 19, 2025
27e915a
Merge branch 'develop' into Laghos_Comm_dynamic
pearce8 Feb 19, 2025
e83f877
Fix errors, merge with develop
Apr 4, 2025
481118a
revert redundant changes
Apr 4, 2025
ebc4d2c
Fix errors
Apr 4, 2025
3192d1a
Fix errors
Apr 4, 2025
98d8f24
caliper stats
Apr 15, 2025
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
57 changes: 26 additions & 31 deletions experiments/laghos/experiment.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: Apache-2.0

from benchpark.directives import variant, maintainers
from benchpark.directives import variant
from benchpark.experiment import Experiment
from benchpark.scaling import StrongScaling
from benchpark.caliper import Caliper
Expand Down Expand Up @@ -31,48 +31,43 @@ class Laghos(
description="app version",
)

maintainers("wdhawkins")

def compute_applications_section(self):
if self.spec.satisfies("+cuda") or self.spec.satisfies("+rocm"):
device = "n_gpus"
n_devices_per_node = "{sys_gpus_per_node}"
else:
device = "n_ranks"
n_devices_per_node = "{sys_cores_per_node}"
self.add_experiment_variable("n_threads_per_proc", 1)

# The total number of resources for this experiment is calculated as:
# n_devices = n_devices_per_node * scaling_factor
# Scaling (strong) is achieved by scaling the scaling_factor variable
# For mpi-only builds:
# n_devices_per_node = sys_cores_per_node, by default
# n_devices = n_ranks
# For gpu builds:
# n_devices_per_node = sys_gpus_per_node, by default
# n_devices = n_gpus
scaling_factor = {"scaling_factor": 1}

# Number of initial nodes
n_resources = {"n_nodes": 1}
device = "n_ranks"
if self.spec.satisfies("+cuda"):
self.add_experiment_variable("device", "cuda", True)
elif self.spec.satisfies("+rocm"):
self.add_experiment_variable("device", "hip", True)

if self.spec.satisfies("+single_node"):
for pk, pv in scaling_factor.items():
self.add_experiment_variable(pk, pv)
elif self.spec.satisfies("+strong"):
if self.spec.satisfies("+cuda") or self.spec.satisfies("+rocm"):
device = "n_gpus"
if self.spec.satisfies("+strong"):
scaled_variables = self.generate_strong_scaling_params(
{tuple(scaling_factor.keys()): list(scaling_factor.values())},
{tuple(n_resources.keys()): list(n_resources.values())},
int(self.spec.variants["scaling-factor"][0]),
int(self.spec.variants["scaling-iterations"][0]),
)
for pk, pv in scaled_variables.items():
self.add_experiment_variable(pk, pv)

self.add_experiment_variable(
device, f"{n_devices_per_node} * {{scaling_factor}}", True
)
self.add_experiment_variable(pk, pv, True)
num_resources = scaled_variables["n_nodes"]
if self.spec.satisfies("+cuda") or self.spec.satisfies("+rocm"):
self.add_experiment_variable(device, num_resources, True)
else:
self.add_experiment_variable(
device, "{sys_cores_per_node} * {n_nodes}", True
)
else:
for pk, pv in n_resources.items():
if self.spec.satisfies("+cuda") or self.spec.satisfies("+rocm"):
self.add_experiment_variable(device, pv, True)
else:
for pk, pv in n_resources.items():
self.add_experiment_variable(pk, pv, True)
self.add_experiment_variable(
device, "{sys_cores_per_node} * {n_nodes}", True
)

def compute_package_section(self):
# get package version
Expand Down
3 changes: 2 additions & 1 deletion modifiers/caliper/modifier.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,14 @@ class Caliper(BasicModifier):

env_var_modification(
"CALI_CONFIG",
'spot(output={}{}),metadata(file={}),metadata(file=/etc/node_info.json,keys="host.name,host.cluster,host.os")'.format(
'spot(output={}{},profile.mpi,comm.stats),metadata(file={}),metadata(file=/etc/node_info.json,keys="host.name,host.cluster,host.os")'.format(
_cali_datafile, "${CALI_CONFIG_MODE}", _caliper_metadata_file
),
method="set",
modes=[_default_mode],
)


add_mode(
mode_name="mpi",
mode_option="profile.mpi",
Expand Down
5 changes: 2 additions & 3 deletions repo/laghos/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class Laghos(MakefilePackage, CudaPackage, ROCmPackage):

tags = ["proxy-app", "ecp-proxy-app"]

homepage = "https://github.com/CEED/Laghos"
homepage = "https://github.com/wdhawkins/laghos"
git = "https://github.com/wdhawkins/Laghos.git"

maintainers("wdhawkins")
Expand All @@ -41,8 +41,7 @@ class Laghos(MakefilePackage, CudaPackage, ROCmPackage):
depends_on("[email protected]", when="@2.0")
# Recommended mfem version for laghos v1.x is: ^[email protected]
depends_on("[email protected]", when="@1.0,1.1")
depends_on("[email protected]", when="@develop")
depends_on("mfem+caliper", when="+caliper")
depends_on("[email protected]_comm_cali+caliper", when="+caliper")
depends_on("mfem cxxstd=14")

requires("^[virtuals=zlib-api] zlib")
Expand Down
2 changes: 2 additions & 0 deletions repo/mfem/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ class Mfem(BuiltinMfem):
# depends_on("rocblas", when="+rocm")
# depends_on("rocsolver", when="+rocm")

version("4.4_comm_cali", branch="comm_cali", submodules=False, git="https://github.com/gracenansamba/mfem.git")

requires("+rocm", when="^rocblas")
requires("+rocm", when="^rocsolver")
requires("+caliper", when="^hypre+caliper")
Expand Down
Loading