diff --git a/experiments/amg2023/experiment.py b/experiments/amg2023/experiment.py index 8590a0829..137ad7e0c 100644 --- a/experiments/amg2023/experiment.py +++ b/experiments/amg2023/experiment.py @@ -68,11 +68,21 @@ def compute_applications_section(self): ) # Number of processes in each dimension - num_procs = {"px": 2, "py": 2, "pz": 2} + # num_procs = {"px": 2, "py": 2, "pz": 2} + num_procs = { + "px": [4, 8, 8, 8], + "py": [4, 4, 8, 8], + "pz": [4, 4, 4, 8] + } # Per-process size (in zones) in each dimension - problem_sizes = {"nx": 80, "ny": 80, "nz": 80} - + # problem_sizes = {"nx": 80, "ny": 80, "nz": 80} + problem_sizes = { + "nx": [32, 16, 32, 32], + "ny": [32, 32, 16, 32], + "nz": [16, 32, 32, 16] + } + if self.spec.satisfies("+single_node"): n_resources = 1 # TODO: Check if n_ranks / n_resources_per_node <= 1 diff --git a/experiments/kripke/experiment.py b/experiments/kripke/experiment.py index da44b84d8..e24151795 100644 --- a/experiments/kripke/experiment.py +++ b/experiments/kripke/experiment.py @@ -33,9 +33,26 @@ class Kripke( variant( "version", - default="develop", + default="comm_cali", description="app version", ) + + variant( + "caliper", + default="none", + values=( + "none", + "time", + "mpi", + "cuda", + "topdown-counters-all", + "topdown-counters-toplevel", + "topdown-all", + "topdown-toplevel", + ), + multi=True, + description="caliper mode", + ) def compute_applications_section(self): # TODO: Replace with conflicts clause @@ -61,10 +78,10 @@ def compute_applications_section(self): } # Number of processes in each dimension - num_procs = {"npx": 2, "npy": 2, "npz": 1} + num_procs = {"npx": 2, "npy": 2, "npz": 2} # Number of zones in each dimension, per process - problem_sizes = {"nzx": 64, "nzy": 64, "nzz": 32} + problem_sizes = {"nzx": 16, "nzy": 32, "nzz": 32} for k, v in input_variables.items(): self.add_experiment_variable(k, v, True) @@ -90,6 +107,12 @@ def compute_applications_section(self): for nk, nv in scaled_variables.items(): self.add_experiment_variable(nk, nv, True) elif self.spec.satisfies("+strong"): + # Number of processes in each dimension + num_procs = {"npx": 2, "npy": 2, "npz": 1} + + # Number of zones in each dimension, per process + problem_sizes = {"nzx": 64, "nzy": 64, "nzz": 32} + scaled_variables = self.generate_strong_scaling_params( {tuple(num_procs.keys()): list(num_procs.values())}, int(self.spec.variants["scaling-factor"][0]), diff --git a/legacy/modifiers/caliper-mpi/modifier.py b/legacy/modifiers/caliper-mpi/modifier.py index 09b88e1fe..14338824a 100644 --- a/legacy/modifiers/caliper-mpi/modifier.py +++ b/legacy/modifiers/caliper-mpi/modifier.py @@ -16,9 +16,10 @@ class CaliperMpi(CaliperBase): env_var_modification( "CALI_CONFIG", - "spot(output={},profile.mpi,mpi.message.size,mpi.message.count)".format( - _cali_datafile - ), + #"spot(output={},profile.mpi,mpi.message.size,mpi.message.count)".format( + # _cali_datafile + #), + "spot(output={},profile.mpi,comm.stats)".format(_cali_datafile), method="set", modes=["mpi"], ) diff --git a/modifiers/caliper/modifier.py b/modifiers/caliper/modifier.py index 6cb9153d9..3e399a71d 100644 --- a/modifiers/caliper/modifier.py +++ b/modifiers/caliper/modifier.py @@ -42,7 +42,7 @@ class Caliper(BasicModifier): env_var_modification( "CALI_CONFIG", - "spot(output={}{})".format(_cali_datafile, "${CALI_CONFIG_MODE}"), + "spot(output={},profile.mpi,comm.stats)".format(_cali_datafile, "${CALI_CONFIG_MODE}"), method="set", modes=[_default_mode], ) diff --git a/repo/kripke/package.py b/repo/kripke/package.py index 03e6ac2a1..1a08a171c 100644 --- a/repo/kripke/package.py +++ b/repo/kripke/package.py @@ -11,8 +11,8 @@ class Kripke(CMakePackage, CudaPackage, ROCmPackage): transport proxy/mini app. """ - homepage = "https://computing.llnl.gov/projects/co-design/kripke" - git = "https://github.com/LLNL/Kripke.git" + homepage = "https://github.com/gracenansamba/Kripke.git" + git = "https://github.com/gracenansamba/Kripke.git" tags = ["proxy-app"] @@ -20,7 +20,7 @@ class Kripke(CMakePackage, CudaPackage, ROCmPackage): license("BSD-3-Clause") - version("develop", branch="develop", submodules=False) + version("comm_cali", branch="comm_cali", submodules=False, git="https://github.com/gracenansamba/Kripke.git") version( "1.2.7.0", submodules=False, commit="db920c1f5e1dcbb9e949d120e7d86efcdb777635" ) @@ -52,12 +52,11 @@ class Kripke(CMakePackage, CudaPackage, ROCmPackage): variant("mpi", default=True, description="Build with MPI.") variant("openmp", default=False, description="Build with OpenMP enabled.") variant("caliper", default=False, description="Build with Caliper support enabled.") - + depends_on('chai@2024.02', when='@develop') - - depends_on("mpi", when="+mpi") + depends_on('chai@2024.02', when='@comm_cali') + depends_on("caliper@master", when="+caliper") depends_on("chai+mpi", when="+mpi") - depends_on("caliper", when="+caliper") depends_on("adiak@0.4:", when="+caliper") conflicts("^blt@:0.3.6", when="+rocm") @@ -107,6 +106,7 @@ def cmake_args(self): "-DRAJA_DIR=%s" % self.spec["raja"].prefix, "-Dchai_DIR=%s" % self.spec["chai"].prefix, "-DENABLE_CHAI=ON", + "-DMPI_CXX_LINK_FLAGS='%s'" % self.spec['mpi'].libs.ld_flags, ] )