From 64eb0c8edf2a2893e340a05de9d725384df51787 Mon Sep 17 00:00:00 2001 From: nmannall Date: Fri, 4 Oct 2024 16:18:53 +0100 Subject: [PATCH 01/19] Add ARCHER2 processor info to reframe config --- reframe_tests/configuration/archer2_settings.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/reframe_tests/configuration/archer2_settings.py b/reframe_tests/configuration/archer2_settings.py index f7ed4b1d..cf0d9fe1 100644 --- a/reframe_tests/configuration/archer2_settings.py +++ b/reframe_tests/configuration/archer2_settings.py @@ -32,6 +32,11 @@ site_configuration = { ], "environs": ["PrgEnv-gnu", "PrgEnv-cray", "PrgEnv-aocc"], "max_jobs": 16, + "processor": { + "num_cpus": 128, + "num_cpus_per_socket": 64, + "num_sockets": 2, + }, }, ], } From 37788d514b3cfcfc41073c311d595763e38f72d3 Mon Sep 17 00:00:00 2001 From: nmannall Date: Fri, 4 Oct 2024 16:21:37 +0100 Subject: [PATCH 02/19] Update output folder of process_perflog script --- reframe_tests/utilities/process_perflog.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/reframe_tests/utilities/process_perflog.py b/reframe_tests/utilities/process_perflog.py index c4b1f77b..e347aaf6 100644 --- a/reframe_tests/utilities/process_perflog.py +++ b/reframe_tests/utilities/process_perflog.py @@ -15,7 +15,13 @@ def get_parameter_names(item): return re.findall(f"\s%(?P\S+)=\S+", item) -columns_to_keep = ["num_tasks", "num_cpus_per_task", "num_tasks_per_node", "run_time_value", "simulation_time_value"] +columns_to_keep = [ + "num_tasks", + "num_cpus_per_task", + "num_tasks_per_node", + "run_time_value", + "simulation_time_value", +] if __name__ == "__main__": # Parse command line arguments @@ -40,13 +46,15 @@ if __name__ == "__main__": columns_to_keep.sort() perflog = perflog[columns_to_keep].sort_values(columns_to_keep) perflog["simulation_time_value"] = perflog["simulation_time_value"].apply(round, args=[2]) - perflog = perflog.rename(columns={"simulation_time_value": "simulation_time", "run_time_value": "run_time"}) + perflog = perflog.rename( + columns={"simulation_time_value": "simulation_time", "run_time_value": "run_time"} + ) # Save output to file if args.output: outputfile = args.output else: stem = f"{Path(args.inputfile).stem}_{datetime.today().strftime('%Y-%m-%d_%H-%M-%S')}" - outputfile = Path("benchmarks", stem).with_suffix(".csv") + outputfile = Path("benchmark_results", stem).with_suffix(".csv") perflog.to_csv(outputfile, index=False) print(f"Saved benchmark: '{outputfile}'") From 3ddc9c8c1286ffebc23d3584236756db380bed42 Mon Sep 17 00:00:00 2001 From: nmannall Date: Fri, 4 Oct 2024 16:27:35 +0100 Subject: [PATCH 03/19] Rename benchmark input files --- .../benchmark_tests/reframe_benchmarks.py | 16 +++++++++++++++- ...chmark_model_0.1.in => benchmark_model_10.in} | 0 ...hmark_model_0.15.in => benchmark_model_15.in} | 0 ...chmark_model_0.2.in => benchmark_model_20.in} | 0 ...chmark_model_0.3.in => benchmark_model_30.in} | 0 ...chmark_model_0.4.in => benchmark_model_40.in} | 0 ...chmark_model_0.5.in => benchmark_model_50.in} | 0 ...chmark_model_0.6.in => benchmark_model_60.in} | 0 ...chmark_model_0.7.in => benchmark_model_70.in} | 0 ...chmark_model_0.8.in => benchmark_model_80.in} | 0 10 files changed, 15 insertions(+), 1 deletion(-) rename reframe_tests/benchmark_tests/src/{benchmark_model_0.1.in => benchmark_model_10.in} (100%) rename reframe_tests/benchmark_tests/src/{benchmark_model_0.15.in => benchmark_model_15.in} (100%) rename reframe_tests/benchmark_tests/src/{benchmark_model_0.2.in => benchmark_model_20.in} (100%) rename reframe_tests/benchmark_tests/src/{benchmark_model_0.3.in => benchmark_model_30.in} (100%) rename reframe_tests/benchmark_tests/src/{benchmark_model_0.4.in => benchmark_model_40.in} (100%) rename reframe_tests/benchmark_tests/src/{benchmark_model_0.5.in => benchmark_model_50.in} (100%) rename reframe_tests/benchmark_tests/src/{benchmark_model_0.6.in => benchmark_model_60.in} (100%) rename reframe_tests/benchmark_tests/src/{benchmark_model_0.7.in => benchmark_model_70.in} (100%) rename reframe_tests/benchmark_tests/src/{benchmark_model_0.8.in => benchmark_model_80.in} (100%) diff --git a/reframe_tests/benchmark_tests/reframe_benchmarks.py b/reframe_tests/benchmark_tests/reframe_benchmarks.py index ea4b8aae..c6952382 100644 --- a/reframe_tests/benchmark_tests/reframe_benchmarks.py +++ b/reframe_tests/benchmark_tests/reframe_benchmarks.py @@ -16,9 +16,23 @@ class SingleNodeBenchmark(GprMaxRegressionTest): tags = {"benchmark", "single node", "openmp"} omp_threads = parameter([1, 2, 4, 8, 16, 32, 64, 128]) - domain = parameter([0.1, 0.15, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]) + # domain = parameter([0.1, 0.15, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]) cpu_freq = parameter([2000000, 2250000]) time_limit = "8h" + sourcesdir = "src" + model = parameter( + [ + "benchmark_model_10", + "benchmark_model_15", + "benchmark_model_20", + "benchmark_model_30", + "benchmark_model_40", + "benchmark_model_50", + "benchmark_model_60", + "benchmark_model_70", + "benchmark_model_80", + ] + ) @run_after("init") def setup_env_vars(self): diff --git a/reframe_tests/benchmark_tests/src/benchmark_model_0.1.in b/reframe_tests/benchmark_tests/src/benchmark_model_10.in similarity index 100% rename from reframe_tests/benchmark_tests/src/benchmark_model_0.1.in rename to reframe_tests/benchmark_tests/src/benchmark_model_10.in diff --git a/reframe_tests/benchmark_tests/src/benchmark_model_0.15.in b/reframe_tests/benchmark_tests/src/benchmark_model_15.in similarity index 100% rename from reframe_tests/benchmark_tests/src/benchmark_model_0.15.in rename to reframe_tests/benchmark_tests/src/benchmark_model_15.in diff --git a/reframe_tests/benchmark_tests/src/benchmark_model_0.2.in b/reframe_tests/benchmark_tests/src/benchmark_model_20.in similarity index 100% rename from reframe_tests/benchmark_tests/src/benchmark_model_0.2.in rename to reframe_tests/benchmark_tests/src/benchmark_model_20.in diff --git a/reframe_tests/benchmark_tests/src/benchmark_model_0.3.in b/reframe_tests/benchmark_tests/src/benchmark_model_30.in similarity index 100% rename from reframe_tests/benchmark_tests/src/benchmark_model_0.3.in rename to reframe_tests/benchmark_tests/src/benchmark_model_30.in diff --git a/reframe_tests/benchmark_tests/src/benchmark_model_0.4.in b/reframe_tests/benchmark_tests/src/benchmark_model_40.in similarity index 100% rename from reframe_tests/benchmark_tests/src/benchmark_model_0.4.in rename to reframe_tests/benchmark_tests/src/benchmark_model_40.in diff --git a/reframe_tests/benchmark_tests/src/benchmark_model_0.5.in b/reframe_tests/benchmark_tests/src/benchmark_model_50.in similarity index 100% rename from reframe_tests/benchmark_tests/src/benchmark_model_0.5.in rename to reframe_tests/benchmark_tests/src/benchmark_model_50.in diff --git a/reframe_tests/benchmark_tests/src/benchmark_model_0.6.in b/reframe_tests/benchmark_tests/src/benchmark_model_60.in similarity index 100% rename from reframe_tests/benchmark_tests/src/benchmark_model_0.6.in rename to reframe_tests/benchmark_tests/src/benchmark_model_60.in diff --git a/reframe_tests/benchmark_tests/src/benchmark_model_0.7.in b/reframe_tests/benchmark_tests/src/benchmark_model_70.in similarity index 100% rename from reframe_tests/benchmark_tests/src/benchmark_model_0.7.in rename to reframe_tests/benchmark_tests/src/benchmark_model_70.in diff --git a/reframe_tests/benchmark_tests/src/benchmark_model_0.8.in b/reframe_tests/benchmark_tests/src/benchmark_model_80.in similarity index 100% rename from reframe_tests/benchmark_tests/src/benchmark_model_0.8.in rename to reframe_tests/benchmark_tests/src/benchmark_model_80.in From ac91645ebcc4bc220b34b2a80546b9d363554306 Mon Sep 17 00:00:00 2001 From: nmannall Date: Fri, 4 Oct 2024 16:31:41 +0100 Subject: [PATCH 04/19] Add single and multinode MPI benchmark tests --- .../benchmark_tests/reframe_benchmarks.py | 138 +++++++++++++++++- .../MPIStrongScalingBenchmark_1.h5 | Bin 0 -> 49648 bytes .../MPIStrongScalingBenchmark_2.h5 | Bin 0 -> 49648 bytes .../MPIWeakScalingBenchmark.h5 | Bin 0 -> 49648 bytes .../SingleNodeBenchmark_91b61150.h5 | Bin 0 -> 49648 bytes .../SingleNodeBenchmark_c016fbe9.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_06879fd2.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_1732e646.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_4c51e431.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_4dcc097d.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_506b9ee4.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_813d8fe2.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_84280a4a.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_87b5c3c8.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_a1304dd9.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_bc9340a0.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_c53fa676.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_cbc84981.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_dae3076c.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_deb8b755.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_eff6d396.h5 | Bin 0 -> 49648 bytes .../SingleNodeMPIBenchmark_fad85e0d.h5 | Bin 0 -> 49648 bytes 22 files changed, 130 insertions(+), 8 deletions(-) create mode 100644 reframe_tests/regression_checks/MPIStrongScalingBenchmark_1.h5 create mode 100644 reframe_tests/regression_checks/MPIStrongScalingBenchmark_2.h5 create mode 100644 reframe_tests/regression_checks/MPIWeakScalingBenchmark.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeBenchmark_91b61150.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeBenchmark_c016fbe9.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_06879fd2.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_1732e646.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_4c51e431.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_4dcc097d.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_506b9ee4.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_813d8fe2.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_84280a4a.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_87b5c3c8.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_a1304dd9.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_bc9340a0.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_c53fa676.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_cbc84981.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_dae3076c.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_deb8b755.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_eff6d396.h5 create mode 100644 reframe_tests/regression_checks/SingleNodeMPIBenchmark_fad85e0d.h5 diff --git a/reframe_tests/benchmark_tests/reframe_benchmarks.py b/reframe_tests/benchmark_tests/reframe_benchmarks.py index c6952382..f1b98acc 100644 --- a/reframe_tests/benchmark_tests/reframe_benchmarks.py +++ b/reframe_tests/benchmark_tests/reframe_benchmarks.py @@ -1,7 +1,12 @@ -import reframe as rfm +import os +from pathlib import Path + +import numpy as np +from primePy import primes +from reframe import simple_test from reframe.core.builtins import parameter, run_after -from reframe_tests.tests.base_tests import GprMaxRegressionTest +from reframe_tests.tests.base_tests import GprMaxMPIRegressionTest, GprMaxRegressionTest """ReFrame tests for performance benchmarking @@ -11,7 +16,22 @@ from reframe_tests.tests.base_tests import GprMaxRegressionTest """ -@rfm.simple_test +def calculate_mpi_decomposition(number: int): + factors: list[int] = primes.factors(number) + if len(factors) < 3: + factors += [1] * (3 - len(factors)) + elif len(factors) > 3: + base = factors[-3:] + factors = factors[:-3] + for factor in reversed(factors): # Use the largest factors first + min_index = np.argmin(base) + base[min_index] *= factor + factors = base + + return sorted(factors) + + +@simple_test class SingleNodeBenchmark(GprMaxRegressionTest): tags = {"benchmark", "single node", "openmp"} @@ -40,8 +60,110 @@ class SingleNodeBenchmark(GprMaxRegressionTest): self.env_vars["SLURM_CPU_FREQ_REQ"] = self.cpu_freq super().setup_env_vars() - @run_after("init") - def set_model_file(self): - input_file = f"benchmark_model_{self.domain}.in" - self.executable_opts = [input_file] - self.keep_files = [input_file] + +@simple_test +class SingleNodeMPIBenchmark(GprMaxRegressionTest): + tags = {"benchmark", "mpi", "openmp", "single node"} + mpi_tasks = parameter([1, 2, 4, 8, 16, 32, 64, 128, 256]) + # domain = parameter([0.1, 0.15, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]) + cpu_freq = parameter([2000000, 2250000]) + model = parameter(["benchmark_model_40"]) + sourcesdir = "src" + time_limit = "1h" + + @run_after("setup") + def setup_env_vars(self): + cpus_per_node = self.current_partition.processor.num_cpus + self.skip_if( + cpus_per_node < self.mpi_tasks, + f"Insufficient CPUs per node ({cpus_per_node}) to run test with at least {self.mpi_tasks} processors", + ) + + self.num_cpus_per_task = cpus_per_node // self.mpi_tasks + self.num_tasks = cpus_per_node // self.num_cpus_per_task + self.num_tasks_per_node = self.num_tasks + self.extra_executable_opts = [ + "--mpi", + *map(str, calculate_mpi_decomposition(self.num_tasks)), + ] + + self.env_vars["SLURM_CPU_FREQ_REQ"] = self.cpu_freq + super().setup_env_vars() + + +@simple_test +class MPIStrongScalingBenchmark(GprMaxRegressionTest): + tags = {"benchmark", "mpi", "openmp"} + + num_nodes = parameter([1, 2, 4, 8, 16]) + # domain = parameter([0.1, 0.15, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]) + cpu_freq = parameter([2000000, 2250000]) + time_limit = "8h" + sourcesdir = "src" + model = parameter(["benchmark_model_40"]) + + # serial_dependency = SingleNodeBenchmark + # mpi_layout = parameter([[1, 1, 1]]) # parameter([[2, 2, 2], [4, 4, 4], [6, 6, 6]]) + + def build_reference_filepath(self, suffix: str = "") -> str: + filename = ( + f"MPIWeakScalingBenchmark_{suffix}" if len(suffix) > 0 else "MPIWeakScalingBenchmark" + ) + reference_file = Path("regression_checks", filename).with_suffix(".h5") + return os.path.abspath(reference_file) + + @run_after("setup") + def setup_env_vars(self): + cpus_per_node = self.current_partition.processor.num_cpus + + self.num_cpus_per_task = 16 + self.num_tasks_per_node = cpus_per_node // self.num_cpus_per_task + self.num_tasks = self.num_tasks_per_node * self.num_nodes + self.extra_executable_opts = [ + "--mpi", + *map(str, calculate_mpi_decomposition(self.num_tasks)), + ] + + self.env_vars["SLURM_CPU_FREQ_REQ"] = self.cpu_freq + super().setup_env_vars() + + +@simple_test +class MPIWeakScalingBenchmark(GprMaxRegressionTest): + tags = {"benchmark", "mpi", "openmp"} + + num_nodes = parameter([1, 2, 4, 8, 16]) + # domain = parameter([0.1, 0.15, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]) + cpu_freq = parameter([2000000, 2250000]) + time_limit = "8h" + sourcesdir = "src" + model = parameter(["benchmark_model_40"]) + + def build_reference_filepath(self, suffix: str = "") -> str: + filename = ( + f"MPIStrongScalingBenchmark_{suffix}_{self.num_nodes}" + if len(suffix) > 0 + else f"MPIStrongScalingBenchmark_{self.num_nodes}" + ) + reference_file = Path("regression_checks", filename).with_suffix(".h5") + return os.path.abspath(reference_file) + + @run_after("setup") + def setup_env_vars(self): + cpus_per_node = self.current_partition.processor.num_cpus + + self.num_cpus_per_task = 16 + self.num_tasks_per_node = cpus_per_node // self.num_cpus_per_task + self.num_tasks = self.num_tasks_per_node * self.num_nodes + size = 0.4 + scale_factor = calculate_mpi_decomposition(self.num_nodes) + self.prerun_cmds.append( + f'sed -i "s/#domain: 0.4 0.4 0.4/#domain: {size * scale_factor[0]} {size * scale_factor[1]} {size * scale_factor[2]}/g" {self.model}.in' + ) + self.extra_executable_opts = [ + "--mpi", + *map(str, calculate_mpi_decomposition(self.num_tasks)), + ] + + self.env_vars["SLURM_CPU_FREQ_REQ"] = self.cpu_freq + super().setup_env_vars() diff --git a/reframe_tests/regression_checks/MPIStrongScalingBenchmark_1.h5 b/reframe_tests/regression_checks/MPIStrongScalingBenchmark_1.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 zcmeFZ2UHYIyDmDQ2oe+(k)$FjIft3)p6;pvQBV*R1DF9p#ef+_3)%lA-ulaQO0b=y+56J7)NPINg0HATcDvhvYfQ-vJ4RJmXiI%22%G zkbcb(zatcfwncIU6~j=g`0zkKi4J@?n;KX8m2^4GunwfvAq35GO7i6O&Szir2SkG%|rs)WQ} zC4P;f-(%vp#}1DV>0dSsIq|Q!f6+7QFFlKWc5U_+$NzhJ#{Lg_enBA5VE>8{*C{6s z%P{8d^4{UG%V(?aZx|Sg;yQm<%N@%1mtag9^;^mhAuGWcEiSLZ_=V#x?`=b+8UMPx zxShX_q2c=v`CHq+zRENH>OQf3GJok8_s?JI|CL?;VZFcY_T9V2*ME)gzF`Y~=^y#m zjpkohiGQL$THKuB^H)ZBhWqdQVmy?@czEqymPc@X~KWtX(`9B{5b@~Khys$ z?`_+B&js-B@?ZLG#9#gIwd=2H8UIxO?_`ETcC2;6n?O>YVLD`|)L;GXEAF^o5&sI; zp>o51_%G!~{w}ve?7aUAx%v#bd`N%`IEKyf^=2{QqT-INjcR$F6-o z9=^6d+qV9i(0-3W24lFq%U)dzQ&YpCQ*YQD#@^u!|A_e$_=CV71pXlK2Z28b{6XLk z0)G(rgTNmI{vhxNfje`Vz#=DSTM6;%&+z(P z%h1Bm@H)}o*Oi9-#B^w#Z#duI*9ZS=q41x#_V+kr{8N7GKVQQi4gZx9_&v^ku_M2a zmcNak4eGz+KmBd}{J(OW|NpRkn2-27UVrCv7Hr+=^NSuEw&9=hE&qfsN>2K9G{L{i zfA4vEZpQB#hx>WB{y*}+2LgZRora&Q(bN9t_V3vH7cKU`krx~J|H_NKnfbfk#-Zx} zJ^!7-{hiTtDE}Yv-wT1i`|s~v2Mor7p?Pf>joH8HWX5d&-!Zd?m~;D~c>AGv`=R*Z z_e9NM1%H!&e?ImOjhEqaidw%5nEuU?nq{5xKM=bxQCw)`*g&;R2-lwTb0 z|L*6k#b3t__;)$X^AAsu5<@>QhWB3#?`s*BBgE;yd}W;G)PL*;nIyxQbZE#Uq{MGt zztSZoCI50MnIU~6BpP*oXIVMClY~{vhxNfjVBGRM=D zHH-DWoMwRPon_lA!`A7rCcDQ}C}LLC4sH>ZC3zEAT|Of!c|SF)W#*r*~{HR;o<>Vp;m}Ze^~yYSpFgAC>b@&#me|uT(WB z!nIs({eA-UqjW-jjyY&Kbul*)hbh+m)ck*Ln&87$wk!??S|Fv zJ4aTlq=D)q^LAJFKXI#;+hSKeinG1ic28*axRS8yh<7p7>g>d7egF9CQ5W*6CC^^0 zcDF*+OPVUHwT|Dcu3Gw`T1owNb#eHMY9uSgd&M2kyFYRwkKn2EzSwK?+`Nr=0b4Mh zZ~9ywhjixURJ!o?9azW9x82XXDG21TZin!ERHJyAcanG(!Rb75VlI!dwv@NXo6lQ8 z)blv=+IZgXcX&(aC%g>-1H3LENlkK=rfyx9r%L3MDJGaobso{C245Ic9kFc6_n|d) zD$tQS{71f#m|`!?gnIcUuJSckdNcWd{is%n1`T zT1E4RVN8PIc5k{@mxXJrXoQ|XQg0Ff=EDR)C&jmlx zJHf&y-vnbTMhHu$j}|u8jS+feDhXS8YQjRPX~I!4I>JU*W8u}6R>Em{gwUC^73L^7 z3cd6f3;SbN3XeE=3tu?+3QLOj2xk@q3h(3|5k_}K2xnSH3-ue~gqwp>g!A@h3boGW z3Y|U{3XP6d2#r??gnQT439VC`gm7A`@JC;V@bZg?LXO^Z;cnhrVa%y7Lcg05qL8pr zqW-mVqO^62qLj#qB88`FBKh^2B7a3~(T{Eek?MOh(KREs=+sdl3elV`GXLoylK9~w z@}IF>G%MOe^lZM5Xqw)3k)g4_XkufaNL&4gDCNLW(QN4xBISycqLHBqqRwrpBKMF? zQC4k^$XKO7L?)JsPRyzn-54(tWsklfdZOPX3fg&H1ZyqflT1baoETzBc zRMEbEe42HSrt3CcpdXEEq#cTzY0GV`w3W>*TG{LlT{Gn&ZD-j-7dZFPcYtV!2I|q#L`}qW z)V5L^StscshZlzEjJ_$_u)zZT5HZnfCXRHHNR%+ZMN%7W(bRW#2(5KMA3i#vgCQ;` zQ*kL;m$3}pUb+eue0E2%L0;&I-UhUNa1&ZuyA_q$>_k^z`yul?`;cGCLByUEgz~-y zqfgz35%+2+vP=s{mOCPl&${F2^V}0Ce_S-0`8Ec{-8+S(O5#xV)&x|rED1FdDG0nu zMJ?H<(ayLGWbJzfU3qmDx#wh~(Yd)O&^iyjt~rkqJPS}es|dy1Ek+B?O3|*;GUOCc zf$CpWqER;0NEpLI+9rJT=70bd)dAkmDfbFZK`DpyeD?#sxfu?ekXH=%pBjflm$glZ== zAf{(M($cwzoDSBZW$Lx)s!R>C_n^_4AR*GP=Cg$tQA6N~z`#h}Sukx0%c0(nG)qCHbW zP`J)P)SA5;6>jxK!FRopw&f~xZth|M2ljw*d6ay#!|7xDOsOzJkM;91IRuf$u_Qz|rOA&`H}G zx}9}`Uj@sdfvykif42ud^b3Zsn!@3hZP9S?+5|YrI1M8gWWi9o0{D4aIaDy9;EF*6 z&AKkZrgPWe`_VUHZ|NP#9{U8AZhH=Q47`F1lLq1QitmuqD!~n+Msn?ZWw^c~Ij+v( zF7LHur{-9`}@_A=lr@gggD58CUa~ z1^1CRle=Lh#@(V!a5vl}xli9gZowTJuH%&1+=Z=kxZ?%(T=%sOT(-n~ZfCO-H?DpG zSK+V=cffKnw={kU*VNUOJLjew*I#})ckB8U+$r=*?wF^mxOc9s<|Y=d;V#nm;7TWY za2wWnay#|ba;@Xnaz7JZ-0c$HT%B)TTxVx*ZojoRH&lHcw=CG3TOQ)gy(jYKj&bnj zPVV>OS|9M@&b{QtZ7p2O|YPdUBCV4g2P;Cv@>icSLv*Ai^|LEo1 zZ2`-*tDb$+O^^a?Q9sJY%k$7&qEXk832gyYj zLG+w+;IwlLAXwW#%t;n_R3Qc0uyXQNu^uV)ahLG+*ZrdWi&sUSK$&LeJJ7Wc_tNfP zqv;JfIkf355q+$zomO#rPPcvhMsEs{LCstxG&y<-BEz&%%^nlfwS(M4^3zE_GL!)jULPUNDS`!nBR?mq*Q|F&RK4VUzpD$z4*#`-zNIM0k z-aU<8?axI1nP-uCZ4L_Q&O>p!1xUxL2*qcVpir-JlsKUhH5pZ-07nYxNeGbPdLf#A zibfKvYLMc>TJc$j*xnb>&fI!bsnvjvzHLBPqZ*NcUlV%O*My#UUq&AuUPi$MSCB(t zGy1Z!88OB;qkT=yNG1L%S~%t^I+oLndMlezt#~e!PHsj$i<;4jtyfUpi_7SU{uLBc zcNxXZXhJ@#8xcFB5q)d9g#1T0plY{zl=t}}QmMOuUN5Ud6^ColHuoAdPZ1%l$0D@! zo)B%57oZD2DKzOk4h?`QdgAAeMEofRU*3Ar3z2feDJ)Vu<86>Y@U#ND zS15}JLm3p9KN9WSD~WD$e$r{ZpJ`*q0a~x|HQjOPIsLW0n+_lOfc6c(LkmpX>5SQ} zbT!sY>%PB4KhvtCcMZ_A<|;m|5K&31-YB6@)fUoPpU=_h*R$x4A2aArK56uu#6
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/MPIStrongScalingBenchmark_2.h5 b/reframe_tests/regression_checks/MPIStrongScalingBenchmark_2.h5 new file mode 100644 index 0000000000000000000000000000000000000000..acfdc15c71d4420b00a18c2231f990ce95fe1745 GIT binary patch literal 49648 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/MPIWeakScalingBenchmark.h5 b/reframe_tests/regression_checks/MPIWeakScalingBenchmark.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 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
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ z(%VnS(`MJDY3cWpw07!GQOT=MqUkqYi(zJi5p8X16lM6= zil$Hk(T+7dQMpZtNc&d4=(|IXNYyA)q<$z_G^;OB1YJ&w`&~<*PaOt`N;iKlW!u**z!lOGAg|^x8LX}HV!l`t)up>4^Sin6j z%sJyPJY2I@=rGn>sPJ};(1x{C_@#5U(C4AOQ2D5(kYU0Ws)id2?>{#du5BML?0+>` zs41%~Jh69zaC$pK=(}1*sCDy=;PbJMg2^ZQ1pDsw395W)!Q)Lg1oA4E1w8=`g8M2t z0-5e|!Gpm}fnsN-pm)=0!F0z2!K<)?0wqR>z1=On`Jzg_o1@GqI3GB(D<>!@qbFJha}PO8$- z537oOKz)%-z*M@cDXDk^e4L#o-&gS}_AOM4KX3F(94}<^_tee8D-*WzJ$o16yY`d( zxyu4^?+aV_=alsDuF-(6_R$AlvOtS})nPmytzgXG_E;WoI!9BUOijFMU?hKSk{34a zObB&zelPZDgc>#LdNKRlOKHj?cnR;+p$yDy{7GJzg)P>6+v5a_wn7Mv+>WPeE3m|*Wy1f9^oJEh{A(cIrGnlh2n4b?%+%6%)|FuTJz^^ zKY}lj(c$|qpNv1*!Qsok;NpuF%BW`zWAOdco>GrjrC^ipMN-~R6!5~$-Mp10SJ?Bn zoumexgc$!@DzjP13oA4#;f=q;7{WeRvVfX+WeOI1mw|Oh=VQGkNz~b($=JGy1-vVE0xYY4 zBd>YwY;4QtVCvW#HOzT7ft8Kja{CO`p4cBp7y`J(l^X$Z?^uo^9>U!`)&U1 ze40ba$7lW9`E-YpQ*Hn4e8b#z!R&uK-~aB^|8tzx4Ex`<|KH77{hz}l(ESe{zdjTG zJ>o`4+#O=!|MFvXGAeG=DV8JA^W3MQLR~)pV`UG&W$Ek zaiblpX6KEtT4=S4>ELf~6;$0-Ic=hi)d$fGrvBZHR!__rW=4lYt+beVR!y}htZ0J{ zE1l9(tFWWU(uu6Fl8c%HgV~8C;cN>chJDyCnQb4G$(}Smk3DvMIeVp0#C|Sui9I8r zm8~LwkL|F!m;LPKd$y~a1ZH+i8awDY2FvzT#@@G2!QLF##x`6u#tK%jvANT2uo;~W z*z;9OvEBPTuzd}iv8nR@n4ek*77%?DJM9pSJ-(NKMbxBYUxRb8vyH`A@pT?%F|H1K zpKt{eTx-X+dp*SZ=e@vq5+AWqg%bGLerbI7{xNv?;fc6Zmjq91W`{oLNCH zInC1tIXz<-L;#Q?#%0P99R`ZT@i!BR@&R>XlA#t66{btnnwSu+x=bQ$4oO6xwk1~D zIuhA-i-~;!D~X^7UPM#b7NYZ>A5pInNVvW`OvHaXO7Lez5veC*i42uwV$+LsBI<57 z@#u9vF=I{{!G6jkA~Fy$F1mquc=3lAsH+&@lom&K5^gK?x->@L~QmVBazmxG&cSj}%P6kpTV5tx_k2GrNB2G?eJfdiTw!NTd=K(mJ*h`+cWq@M@^ zQr8ayW8-iTnRE=)$wq;1aVLSgNjxy@Oae{E(!e&KOt6rZ4cG>Gz*xT!^ny|#>rn|# zo}z$4mk3O;tOK{Q8bF8274ZJdb+BaKO+ZO?f_uDspeOnnuz@nGIFf=E6f*9*li*9tLhIfQuFuK}XdRxc*2fbhRpn zEdv$s%h4+MeG(7qMpMv)DS%vB2whk-ToI1oZsl5Nkx~cyuU~*Z%JncYz5#kRUxLfz zn#6f7!^`upz&WMO&@t~SoEUQrj!eD|89gn~t*8|;9oyi$Z*woSqH%{(?&!xKHp|_n-@>M51 z)A9R!v#=8yj_HKVj~y`Ex&tcq-G&!U#k%rt!Cvwfe1WyYFT_n)vhM~=dDI5K=eNSI zcnh3he;wYyufZ9rS7Er==C_Sa@OeWcWKO#TFM)d48g&7FR;+_FpCY(y1P%8d6vFZu zd{`-}hJKGLq4xW7c=1CCl)P31@75N;>DuSvGwWO^wI&PB%sm6a#&pOTnF=?gCc!Nm z6W~qmDX7YhhBI_ez=G2euq7oFat?&RdiNkGIdw+e&!tV!fkZYs>P#YD-7FNZKOgDdS%PX<%Ta@rJCeET zgWhf4hB~(HMt9l+ko7slD+X*36(^|ClNgdKSREIWu)S=)T7g5r_dek&{5slBih_uTZ zkaG4VbcR)rTnEJQb(c`_j7#XVn3GoTsz-&l8c^5WdNd{OB6>Bd9(kU*i2C3Kbbm`7 zQaM&9=0s~zV=zMK4vkcoBb0bZgv`VF=ur(Hy`}i*^@VD*o32E!4J*;0dj)drFGVVc zijkW{G3t#dL}#MUqtjQ;p(SeP5XjC(+X~L0yhWKP=1MxUS(b)WZIV%|NfO#WD*6bf)XfnME+K$eo>Xpc!K5}rGZ_ArCcw88!8mdaj~nY#-uaNLT7xf_t8 z?poAm<&F-{Sb@}47bBl2Cv?}&0XZAYLA-AOo!f__ORJgaq>L##_COy^QPDxyK1@Z= zg4NJFuSsZf=Xj*MTNWAKkU}SdMj+vbuXNqnmvpOZ4{aj4N0-^R(d_g~wBtFNZZoT- zGyL-D-brU@qq1cBLh1>+#quyMXL^VZu-!txNnJ#{xmwdclW^M0QkQn=Qlw`u|0!~t z{!H}9^{S})My{yCIY?yX=^%1@>j@$<}XU1K|>q3NEn0W8>V1=5ef9P=YySrE@0W{ zr9eK$6XfjP45t3v4hB{C0)|Hr&^Q?a+CPPYM2lk}eq$tfWEKsK&Yl7l)8fGq`$Ukw zEd|UtmI2;K@pI;Sqw&^ z67VIi6kJa(1;sPV0dHA3Xo@QXOCObkMZyZ8-BJ$Brj>&M`wH+iv;vGXDF+kIl>rZ; z9ITNRpGl=4nJfjfvP-}Mi4rh&e=*3ZD*~$p1t8L|0L*tP0LqMfkhkp|n9n^2)^z5A zjOW?Fz$*)!0%w8O*fXFgDFZaerh|tWX<%(j3b^(m8GKAh0(Z+2fFLOjtf+|vt{276 zoM?iAOcK27!KY~2?J(74+HCKAs}i=5SYIp5GYdn!7aDFK+bL# zcrLXQsF(TzC3he2EMgsCH+g}^)-_;x4C^tZ6L8?8Ypem1T~QwV1m9XNEodQ z+Js7=oHZ8k7b$>QUUGo>Q5py=M}X3ElEBrP0d^>SB&P(vBX63$A$2NyNu?)`$fr9W zlG^LK$mM;lq{Z46Qu5eU(nY$S>{UXf=P5*vF{4PS8D*p)vxM~3C?wSavq`$;4Ed-y zlXT`Llg*+;Kb@d{T z2D+2}vt3Amj}z%S+L=^KuqEdj5v1EPl3Z%fBn_V#khii8NI{@J`C!`=vL{BBd^=f# zEI6)2T1Ux|R?YI{0o~E0rw)TWLVP36H2x$q`ud2sMURLh6Q2^LP4|g5w=2ZUgI9?- z;T2*)Ur6+ZRuc=Q_(aa~Vq#oyI-xoupYTdaC)_I%2(@F8#M_!=0{DawALPRbdpekS zHY1quF`O&eU}lw9<~H6WkoEES$S$N73lj$lvx#Mynmj}zY0&S4&sB*u@UIR`#9a(1yU zbIdGmb6y7~aVC3-IIFbEI8%#Hb5;7*Qclgj z&73bEgE@Ywi#e9ZSRBUsgB<2A7Ki1p%keHU<4757;;ePLjdP7HIjzNNoNWt@IB&Iz zam_&+&H?%Rc!c_MTmx^z_lBBqo^k{6!q9fyOtA-FB-e+py@lg-6Gn3G)TZMHGs5uc zcZ2Y^XC*l8b|dk-;la4PQWCzjxfrJ+=U|&Qf&pLI31f8rOc>ds2sWd0e- zGn&NL#XrU9$=cZ2`kCw-qdf4X4<54@P3Yk%ZBxJ#KQM5Yij7p$u5!$Ii4^Ye@-**C zURt$Gx*1;eW(GSVghTCe6Jl}HD@@n-9JNvZ0M;Xa8`B!N#4AnJqR27R@C$X(%%pMA zR9NVFESM<5{DKlFr1F4$*SQPJ?43>R=vSu}2qbYhAkFH{I!&b{1Y^6Fq+#mb3Dm31 z@$3V^*Ra0MHPr3*TGY(vZPtw^;`4w(Zxbw;F-i2A8GST0=i->8DCw`_tFhp>~Q|%3sbK>$DTI8%tp8<)rx= z+H$bPtJJZbkw>WNAX%1o=TYpf-D{q|OC`0TP6-cu=|@p^D|lF)K9$6og!jj3^Q)JZ zVd32j-fo+R?B*lisF@R0aPosJRd??wHH|BQ?Xum9jhGxnF|BHOhU*_-47J@Gf4_UIz+~P{7?uS-uOUONisg)%Akfvs$je=-$hVuo*=0r}Nw%~+-Q=UZGb18;n~ivRYF z6TY|MHKj8DGTY^%wN-Zv_H3C(^{AWKRIt=BOmXg6c3xNrMQ|$FM-L`roY6vR$9Gw) z-ItOvY00g;x8m<4yn`~atx-Z&z2PZJ?m!T>BG!*Rt4O>bVX;4T)nGgx_WdGN9OuXG z{U*!$?Cyg_#?(?{_8-6$i)FDROSV!4YTJ1$dULTYyPxv_++fuRHrSXRy6s7f5pWU^_hP`K%4^|{INX-s-iZLbT^NQC^q-MsS z<#j)9#1hB(Q8OYcd2O}+*a!8?)hV;~Pz4K)V{)S zw~#I77J|gwg0+}iNd2K^6)5Hwvc%j%mzZ04x7oyMwya|nd47b|3o*A4vd7*^hu2l< zFXk53(=(XqVs61V;hX8);83g4;y0vHF}LtZyTfW%WvLYvj4TU?3ac9@W--rJKDHX^ zt7nmL`ni?G;2vgMl>$@Z-UzGbVs2rkm|N(XZps`idu-J%<`yoF*w1uRTgfc-TFbmD z<`!Q2>|{EMxrGOvMa)GjGMSPxp-k1f5@yb|ZszxGmzm>BikRn|A2ChD?=>qHerL{d z8f3;xjAeb}tF!K2oWjz0r_XAdYsor#-HP=r!;W?GsXI&hwg+oGT*F#m8^9_&ew;P^ z<8hYn>l3WE*V0&)Y3EtC*Na(_N)$^+%q@Hky2hHbX)o(QiH5#b>CU~jWX=) z^Ap$^msQvsBgEW-gFbt4q80nb9+KU;(vH1n%Odtzr`7D0^hWmk9scaeH-g!21>x+Y z+!*%OeaURigPH6X@_FnqpK^BJ1reM0-oTdG)5>-nbB~RSxrKe5@7W8)+yZQo#uV3& z!Bo7JvHlxVu!?YP>{Wv?X6eDkz%(07@tOnnZQWArN}va3Q@0trBk7MNsfJ)Hl8$2U z#oU5&djd9Bl#ap3TnxKfj3w3cu<^2W*w5@Mm{)5%hPyq){KedYx$H-5t(aRFCFT|q z_l&`Bhfc%`?rGo~SIodw?G5o|xt91QI}+D&orC+oaK?FJZh`f6Eq<%p7Y}#ZhntJJ zg|>-D@%1rLxP@ap-oj1815RY&{$g%n(bNk3yq6H)Fu5MzEanzQZM}`N=Rd;Zj=aE& zW(?x}rx_f@4Wl^jo8&qEMdLY{HmV#yF}IL9Nr$szzcI(!g2~xn1UP$q=5W|r&YV&D zZXD$2!5L|}iSvH>Zcg33LmW)ZEyyY#cMICbOmIcAn+oTyV2 zXT^$IPVlNG&ZO*C&PJOq&P?nHNBPi8PL0kWCtHz0a7ZaaGg+2sG*={I2PP7{ck0Bb zDOyBKv@YRFnh<7Fn1l~T5-W3T3G?NSggL&LsCHjTEFJVB;x29>4qo;n9F+nIqi=_a z=duxmk$x0WbSjqUH%=y&KTapiu4EIZzvUAKZe>J&3y)}wMMPD0199orRbm;totXFZ zF0tcPH({mHPpED9K-@F^LA=QrK|Ua5$SWV@N&lzgNVTz($ZAZ3tT-`^bTZW;m0uZ> z3on?HTW_#Qd?F;@#mpub>Nt{1pSh6pJ}e`<#dNv4oOoBXxS%AZ|2f4}f0eku)z(3;#wz;ha zCrK}$WVjJX8f^n7UHw3tXg^4Z3Idup4ufigaG;QK3`C2$g^*Jx!5YJOu;5-2SQncH zp1Wm&5^gr=)5!xL4GTdmECpxRRf3XG3S7S_0uuAXO!Nv+1`0#)nY}X$HpM6t= z*M3fb4G)x|u0R!jD$;AHH5ZY6WF=j9A3}0f{Q+|A(%`+ z)9nzNUA2J^&E`OjfVnWY-w|$Jw*aQKFM@|nT%lz1a#*`@HGE8Yz>fLeFi*w@F3a5v zr@Y<@WB5Da%&0vuY)k-j-Fgsy&xW_Fp->nUE9MqLBVgF%<8bcNNT@a# z1v?+bKso9lPUWT0&#W9;->!fLsa5c$5)V#@p`e|y0EV^+p_?HM{UQ<6 zRIG*C5p{6??F+EOvK|H=ZGiUFCFm~I1TW3L3}ud7ff>u2VMEqcsD1q!G`b|_7JOUa zyTVo&C1`{3b8o;2*KR;5&35R0s~tX=c?;GZzXi`m-iCpA2NYU}`GLX?s5P|{J`C)H zx2|@=y4+59Rm>?I80dsEExTZqI6U`qC!Bnu6J9LngjWnY;o%b<@Y?zg=-+f3hQ-{5 zFX>xweNH<>I_=O*%wwRE8&F%J4UW%kg>9`ZP~>?X;^1_~K?9TsJlr4!nwnp(`WdL4^od7NgZg9th1#sM4JNWY*gfFh)Fr>*0)|lwQ+((-5 zYK3teOSn6Bx2O)Jm*Ne5VuMsrUnqHy_1Xtv^1v@TT-RlYVx z_RtdL&4g$Iv_ls?98m~+A)3*)0<9S7h1@r+M|$FKNX_2(p_lmwkjA?}^v3Ei`tA{q z=3I$D>B*5uJuDjioN@|XpA?T~T8kP zkqgLPyAJu?t3{jRFQOwA4QTgP@i(=bFQOEx0iDslgib7IK>8o+5jUU#MIE?=yz3iK z?U8!qmR*kw_cS0uPCYuMe-Z7aE})oE7ty>u7tm=`i)8lHprsKti0VhET7yPgjtfz~ zu@Jeb3(!<;3N^p1M*ZnkDA}nJp^S2LMY0SPDwm)!JB!d|P9ehG@{yl<9&&t~gL?O5 zqwCBpq%Dz&w$i6j&+as2otlDQSYu@NU(DY%G>CJjMKc4v0ycV*2~br_{Hdw^FkE8eI80W zJPS>B=AypK9JKeD6`GrFf>y-pBfXZH=qjOwri;`O{X+?b8!IBliZLh@$e^4lKk1^{ zkF@RB_jJqMXY}!~4qChGIz7;JnT|bQOPf`d(dAZoG|xVZelstb9xyyXuh|nyYdZ$e z@6CPa&310I=WaW?cZ3D4=P{i&9IZ_6I5mPkRNXClOxKCtGV(+$gQFtVv#z41TVq5~ zU#f)#Wd=emfh$Mm@L3{d?@01xtrgjH+nsD5A4SGo%_HNf8uIhg*Oz{6uIxINVnJXONLdPxA{Z_Ngi#<+lqfvZ50i3ixNvL1X~w*#!!Jp?)h2SNOr zU~qX;7|0uO9OT`J1S#jD!05!2;0KBaEdM0nrjP>8Dy0IXln%y@J`1AeWr0movcUNF z*?|8r4>*s@2OA>KgMEetz?)SByn2ekCjDYSA1nb650!$M{4#L%YbhXo%0cG#a&Z1# zInbO@4uYyH!0I36AmUOvkhCoa7RxHYI;V1QEUOI6?Jfn{HDzFfPAT|YQ353CV(_-V z7>vs+1niPRaIvxgT%1$@rgY>1-pV{cd^iU*RC7UUK{g0+%>uWiv%rg}Ofd3V2Ecxt z23OQhgFT;9z{6+Bz-CzzSd^InRNLaf(yCanz~B_m<@&{%C+lgG@YeoVx6$d&WtiU8cb1?q9 z35Z%?1iT*W0?Yd|!5M!o&}*X!mYvc7<)2hRki$gqgf{`4Dpdserei?c{LujWEDZu4 zj|8QzlAzS@JLxa=g=8tbBh6D^k#9YplX!nOiP(2ZH=8c9^+-F}YuG}rT-!u$cDO_q zuB;^;TZCltWgaE;G5}P}c ze3QZ;{nx%Co;$oJScOlCV)kQVT>mYCSX zAjYO;ir;tBh?BC(#2Eir!o~AA5x72z=#mK~(Bl2XV^IL1W9v_JsBR=Y9aj)4g`NZj zoQV+JiI5P^B0`}(ageP?2&Ur1cYA$8VXQHcg^eXzp&pSmQjXwvsStDa{NUIMVxu*{hY@JmpI7_u5!AUlykoJH*$EKEKcE}^PC5U#hgR+ zr#aSRPH;Rmqd78B8Jsw_FK6>$I7d{no6}1iQ|U^QiPK@mQ!sx2R2UNu(T(0beE3jbRW>;vXDdjV9&u91W$U7N$`SN-^@2hy7IQ|Y^9^;B{ejSU)jIhQ_ zgcNS4Mq{eop*SOY3tpFX2)`j*hbfJS#JhHynR4sVt_vL@JUr^Y=NvbyirU=tbXRL;0McJ=2V z_Iw8kY?Veg^-X0ezA8J1YR;9zHahdERxSsB@YIx#F1*F=?>ov zKR#1C&W2-)M!ch@V)ppAo92Aow)>czT@=OMbQ!BPo5^<=VBrz;Ws0}O2>W`YiRvD} z@QMNxzF)>u>{wYkMVNG8`LgmKE8oSg1t(K3ADgN@Ck9}$ z?;+KuxQ5qwbQ~5jQW;x+o}xbU$75dG=VQ-zc~Vxo`fNNem2IUa#V)uUL&ts8~SKaom(I3?b*cx*YVI4T;GEs^6ZWjw&-ovf+c&b65G#`{!nz!dz# z_c45}uyjoAEr&8`c#LIM>hrbN$l&jv1ycCPgIG=8BTC(M2Hq5>!pE{IvC(PEsj&@x z*oM7k{7(!Gd`xx~^>%R)mf`u661+FT1v7Q{x&aTcxXu$)RM$&viu4q|YR-GC_$;J4 ziWIPcje!)`^(qEeo)cvlz=?_|X>Maxj2@fBRlsW;@Q` z05x%+3SIu$b{9PCt~K9$aWB>r@RhfyS{E~M2&Hn@%)``ghiavcs(aI~pHNZC>=4z4)0T=9=hB_4GHe{R&>P@9n3U zzBcoy@}5NOj-MVCx1)-^%UFTZ-+mjL=Ox8|Gz|&!OzxhWpLBj?46OJL6rn z;~qaeXA?MAPfq@D-lR9px~E@x=#AXK$^(Os&poeE(jDl~)?55WPd8X(k>`^n%3B)C z)t6qLm}_q3d%iDfvHrw?^Lg!VkIx;MZlW)zp?W?(U~1m0{4;ueb64s06o1Z>eW|LK zq%dC36q@DrWVGr9zKF}4+9iE%Yu7-Yp^?3QrHGxE7#*wk_!Mz|Q1+Yd;W``r8&>J( z&vU%>TLzf=scfn9=Du?IMx>*G{Eu+`B8!6jWnq>Ev&3&Fw}0yA>xPfbfB)6j;QXU3 zeRnVU{Q6lD`Qm@qF^F1x&cLONRj}(*ih;DtRD;Hw+wuj`sRr>e{svOgxdqlSp@#d5 zWev&Gi3Ktq+WFI8y6N@ijdYQ>XQW>CH*q zB~pDdrooHTO-qh1EBTP8U$RG)ZMtAassOPVqxq|BN+bpN0BzUwV& z=kb~*y($PIh=L*=b~lsV%`8Ql3ZhsMv5Or+ET~v1N)wP?lwtt|QDHZe-OZqgs93;W z5ETn32!e?Cu^{q#{rd~vi|@re^CUN!oQuhmbIzPoBZ$zcmRbzDWS#ip^8WR)nwYj6 zmjhWwoO^eis{7UItIPYnU8G4LF6}zu?{e=D*QNceQuV=cPBr89IdR&@s3H+Cuau0ovnkFTECEG3>h=WIR4 z#Ada4%EVFP&T0AFP_LUD#cj{TQCGikrk$M4-SSC?qw*j_T)JGTW?f$|H)cYB*eSkA zJkWiTyJUk8_wf}Iu~V3n_@u+bnya0+xW}$|aZTpvOL~9OVj-TxqjHEyOr15u|x84xvj)PZpV#i58z2A{1op# zlFjWGpS*Os>!9?>cx1)`9dYzgFI?;E9qwd=;XQ`dq|(V z7fuwTA$5FT@LNAUH8DK;HPBu0HCG!fWgR748E5fQjhD+VPD3C0wi9+tr)tQw`e8IaHYUGEMH1v%33dP|?U_eq2W;Lrz zw%3?2m-DZKgg{fUaz!axxJ-xO+ggJ4M@or%(nGYC#z$llqe5<2x1M;+8Zi1;n+&RZ zCNXlqfKs(*f_YpKefZcUVz1#<`fBJ(kh570O)zDM-S$;y&=jSlS=wN9YXOg227490{s>) zB;#HN5?@aM)D^s$p*J5Tl^@mtYrRtDpz{adsNI3K?kps?Eja^hruQ?Iud`72%n@=x z8CL6m67m#FX`HG9V`qy!H70#F>4lb$x3e%a>eHP%*9|4s290_sY@XGPaz38 zmqn6Yw(IDkfEFg$VlOG&+d#_RVy1gxFHNOy;g%j9IfHe<61gf926R z(ucdU7{e_bzUGU|WQ)mh={xs{{0c2KzNg4ss<7rUV>-r$uio*BBq}1L5AI|kIMade zQ=CgWPWP3jA_J*vbqU|C{t`J9m@R$aq%9p)f%uwWKlw*zhxF6^$x<2?^R)+3P}rYJ zrn+el6D{{3El1+W+D<8xoM+8<{xnm1Yy4a=bKX_*S?EQwcF0DWF@6Oj*3sbyR$U@* zdX1N+AAHQb_%xsY-RnM)(0G^O^fk)1iOzfF^bYxqm-1>+jwN;UY`E=~E8rtXv{pYhyuNT>6gxBGyHE z@Q7II<$IJ=wd>+noi&!e^u8{=pSF&_ze&h%zNjPhPP3L?OPaM4-Py-irbx$TF@D0^dAv&3SP{&FS*N@ zm?=v&n>@(lMGr|g`%H48;STB7UnfYn@z&&BoeGd(_L!74ZI`-CBT(k5B!0o$NQS$1 zv-DQkYVzjY?R?3yw@k2TfppU2$$b6UPW&}KhSIgmy`<-jP59#XL45NlU#S=LmDcZ# z;QtA6=3h@Jm4;Y_GiDA2eA{+oX8u7NX##m4sl*xZ)fGjkV(k~EJFSUav^AN`t=E%2 z87^d!Ro3&@U0X@+UY0F2&Y491ZJx;wZSLZ&={YQQ*{97PxuL@Esg^UDmX{d)-}T~b zZ;HQf?OGMVwi7^3gowa&V1s02?HCqONCM${+~=w z{!A++Ce-_ww7q^4dAcW+Z!)2odDLhuHSpdK)RV%uo!wHMw7z6-##V zEm0DGOx_h~ly$6hVy~RPjSAzxj<1lqM43uwq%Y^IJTc-cstq%9vAs0$)@5>P)DU^t z6*I-z$3dxAKIo7Bk4cZLBD01E$mH`^m>0o3snQr@zTNUM{F2fKOwj6n=J6;2DENm@ zgCa}2ue!lxri0Z9)gJZ_~5R7?j7T~{ECFR!6$i8tJQ+h|2#R~K}c@(J?upcNr8qXx>?vr>Go(D1BUwMX6IM-dn25WS}9pzqpjG*!EXUgJ{=N{rmlx+z=HXU!P!w<85OxV=ZA^9LklAsN8C zprz)M!d6thi2&;d3ph~CAFUyDfsJ<}_SJjCDV?)enITy*MJ3aV;TMJtAXvUGsI+B3lV?rGD>W$2MPKj zq&)8^J-;D~$Q!d0H0R}@5I{8(cQ(5K>9%j^>Q~6;$yEk2INby zxstrVt^Y~yS`&iCl%(=p&m99@ zuhP(!ypKGOI~kzn5q6YC#~roFdhsW; zdT|x;G*5%D-hTr)6;EXhJ|72(QvwKcz3YTVO>HB@+GmS z>Kw}HO9Vwl>4ePb>!o)Pj_j3c_LrvsJ93bb9@9k_iN2fne3kz12Ja<9D!VtIGy9+SB! zfHz2Fe9!=!QsdEZL^lx>Hy5n^5RWX$`!rr(3|1f`y1gv|otvoyo=QdtZQWgH%iAwR z&unurVTgyCjyj{Vpi96kZwdX}eJ(n#e441pbONi&<4|7iEn;3Q1$st%p%HZ#q-r@mRLh5H5h}fM|UCBnK~fgMj7!Y_Y6H~wiOAo9)fR?%h1H=fOr|EjgIcn zM3Uho&`-P5)dkk*@{3x6jusO;^Iec`S^^O<%MQ#^Y5@~wqvU9W(C{82}f&C-C<&0BPj?=|{;<91@ntILGM*%JvLy&@d9 zv=e!qj_5ehqL0?;gHvOL1T%UkQVL%I5(nh8WsW0H5O|5Ma!Lc`+Y6A(_|3#lc#bG~ zRzP@4cc9E#H?ZZ<3<>8SPF4TK6XF14Fu`IPI(K;^Z8f+WBxOlyLhT;?=f6<^Hup-- zoGPYIkFwy6@d*QCgcnfEdjXhqeJg#f%@%M1{_VpHO2O*l*=R(KA-*hAMBn<0fxh2m z6tQFm*vp~mnSL9=`oH&)pz|fz(0>-)da)WD?o34iOa6fG-3E+%+coeX-h$qBo&h|A zJ`}a0AFN3^jdXoFh-ZJpXua<|gn`rITw|GWGj0{=tce+c}4kAUplJ8_gy zy{1y>9(TiJrAxhmZQ=;ODK&`$^<2Zdw=VVdJra+c^sJe8w1TUtxw3lZ8CJZ_oacF zs^+?yZ-;&QH$WaA8ViJ$SXxHZE_(!Ri2Vux%b&*uY4P>Gx5x3{Y#<@Q|3 zGR18Y-t4WCa+`G$5E>`x)yb0t_vJ_)ug;dl&n%NzhagFYDl4f^ye63?xi8svt3^_H z>7&GW*KbK_lOp{&K!t8uphtV>n9*)<5wo9b_Ipmz!hIF=__%6XKNHjM6dUQU+aJ(TYAI^p@*^gt>mGBVz$-i(G*o4{Sp1 zu~EqXR17jGNJM|9r6V)NT$KH$2wib4N2#tCQNsxaE%;K0+Ouz?rBRR3gQ3@`?O7N4 zt~iJy$0#t9VpW+--P(-Tu`!I%3sdHPv?UW|Z^!8Sa+!=b6ysFq#bCVvCcJkMqpP`! zN!+rTX*eCl>;y4Pp<@E`B{Y?}qn6FA>@Q>#^-eM05-J#v1vSitb#i9-Z9SuQ?+!EW z`(sAD{WbG7u9La`=PR?b=?~+lt|ATW(~!Dp>r3Bk87u8JGnck0OqM>KYA@YY#g!Ju zQc~LjPw9s5e$tYg^QF#xOQpgU>!b$MRw<5-mi|qRm2!*|rS;EKrSzjLY0KXNX<~S( zbk3Bs(qNN|(w#m?np#^cy`6Yns*}?sHST*NU6uD*nwR-es@d^H+LZH4s(x2dHuzgr z=CD*-RyANCTY-#ai=^hVf)7@*2LX1nO+Q>@S#5mTj6pZq=J~#|YkvY{)7~zWaYvTP zs`jjt`M5^N&bsZEExCS3)=+d<=5#Vy_Pj1#HepPT%%!kUrZl5e_IqNvOqZ;Z-QFvf zIdscpA(?fuiwAGYlJc8n&h1ZRk}a=fF*7@4ee*uc+z$`Rtc`|c6@QfE`f+Mzx? z`+z)k?k~Bag92;Oq|Bx#s7TC9?(9@}X=h8><_%$}Myo;|YZU*`8UE4IhUhCO%M zfi-pHu=0<9^{k{=yx*PmJm}48WzA%pPt9f%`sTCmmj$!v&T_VNW+)r;-$wTP^9c4^ z`A&9o?q1fr^$=S;6vrMIm%ygaPG&8SrLtikkFl%Vve}x-Joc9LarVObVs^UEDb}T@ zj14TUU~}eNV0T;9u$ki!yJJAc&UsqPe(Jr-#+%+?7f-&;4tX@Q50W0T;OA2|li$kT zO>JW>6xvy((oR-y%4hcFnSQoX^qu|B;x}vb<}W+#sv_35Q^Dgds^ZA;8u)aU7A`Z; z#T_U0@lWe9_`b{tj|wosM(w89Zl5{Uoj4IkKexo*+os^}IySiWksYR!9q~P$3l93g z#a)#E+iw@(g;o&HZg$1dl^)oBpBMfz))%X`&A_MY{4ovD@=SIBjb% z7Ah>oBYn&9t7ofl5E+V{8`k04){Ph?gyB7p!*TbDNc?%u4s1Idg}W#3!7Fn1;&FQq z;P9P?Fh4s6udRy3+B)(0rNdz?^gM$3D--bWu0$M^n}pX$lku0#6nrHAC|0UT#Zf2H zaMs~;%nLY%O<)H8^e6%RYZg>|y zp0OQoEeXdJwwrO}qjmV~&sA9a%The>Y%wkfpO1A6XJgBSGjX)PHy+`;;TJIi?6;bS z1A`s$z;|n$X*UTsC5*=!R}Jy*VjWy}Rt+oAirD7TAR8_C$Uduk&ORHs%d&TC*}n!C z*fQH<_W7D)tb9@|oAGP~8&vMij($9u-En;sdm*P$o?Db8Kdq-P9}~S)YFXGTc$BG8 zmO3=~mpxY&I{u#*(-P{79iX)Yz$?9OFl)dEf{Sxtk5Mobo>~R3!;SDr(KhH$?}a7Z zF>u0%!|KyigHM;Eximl#dc24^`1_Pc_lhy6DP04N<#PL)5lcUGySVP1L_eU9>n_U8LNl zDoSe^B|3IcRrDZ1Rn(fTBI?Ui7M&cWA{w(tS#*O@6ph^dcOEWAK~(*41diPL16_4~ zL;W{D;mpV%&~^VH+${eJJ<`6wz?@!KWYq)j*>pj#u^(Vi<$GAX{w)N@U&GYC7jVwY zXRxT|2~4PZ2n#+m!%Ii*z^5M?;gQ$ZVWL$%d`(`4&Ot0Zv_}f<4@;mfa|zz`uYx|` z&cT(Z%ixoslW^wQBIvlU5VoUSs9Kr{ErQZv!?qOYHaY!qXeGge}HXg+-Io1UW-@YAV|qSwdW}JRs?~9QoJEzZZ7NUm|_B@1JYG z-KgIsauVjs(&R(i`^L7n9)ma+{Md;$DOaqKE4e^D( zu{g891b1=9<2Mh@@v0XVc%1$ueBHwe2OXY*9|cUsgDy7s{VH1wmf2(1Tt~b&+Y$E& zo$#NJ&e%4cgX7ycIMbesL)*A``&S+wC?;@M7lBh#32gYC!2aeWrnn@woDA?EQ-DR* zB#!F`xL-!#v8M^#dY{1M+X(EjmWM6J^00Xd7Z)mV@jGP>UVOp@KL~fmS}&Zi@RB3u zOmW1fGJE`_*$z*rvc+m2ZE#7*R9x(6ja9lQ;}aT_vC}+DY-unFZ#rv%r=OaD?Jk<( z{0-yrA`MgQg-x()^H^NsX@o6I4e^x)qw%KG`q<)|E>@_~!OR6MT<4{Ux9m{IF9uZc z9^FxR&rxN({+=QZH&MV^sejm<)L*QE&VTHL)dOtww?4M)c@G<~x{FoL?_ej2-m(1w zZR~Njm5pnA#-6Hs%pR+pW*2O}%?3x^WGmbn*nz$}RvKB$u8)wjCv+ILszc23 z?_OfZovUJXS5~mQz0284n@+O@!csQGt%$X;E@Z9#^~>yV$!5n&GuRD>(%3n5DeSAW ziL6fM5w>|{9J}!0A$DZ>UN$&?7yCXkl1&)5g*|X1-P)|vmIE!!&BMI{*zh0+C+A9jv3o5Fku@_ zjo4RWeKw{*hYc~)WThWeS@x_FtF(7SzPk38e8QsvxnaO(c?$VaK6~X`d7NUa{DJRN zdESEi@@Xx%e~%Q%Q{tWF{N0Xn{@N+>s_B;Uawjvnz-XM@)mvZgRiZ2BYir8Q>{aD) zYJX+B%YMtm@A_q5YCp+F#P4Ju9=??6f(J6^&?cE_@l6?ayDE!mr)6W$OJpVFdD**$ zv$D+l#WL@!MY4}CGGv<%WXe8%OqLC|CdtB@_sAwy9FnEa*&^G`+bRq42$mU7SS{=R z>MIL3n=2bObd&X+@seri+sXP?5VEZ|C(GulTgyJ@jg>_$GnIJ@v}K=XYRh7Ns><>v zDalN?e3e$WeU=8y>Xp_%elES;^j!K^a8v4s?@DKxiKQ4^lb*>qE3Ig(kS~&6lq+aqBLitiPYFtK`Qaomv%ZnWGt7AlHUJvk6H7+mvO_j z%n`G8hJ>Yzn^7aPE~AR+QkF0d2C2+B%hQa<$xP<_{uBnCNMO7LhnNJ@C?>%?kXdvp zi7~ZzWPV0(Vg~ATnNoO|(HgmeoGqf6^LeMxKL1GO>q{Zh?l{D#F8WDtc^SmG=3+Wz za5FQ~eoPYWH;wtJ7DwCrPh(CCLWsQU)0xGp9)#zi@r-Ae0by1nVD9%Ag5p)ijOCTH zMEFG$rs|CnC=JkNTB2?cpZZ^;DN4tP+6}|Vol{NdTu4PHyN4vY9#tr6&3`=q{=G=z z;Xymb>7lDNx%A5FNaX&dSrR_qmhRy7)0JN+wAeYanwGw%H;ms)Pfm-c1E-4Ur)_hP z1#d3lCbOpXtt{yU`+|^T%n9O_;xl^5+%LT6cSqyce(Kk?h~60L1>m{{CzkA|<9|Emlw(WGH0l=EUQ~m&4oSi5 z3mvF6xD^=Z7%)SfD&$t1=g3yx4cO7nOw5QO`5>wfH5m?o5DP8lh|ceSK9@0!R^V?i zukI{bvJHW*Ek?}!zXO09cOHc>H6ZQXT{L&bS>X5aE*c)63k*jPo%=GMSk|x|?Pyz1 zbetIj_D-6LMyOE$Sk6QHE{_5p&*vb=7ZUKtH4D80{k-vSKGI<=kwD)>i2i#bAwGs{ zA~ESkyeocBk2gyP+Lw1DiwmZ_gE#cio9bfFZ*>GcsB{9~0#~9vrk%vrdI#i?R|Ocw zqX=E&@`_(-q5kp5!D-DTv~|@2@U1)r6;TA(z#Ks?x4#1Q)gO^lLl}_lXh0MFwaNGp zWhTp{2h5zQ#uUtY1s269Fb5txlAGR4U{+gP1tL;~DdswnchV*@D=95fcZCtt64njy z<5A4nSAb0aVaezh(IEToXXLiulzj3n5;1X^3uLVvVLYuP1sH6Noug29lw% zrgX2aE3dG}9JSiG63miCVDu6atr%xXS0)Y9;-7h7r$Ql0-BATre`!VqA%{S)eGLlP zXH0I>)L^C`EC$*`ACSjEeRBWcDCYVSZ8BrbSmsW_6CkTsU<%3wWOkqhbN);{n0k5; z6=5|pT>mASzpDX!T2g}k9N-Ys;2b(uZ4M}J3a6QG^H9-hJy4m<(h=uX!4I7iv^=el zxUnt+eaH&{Z@ZTfCmVj(L@RqD<-RgvU;~%yV)}@ycJU-JFgceltQd=o4(%cqrOg8S z-IUOt&h_-7bs6-F#z`PLWIW2!It*St+=&8qsB!2>{|w75aahhd zH!4OfI`!D))vqirD%i!5h8T$JsyUnqa&KxT;+oD3*6EB;<&dLNx9Xh{&H>j zFS*IpRou<7pSZ(3Bc61+I?rV6FgG#Nh!?rgnkS%bc!%Z#UT29L&)CCeE!z4d`DArey_r0ewU3s-{T^e|MVcm zUzF>~&-~-Z54}F0@9=3UU%Yx9|C(qk|L(46ep6~J-@-VN|M*2J|J1`Qe(vuAe%tm^ z{t@f5{7A!#{ETUcFTGLA&pUFR?|!U_KljTMer(}u{*;W5{O28C_;%U9_#t-`1$%~6 z1>MWF1^<095KN+t1!AeWfZJmwSmG_9GV670I4io+bJA~R__X<;g#|Rb7j|i{LP8O!0N)xUaoh6Jr|F4^4-U*@7_6Y7ve;+a}D{`yiZC(j#2D zWkBe$_?K`2M}a!ls7&?7s8QX1T2#KJ9(B-Q4AnNlm@@VmPxX_ICivrHG=u-C9^4)!TD6)%3$ijjpbB@Pbl@|_eQF^HG=w7 zwv)2T+DpxTd5BUQilef|B~XcTk}1=SRI0h-808GJDa)EXs@3v1rF@~7+T(qSdeU7+ z-7l)3ZZEh%-JeoJrRgC`@LfjDXse}ec3-79dN(LT``gr8-)3qc=^>@^CpBlCBJC#4?H&t`%FQs!!5!R3@P;gom-qF*5y+vBE+Cmrl zW$VK@(=o8*h7sHlVgheIGKIueb13CZgdy)OVaC!auuIDZ+P$%ZNHo}m=Fu1ED9C{y)gih0TzfFtnf@&xF)EfI!hC&3tbGAu1kflCsP!rn`%@YRJh zXtO;Xdd@ip8+l;V$SHuIUKGGM-NJu7XCdV8DufMt3*q}Cg>d@WLKs<82#Z1rp|Z!nS-TKM zzb=41u>}w-6u?_$`LNF?ABytw;62qm*yEQAolfMy4L`DBYkL-y4P`=YK_(2+$bdor zrNaqV)1ZH1Doj{%6uN&(h7J))aG7o*JhtWtoc25(Hdx2O@2g^9By|v8_S_5g4(@^% zH*SY(eInrWe>u#=vUPCBhgGlS(LS~vbRIqo0&Pf8Oy^9CO zSvkU;gVs=#J_&lv84n%S8N&GQI?%*e9sW{Kgbx=DQWh4Sl&_?PGVH%Yy-&cDSay*j zuNPC6{b^Lj;uwn89!kx1^`umHSW@ja>eQP@vX55WW*xd;v$nxs*~{r8ti^hD zd?;r$mKTi2ldoE0yx0M++)ColufDiVv2*kG{g7NJ3m3WEHM(pji9W(#!#Sf3g z;J0;$vBQ~Ue1=KGo6|G#(v!KkUFSG{WK@C&oKNH4sB%1fyAnIVOE}`D829xdyjU#9 zvwmI1C%fzM(u>z|%;!ctNwW##{QG#`&PRC8#;4dp^#$%yeuZBzeuH;^c!y^dci^6u zPJFVu8)prF#(7J=V7~7Fz9$~UR=5AdSAYG)cLRp-p!qO9eqaQr?^CG#6{T2fuvDow zR$IBYz1A;RqxR%z&Dw}SjoL4n>a`30&6SlJwU+zUYt8D^Y9CBfuU!+O zUMp2ls|^?&RcjfmTHE5ITC2^f)V{1xuGRXbT)Qq=xz;IJv9|4zLT$NBq1NW)2p(Sh z2e%4-%Q0G{aGxgOQcxYQG)x^FX4*E zRTybh;Nah9@Z+eH*xI}pr-v8fh1R*a>Ay@IS&)uD@lx>PuSf8_pK;iy{t%v`u^T_H zj=*C@8?kxwYCQX8Fy2x=7aPp+!~5;LvE?O*cm31Pq(AKOsIVy*emBQ=ryF75tNTw& zRKwZXBdkyG7q&C`JzJFWl%=Dtv!5q2?BQFL?5x$tSTc;Pv>Qg=Vr`&G~3KIi`-)-}SKfl%ql^Z*S6?^q5 zmoZbRJIev3@yw4pbY(5|w{H&xg5xO3>QpLmTmePDJw?s-uB1{Xim4N+n5vcEpl*3L zQ&jmQ>YMB(CD8sr&6D>~A^Kmb%IQBTyY&h%VVp9|R#1hqSsJj&LK_;!>cXKG1L%3n z5Pq367IJ2pz_IFP(AjJPocm+~T>oPt47HmKJF=$0fiP?McZChS`kyVl2<@T%R|h!F z&o!}aoGraK6W-fTlf#>zPuzf5K-XGz?EprHX@jU^jei)Y&`Vdfi1rHY5@?a~?h5Tv`{9w(2K37~|pqDe8ft+BJ zkrP~?XXabN*^ZOo?qUl#6gvT4 z)Ha8I?Z(3ux5mMz{U$Kl#Tfp0ZwURKkAZ71jfOuZ`Y`;7F5F(A1J5;U!Pnz7;q!8J z=%B0y`<|*m*GOf!(?AK1<0!yXtv?hu>lZa|(tp(XtO07UsgJ4|>7l%Sby837cThJY z-chPc+o&O`m3n9WoH}y*F;#Hm0X5{%OoI5DSxV#>Kc(zL)#f@ zoVkQ5j=DrmKUGDQ|NE9#s+Ut`Yfe-5GE1pV&nyP8sMV0@Iq*T+xD8D1?s2lZbsN1iXQWxpP)L8!o zl;GtYYJ@YBO5g8Gg{FH_(`gYE`Sf2V{zgE(+~z{n9k!?37uitmS0+=6>K0U9xEZy5 z?>MSH-;gS4(4$80)unQhH7U)eQB>J?C90u7ffA1WDNOwFRhSpkCv5KeAawC+6K;%p zDcq3%Ot{yiS$M7WmXMQtLwLU8ig3HROemkq2z?4K3D0$%6P9I_3v~ld3zZfe7X~Ti z2^|J8@2Sby({U~urNpv38lz*;C1@ctk{ z=AJTvp=G6D$m^8g{D*u&zdS>*jSFZ7^8teGtqHFwm=X(C3U&r~b_Lcm@ zqtEg8bf4hc?@#0}k2%4&Ja>rysw|ct*1wN`TAajB_$K0?8?%M)MlRw1^9}LeDO>Y9 zR|oMkx7qMh4IKG;=cn@fxAOU$7yTxqbM^TLLniQx>b3c7!wd5MkSf1Fq>o&2_9^N1 z{S9gBF-R`2D)#zf}L_2Cv^iwk0y)jb(Ab>NtV4S9S-8$FgQlAn(p1yj>rfrz!* zHC3MD$ho1ZwC0Yp!0A{J__Q-&5T|^x|CL@^=gEe)Sd@ACf6qWZX&E z2JHk%S}8!Ls*Ac`sDXhM382E4A^1;BCAaT~f))|UTVK!exL2JM-i{oWiZk1%#>H;IV9hh(7ijt@15Lsh+Krcmu*dHLJ9W5;Dc|q{ooQz|HI_nm(%&{N7)N=JyAJoQySSB>FZO3ooIBJpn+y zUIV4nZvmBGQ_-NuDX>?*81+XhfbPj6boat-aJN;4)*f3Aj!YDx?8lX$0K7$9M`_I-|6Zw_-*FP@GqQ zrqz3bO+63jumes2FW8A5tT+dbDjY&x@zn%*WH-G`@!y%m+!IJW(E%8CdeAyE&J&Be z%+ZF?aX@RcGm@%Kq<>y}O8D45Afh9tqD+lYo~nic2>SPYTtA=K*`G&neOF1$h5kt3 zav0o~a_C=w)o7y&H))4y%fObkGf-z<7jg2p2J!vjB+1Y90+f-s3KT8Smn?4ENxzx2 pobJ~)1Il;Jk;v;J!CjC-bYFF)Z;hUa<_i6RM0J;VSKS8s{{dk-v9SOE literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeBenchmark_91b61150.h5 b/reframe_tests/regression_checks/SingleNodeBenchmark_91b61150.h5 new file mode 100644 index 0000000000000000000000000000000000000000..7284d6365a06b0f5da6867d87342d4bb93a4ecc9 GIT binary patch literal 49648 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 e7YXiy6r%g8D}8J9L^N0E4Nl*ca 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 z zyFjL^A0n9>PLM3m{bct$S90-Jlx)=Jke4^G$(8nYq?VNldDB6IoI9&RHqOhCqrX+i zFu!SH&+8GQ6FekT&wnM(b_$3|tq!6XzD_(^R!zjEo+czL1cYJ8E`p{TL5%k;B5Fgg z5lcVH6FsMWi89$79Gh4|?AUM^pMFOp8c%P)wG4Cc0@r1be`*1KI>Hf45Uj;F9n^#) z7Lico{>|{+v==<`xE(B7bQ7LF*a`2g%YenQ(_l7-3wOO5g{>5Ik)dVMNV(cCSgE-m zmNa)jDzB_Sh7wjH?ooh2VOwpSGpj({k@Sts|=8rtFIw(hmRpQw4;$< zwVM#nZPySE%N0?}$w5+GqmWfElaYdZ&WJy!7+dGeRV>stUPkmVqd5 ztVB|h?jx&?S0joQ0_2lzIg(smi;#&WNUB&5a$~3pDdO^w>yw4Z6!jX}^S&IJsq8== z7?dM+?oCLVP9Xw1J|GHhwaD$v2gp(NBIJhB0P-kyj)0vRD6 zB00@mq$sf+(G09dyyGem))4|}Ki!V3Ck4n~mnvkX=6z&QPc2fVg&~qR8<1t4_mL-p z+sJ#m06F|fh|Dz+$cC<5L`Llaa(pBgX_cu#c5SFd_Qcg8!$)I~$NzYUb$kWlTUU+T zoJ&Tww)2sR(L_W{=`Ny~QHYcUaS`#@5Twnx2$6HkK~}K~kZ+Pv$cGKZ2rLXkjxS9^ zluK?R|5@fES1R`*78!}i$jNx5`9uoReLDo{N>4@}E%inAD_%xsiX)N!eTm3{k&VdJ zC;o_Z%n8J|{{nJN$_x2$KM;9-d=M3ApK(UYk|R8~t6uT_{t z%S{VH2C^rNTn&lJ{tZN=j13XId^_>UY%TFc%$+dV0u!}-e?nQxi)cQ2gh;Y=B}@-r zAUvvk2@~ru;(})=q1+QeygB4g0P}dlu`7m9`gD!>{W_dbSer&@pG_d#rqT#U-J8Un ztr-MY|2nbGESG3mT|}In%ppqRvWeU4?-HwgN{Q<)?h>CxYl$UOrNqa7<;306N+QYX z0TIcpCWfr}#Miq#qW;)JqBjF4PQGa;`VR<*OL>oosndXHPU#~)Yu+b96}pJHk_Uvd z`T+4y`Vlev{sX}@X(O)G^%F&3+KB4(DPlA7g0RyYA&&3vBIcVWh}TdrA#|H1+_l~k zUwPxixsn0mli&}bec&_EIW$9z<$NL@?D|QxSxym89*L0Zzkd)K1G9vy_%v}{OOzaz z7A5tyMM&uRUm^niOO&k;C(DnDlOZuuWd7rM0uGcQ)wYR|P9GPMpXNSWE(*7`b6go=g}QUl2{zNLGausqUprj%10G>{lvesfY}@m7z)6{gWcu z>s81-7SiOc5G}IxyBsNLt3ft;$&i1&)X7P0dD7Kehdgveo?PUqMy}D4C(~HkWT@I= z^2kR`Qgxdmx#PVW>7lT2wtKV=DY8?A+@`5UuFp{>FQ#ddPbAdIRhgRPIVCl6^?Mak z@-OKMe3wsq8523Rf7yM(IR&}TTB*vX_3KZnq+&wHhK56 zGMSa3MLNAyAr%|6Nl8MT#HzK)m*GmJvp|cC&sHZBziX3wqLj(Em$k@DXJv9OPK&fx zRVUxqYmxW66-o9-4f6E{HF9aQCi%uyne=qkAos~HCg+Z*lT(}3Na}?;nd+!W8U?75 zozGNAxn5PWsckWN_Ld4+m#0W>pI%J1|570>LzPLPxdORiQjz>ZEhc9M6iNC)C35*! z1+vpyo*Y~FCdS!|$*+6l$yNPwrea zha*k?Ym*`!u1J#5ei^bOOMkU^o~$y?j){Pz9D8;_7MN)g@XTK02Z_bT6v(ky+=nQcZ;fL_0#rtnyj;j{oSj1 z+>dwKZ7b0Nnr*0`{lMf(E)tTtLN&vI7R7Y8*ZD-$v~nHo=agyoB1%kq-(pc(l6#*0 ztvRT+J7T@PFMSJbOupUz`6J0%`b3)j4J{^ZW$2)NG#+c;x#^3&4Lo9h%5BuJi)!?diXVOrdV9@^F$^E3l^j<)pMB0A92qT37_(`B^P>6;*1 zdV$+&y8E_`^feu8>8AcZbZMF&J&+ShANP%xrwKd&|&9R5j zp5{(S)2bf|+BpI-<$gdPl11S`Wf@pJObKq2)`aDI^GdSDZ&_i$nQBwTalH~ef!9LWunL*9BTBm3jDkWmpsl zgiY2A&1i^mwuHktsl1NS_{N1HHouEe7P+7C>4-mL;(iF@5;Kf(uKg;*D=Us+Ty~xD z^-DTKBshn$Y)uhE)TNx!bcf5RUf4=+v2A4RJle)!&vY@$U-vO|N|&Z{(TWd=;iorWVt=Ri8;Xm@rRGSu*J_?3q&km`qymYNpI`XQsB%b|&|* zC)483ex^s?G3J~?Fw^eFMW&F5V2*dhFpp{{GS{S}GVPfe%uMB6rn5m2)9YXvv*vXT zQ#O%gF27XI+?xH688qL{ynpW{vo5ut`K9&)^MTd`v-jl;)Boi^W@5Ai>ynEsYjm9= zt9Gv{t36ALr6{A%(knJ*kpbqcWFK2r^aY5u=QW$f+T+O5P;q8${I`|$%6J#cM?}}_yrYc)BL6iMMLYJMBWyoIPV#3Z;w_yMNZNnZ>q_YiZO!nj{ z2e##_HEerdXSSr+R<=R28+%XfZgz@bA6uvIFk8#=1bg${Ahv?dIriS*F!q+w2=;@6 z(d>)guCb@G6WP1GQrKmtH`z7fx7iavve{#z`Ru`^ci9G8OW89?m2An0TJ`~7f?fQH zVs8pve)yv*i%F|`^P{(+fIF$owjp?EmAYiUPt@RcEo?ObGFa3 zZz_wSD`q6n?eC<~tyLgd{nt+zeB%=vCQ_xT8Y3SYdn{Pk%T1%=`_?Liur7T5=~sDtk>bYO4}jXn4WZIPKr zKVSNXe%mR+Ij1Dbk#7>^82E~Dnm>zi9-S5E2qYvp=Tjs&_hckFTP{d)WV$6e=1eKh zw+boFQc39r?6)*0;*c~)q)wXiXhNEEd`6n%p&`RT9c4I+*fN|xNQR?lEyEGflHm;h zljcl4lIG+UNOKzYN^_*7q&Xj}r8v%~r8pP=N^++6OLC4)N^sTG4fzo6)R}`)C?e zhjJ|iXp%jSs?XM-GBm?v;PH7zjw zVnyA5wV!I3ji#LT1_DPX$WI0q-~su*`26*x_djEMOK`Z@d7&3A3j(kDFN0jADA4pN4oGz*1M%fI0XmckR_w|LT~IL)e^&-O}BBuvv+5I*Tw6sqBig}44G3zgTZ z3hR5+gr`F^gvF_v!tIq>!f)a_!q*3u2q{fnp^>GYP%%@-~c2HHQ7Ooitu|zSahy&yT<*n!>$mq>zas(Xl`>a){x~<`<7X~HZ7hGo(w$$JvYvk?bBMpQH-q>1y@3DO zeT{EIku9~;SS(Vfry>deR1P352DaeQKk zJ#Q91iEr_;;m!Lk`BWOk%e0Q*r!Us$*FDwc%j~pxm?Gi_e=6}^UljR@Q3G80+CDCP zMi*ya^NDl5@sjf^Z{jBFHE`vdYPtU8YVPX#Do)Zb(xNZwgE;&_$E43U%2N`8< z%8VZT*zg@I_P)TK@vV5`%zbp&(}+82Dp2*tP1LN(#e|Ad^qPAPJDc;-*)|c&wNGHw z$QU$NNkQMGyRdsv6e?=^;M@C~aZ3Cm?9y6+Zf|&eRx=%4Wo>Xso}t%WOPoE^1l9W0 zag0a<$6Zs!PSO=8Hw=S*^*_YpJ!?g_>0yFgZ-sy_!h}bGqv_P_y@G1d zG>RH2Puod@yzHxm_UaIl`>zSvXFAZV+W#9!7LocH8>;f#Nq#Sv(RBqU%1B;7!)@az z=yMpIySRexcSMoVt_|cI97)TSk|-uUm8zZn>5M3mq@v(#@^LXms6(BBR@L>=cSZD}$62tQ8a0!m5zPa?H>=hDby5_*|(gR}yYsNN@^ z+C>sNkx@*EfHodmaqU5A{GVHxUEhqCSx+jn7!|u|<B))TT^Q$upouTW$`79E`Sie9OeQ;26d zl^m9knesjIRXRtO*-vQ6oclDaqJ+FdbE(Rrk)|eJB_GXFI`HWhZS5(ill#uou3L8~ zYFr)3z09E+%VIidcbilbD(HhkF44aGG{K;VHhsB3eGf}0@KZg#4?RX*A1{;M4uN9E zR#2epF=}eNLtb53%X6LuBDLe;0AI{I7;sg|DsOq)ikRvgtCS_f4SHEX!ndDnz-sus$LOJGt=kOsHSLg zo90gHBb;evq6-D3>>;rdQr?2uq;55ylq_B7uexz$usnd4*c%ZfnbM&pdK5F!h0b^n zry`f%$fN4J5LK>78I?*@eRCW|uW1&By=fM@Lz@M?F&%WWa#O{}i#Ul*H zfa$Ppyft7AEB)C0=K=me2k-rZL>)(Lgnr7HP zp&bfC8lk=O9W1>30%o^;g221)VQ>3qXz^}=^Xod{P2CqrQ|STs-VV@->xQ2fKEuqd zeK0;}02=dtKJ2EMg@X*v zd7zFDb>wiTxd@An$ztwXHGDB&4!4EqV3MOePFgk$J3Hhs^A8=&3Q$1LuX>m^RRKSq z8jj$lh~1{fXg#2a_hj_2e}fW!y=;Kf-zcNfCKIezSHbIAdRTZ$71MOhP{&6NKiV1M zpq)ChL_>^yu7L@2%}^agXdj}7Ut5M@?I}|%Z`VYNorX9kRSVBu)5nL)wXxH~6#d$@ z@n*da{@tg8arH)Mb65|%JN3~rNe`t*bTHf20EdF;$p0|F;bFt^W32&Js_5g3J|mRl68?H1!nK_Wn3JH49<~bT z->-sCKgr|G92GobB8Q=N@)*L&VNQxNZb_8E+AXq}b#)NVzm`RfeFLy|w;cL6_k-@p zUPx5?0S=pF(9EU>Y+}1%{OfLb{ZALPZ~g`;q8=FS`UP%fw?pOGFChEk3lus03*yP| zU|Zq`$h!6#{^Z`nUux~pZqW+v)eYdfqZKa6yo45NfrgX@u(4|b-?Uoj5WRr^0pUq; AlmGw# literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_06879fd2.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_06879fd2.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 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
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_1732e646.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_1732e646.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 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
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_4c51e431.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_4c51e431.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 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
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_4dcc097d.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_4dcc097d.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 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
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_506b9ee4.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_506b9ee4.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 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
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_813d8fe2.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_813d8fe2.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 zcmeFZ2UHYIyDmDQ2oe+(k)$FjIft3)p6;pvQBV*R1DF9p#ef+_3)%lA-ulaQO0b=y+56J7)NPINg0HATcDvhvYfQ-vJ4RJmXiI%22%G zkbcb(zatcfwncIU6~j=g`0zkKi4J@?n;KX8m2^4GunwfvAq35GO7i6O&Szir2SkG%|rs)WQ} zC4P;f-(%vp#}1DV>0dSsIq|Q!f6+7QFFlKWc5U_+$NzhJ#{Lg_enBA5VE>8{*C{6s z%P{8d^4{UG%V(?aZx|Sg;yQm<%N@%1mtag9^;^mhAuGWcEiSLZ_=V#x?`=b+8UMPx zxShX_q2c=v`CHq+zRENH>OQf3GJok8_s?JI|CL?;VZFcY_T9V2*ME)gzF`Y~=^y#m zjpkohiGQL$THKuB^H)ZBhWqdQVmy?@czEqymPc@X~KWtX(`9B{5b@~Khys$ z?`_+B&js-B@?ZLG#9#gIwd=2H8UIxO?_`ETcC2;6n?O>YVLD`|)L;GXEAF^o5&sI; zp>o51_%G!~{w}ve?7aUAx%v#bd`N%`IEKyf^=2{QqT-INjcR$F6-o z9=^6d+qV9i(0-3W24lFq%U)dzQ&YpCQ*YQD#@^u!|A_e$_=CV71pXlK2Z28b{6XLk z0)G(rgTNmI{vhxNfje`Vz#=DSTM6;%&+z(P z%h1Bm@H)}o*Oi9-#B^w#Z#duI*9ZS=q41x#_V+kr{8N7GKVQQi4gZx9_&v^ku_M2a zmcNak4eGz+KmBd}{J(OW|NpRkn2-27UVrCv7Hr+=^NSuEw&9=hE&qfsN>2K9G{L{i zfA4vEZpQB#hx>WB{y*}+2LgZRora&Q(bN9t_V3vH7cKU`krx~J|H_NKnfbfk#-Zx} zJ^!7-{hiTtDE}Yv-wT1i`|s~v2Mor7p?Pf>joH8HWX5d&-!Zd?m~;D~c>AGv`=R*Z z_e9NM1%H!&e?ImOjhEqaidw%5nEuU?nq{5xKM=bxQCw)`*g&;R2-lwTb0 z|L*6k#b3t__;)$X^AAsu5<@>QhWB3#?`s*BBgE;yd}W;G)PL*;nIyxQbZE#Uq{MGt zztSZoCI50MnIU~6BpP*oXIVMClY~{vhxNfjVBGRM=D zHH-DWoMwRPon_lA!`A7rCcDQ}C}LLC4sH>ZC3zEAT|Of!c|SF)W#*r*~{HR;o<>Vp;m}Ze^~yYSpFgAC>b@&#me|uT(WB z!nIs({eA-UqjW-jjyY&Kbul*)hbh+m)ck*Ln&87$wk!??S|Fv zJ4aTlq=D)q^LAJFKXI#;+hSKeinG1ic28*axRS8yh<7p7>g>d7egF9CQ5W*6CC^^0 zcDF*+OPVUHwT|Dcu3Gw`T1owNb#eHMY9uSgd&M2kyFYRwkKn2EzSwK?+`Nr=0b4Mh zZ~9ywhjixURJ!o?9azW9x82XXDG21TZin!ERHJyAcanG(!Rb75VlI!dwv@NXo6lQ8 z)blv=+IZgXcX&(aC%g>-1H3LENlkK=rfyx9r%L3MDJGaobso{C245Ic9kFc6_n|d) zD$tQS{71f#m|`!?gnIcUuJSckdNcWd{is%n1`T zT1E4RVN8PIc5k{@mxXJrXoQ|XQg0Ff=EDR)C&jmlx zJHf&y-vnbTMhHu$j}|u8jS+feDhXS8YQjRPX~I!4I>JU*W8u}6R>Em{gwUC^73L^7 z3cd6f3;SbN3XeE=3tu?+3QLOj2xk@q3h(3|5k_}K2xnSH3-ue~gqwp>g!A@h3boGW z3Y|U{3XP6d2#r??gnQT439VC`gm7A`@JC;V@bZg?LXO^Z;cnhrVa%y7Lcg05qL8pr zqW-mVqO^62qLj#qB88`FBKh^2B7a3~(T{Eek?MOh(KREs=+sdl3elV`GXLoylK9~w z@}IF>G%MOe^lZM5Xqw)3k)g4_XkufaNL&4gDCNLW(QN4xBISycqLHBqqRwrpBKMF? zQC4k^$XKO7L?)JsPRyzn-54(tWsklfdZOPX3fg&H1ZyqflT1baoETzBc zRMEbEe42HSrt3CcpdXEEq#cTzY0GV`w3W>*TG{LlT{Gn&ZD-j-7dZFPcYtV!2I|q#L`}qW z)V5L^StscshZlzEjJ_$_u)zZT5HZnfCXRHHNR%+ZMN%7W(bRW#2(5KMA3i#vgCQ;` zQ*kL;m$3}pUb+eue0E2%L0;&I-UhUNa1&ZuyA_q$>_k^z`yul?`;cGCLByUEgz~-y zqfgz35%+2+vP=s{mOCPl&${F2^V}0Ce_S-0`8Ec{-8+S(O5#xV)&x|rED1FdDG0nu zMJ?H<(ayLGWbJzfU3qmDx#wh~(Yd)O&^iyjt~rkqJPS}es|dy1Ek+B?O3|*;GUOCc zf$CpWqER;0NEpLI+9rJT=70bd)dAkmDfbFZK`DpyeD?#sxfu?ekXH=%pBjflm$glZ== zAf{(M($cwzoDSBZW$Lx)s!R>C_n^_4AR*GP=Cg$tQA6N~z`#h}Sukx0%c0(nG)qCHbW zP`J)P)SA5;6>jxK!FRopw&f~xZth|M2ljw*d6ay#!|7xDOsOzJkM;91IRuf$u_Qz|rOA&`H}G zx}9}`Uj@sdfvykif42ud^b3Zsn!@3hZP9S?+5|YrI1M8gWWi9o0{D4aIaDy9;EF*6 z&AKkZrgPWe`_VUHZ|NP#9{U8AZhH=Q47`F1lLq1QitmuqD!~n+Msn?ZWw^c~Ij+v( zF7LHur{-9`}@_A=lr@gggD58CUa~ z1^1CRle=Lh#@(V!a5vl}xli9gZowTJuH%&1+=Z=kxZ?%(T=%sOT(-n~ZfCO-H?DpG zSK+V=cffKnw={kU*VNUOJLjew*I#})ckB8U+$r=*?wF^mxOc9s<|Y=d;V#nm;7TWY za2wWnay#|ba;@Xnaz7JZ-0c$HT%B)TTxVx*ZojoRH&lHcw=CG3TOQ)gy(jYKj&bnj zPVV>OS|9M@&b{QtZ7p2O|YPdUBCV4g2P;Cv@>icSLv*Ai^|LEo1 zZ2`-*tDb$+O^^a?Q9sJY%k$7&qEXk832gyYj zLG+w+;IwlLAXwW#%t;n_R3Qc0uyXQNu^uV)ahLG+*ZrdWi&sUSK$&LeJJ7Wc_tNfP zqv;JfIkf355q+$zomO#rPPcvhMsEs{LCstxG&y<-BEz&%%^nlfwS(M4^3zE_GL!)jULPUNDS`!nBR?mq*Q|F&RK4VUzpD$z4*#`-zNIM0k z-aU<8?axI1nP-uCZ4L_Q&O>p!1xUxL2*qcVpir-JlsKUhH5pZ-07nYxNeGbPdLf#A zibfKvYLMc>TJc$j*xnb>&fI!bsnvjvzHLBPqZ*NcUlV%O*My#UUq&AuUPi$MSCB(t zGy1Z!88OB;qkT=yNG1L%S~%t^I+oLndMlezt#~e!PHsj$i<;4jtyfUpi_7SU{uLBc zcNxXZXhJ@#8xcFB5q)d9g#1T0plY{zl=t}}QmMOuUN5Ud6^ColHuoAdPZ1%l$0D@! zo)B%57oZD2DKzOk4h?`QdgAAeMEofRU*3Ar3z2feDJ)Vu<86>Y@U#ND zS15}JLm3p9KN9WSD~WD$e$r{ZpJ`*q0a~x|HQjOPIsLW0n+_lOfc6c(LkmpX>5SQ} zbT!sY>%PB4KhvtCcMZ_A<|;m|5K&31-YB6@)fUoPpU=_h*R$x4A2aArK56uu#6
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_84280a4a.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_84280a4a.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 zcmeFZ2UHYIyDmDQ2oe+(k)$FjIft3)p6;pvQBV*R1DF9p#ef+_3)%lA-ulaQO0b=y+56J7)NPINg0HATcDvhvYfQ-vJ4RJmXiI%22%G zkbcb(zatcfwncIU6~j=g`0zkKi4J@?n;KX8m2^4GunwfvAq35GO7i6O&Szir2SkG%|rs)WQ} zC4P;f-(%vp#}1DV>0dSsIq|Q!f6+7QFFlKWc5U_+$NzhJ#{Lg_enBA5VE>8{*C{6s z%P{8d^4{UG%V(?aZx|Sg;yQm<%N@%1mtag9^;^mhAuGWcEiSLZ_=V#x?`=b+8UMPx zxShX_q2c=v`CHq+zRENH>OQf3GJok8_s?JI|CL?;VZFcY_T9V2*ME)gzF`Y~=^y#m zjpkohiGQL$THKuB^H)ZBhWqdQVmy?@czEqymPc@X~KWtX(`9B{5b@~Khys$ z?`_+B&js-B@?ZLG#9#gIwd=2H8UIxO?_`ETcC2;6n?O>YVLD`|)L;GXEAF^o5&sI; zp>o51_%G!~{w}ve?7aUAx%v#bd`N%`IEKyf^=2{QqT-INjcR$F6-o z9=^6d+qV9i(0-3W24lFq%U)dzQ&YpCQ*YQD#@^u!|A_e$_=CV71pXlK2Z28b{6XLk z0)G(rgTNmI{vhxNfje`Vz#=DSTM6;%&+z(P z%h1Bm@H)}o*Oi9-#B^w#Z#duI*9ZS=q41x#_V+kr{8N7GKVQQi4gZx9_&v^ku_M2a zmcNak4eGz+KmBd}{J(OW|NpRkn2-27UVrCv7Hr+=^NSuEw&9=hE&qfsN>2K9G{L{i zfA4vEZpQB#hx>WB{y*}+2LgZRora&Q(bN9t_V3vH7cKU`krx~J|H_NKnfbfk#-Zx} zJ^!7-{hiTtDE}Yv-wT1i`|s~v2Mor7p?Pf>joH8HWX5d&-!Zd?m~;D~c>AGv`=R*Z z_e9NM1%H!&e?ImOjhEqaidw%5nEuU?nq{5xKM=bxQCw)`*g&;R2-lwTb0 z|L*6k#b3t__;)$X^AAsu5<@>QhWB3#?`s*BBgE;yd}W;G)PL*;nIyxQbZE#Uq{MGt zztSZoCI50MnIU~6BpP*oXIVMClY~{vhxNfjVBGRM=D zHH-DWoMwRPon_lA!`A7rCcDQ}C}LLC4sH>ZC3zEAT|Of!c|SF)W#*r*~{HR;o<>Vp;m}Ze^~yYSpFgAC>b@&#me|uT(WB z!nIs({eA-UqjW-jjyY&Kbul*)hbh+m)ck*Ln&87$wk!??S|Fv zJ4aTlq=D)q^LAJFKXI#;+hSKeinG1ic28*axRS8yh<7p7>g>d7egF9CQ5W*6CC^^0 zcDF*+OPVUHwT|Dcu3Gw`T1owNb#eHMY9uSgd&M2kyFYRwkKn2EzSwK?+`Nr=0b4Mh zZ~9ywhjixURJ!o?9azW9x82XXDG21TZin!ERHJyAcanG(!Rb75VlI!dwv@NXo6lQ8 z)blv=+IZgXcX&(aC%g>-1H3LENlkK=rfyx9r%L3MDJGaobso{C245Ic9kFc6_n|d) zD$tQS{71f#m|`!?gnIcUuJSckdNcWd{is%n1`T zT1E4RVN8PIc5k{@mxXJrXoQ|XQg0Ff=EDR)C&jmlx zJHf&y-vnbTMhHu$j}|u8jS+feDhXS8YQjRPX~I!4I>JU*W8u}6R>Em{gwUC^73L^7 z3cd6f3;SbN3XeE=3tu?+3QLOj2xk@q3h(3|5k_}K2xnSH3-ue~gqwp>g!A@h3boGW z3Y|U{3XP6d2#r??gnQT439VC`gm7A`@JC;V@bZg?LXO^Z;cnhrVa%y7Lcg05qL8pr zqW-mVqO^62qLj#qB88`FBKh^2B7a3~(T{Eek?MOh(KREs=+sdl3elV`GXLoylK9~w z@}IF>G%MOe^lZM5Xqw)3k)g4_XkufaNL&4gDCNLW(QN4xBISycqLHBqqRwrpBKMF? zQC4k^$XKO7L?)JsPRyzn-54(tWsklfdZOPX3fg&H1ZyqflT1baoETzBc zRMEbEe42HSrt3CcpdXEEq#cTzY0GV`w3W>*TG{LlT{Gn&ZD-j-7dZFPcYtV!2I|q#L`}qW z)V5L^StscshZlzEjJ_$_u)zZT5HZnfCXRHHNR%+ZMN%7W(bRW#2(5KMA3i#vgCQ;` zQ*kL;m$3}pUb+eue0E2%L0;&I-UhUNa1&ZuyA_q$>_k^z`yul?`;cGCLByUEgz~-y zqfgz35%+2+vP=s{mOCPl&${F2^V}0Ce_S-0`8Ec{-8+S(O5#xV)&x|rED1FdDG0nu zMJ?H<(ayLGWbJzfU3qmDx#wh~(Yd)O&^iyjt~rkqJPS}es|dy1Ek+B?O3|*;GUOCc zf$CpWqER;0NEpLI+9rJT=70bd)dAkmDfbFZK`DpyeD?#sxfu?ekXH=%pBjflm$glZ== zAf{(M($cwzoDSBZW$Lx)s!R>C_n^_4AR*GP=Cg$tQA6N~z`#h}Sukx0%c0(nG)qCHbW zP`J)P)SA5;6>jxK!FRopw&f~xZth|M2ljw*d6ay#!|7xDOsOzJkM;91IRuf$u_Qz|rOA&`H}G zx}9}`Uj@sdfvykif42ud^b3Zsn!@3hZP9S?+5|YrI1M8gWWi9o0{D4aIaDy9;EF*6 z&AKkZrgPWe`_VUHZ|NP#9{U8AZhH=Q47`F1lLq1QitmuqD!~n+Msn?ZWw^c~Ij+v( zF7LHur{-9`}@_A=lr@gggD58CUa~ z1^1CRle=Lh#@(V!a5vl}xli9gZowTJuH%&1+=Z=kxZ?%(T=%sOT(-n~ZfCO-H?DpG zSK+V=cffKnw={kU*VNUOJLjew*I#})ckB8U+$r=*?wF^mxOc9s<|Y=d;V#nm;7TWY za2wWnay#|ba;@Xnaz7JZ-0c$HT%B)TTxVx*ZojoRH&lHcw=CG3TOQ)gy(jYKj&bnj zPVV>OS|9M@&b{QtZ7p2O|YPdUBCV4g2P;Cv@>icSLv*Ai^|LEo1 zZ2`-*tDb$+O^^a?Q9sJY%k$7&qEXk832gyYj zLG+w+;IwlLAXwW#%t;n_R3Qc0uyXQNu^uV)ahLG+*ZrdWi&sUSK$&LeJJ7Wc_tNfP zqv;JfIkf355q+$zomO#rPPcvhMsEs{LCstxG&y<-BEz&%%^nlfwS(M4^3zE_GL!)jULPUNDS`!nBR?mq*Q|F&RK4VUzpD$z4*#`-zNIM0k z-aU<8?axI1nP-uCZ4L_Q&O>p!1xUxL2*qcVpir-JlsKUhH5pZ-07nYxNeGbPdLf#A zibfKvYLMc>TJc$j*xnb>&fI!bsnvjvzHLBPqZ*NcUlV%O*My#UUq&AuUPi$MSCB(t zGy1Z!88OB;qkT=yNG1L%S~%t^I+oLndMlezt#~e!PHsj$i<;4jtyfUpi_7SU{uLBc zcNxXZXhJ@#8xcFB5q)d9g#1T0plY{zl=t}}QmMOuUN5Ud6^ColHuoAdPZ1%l$0D@! zo)B%57oZD2DKzOk4h?`QdgAAeMEofRU*3Ar3z2feDJ)Vu<86>Y@U#ND zS15}JLm3p9KN9WSD~WD$e$r{ZpJ`*q0a~x|HQjOPIsLW0n+_lOfc6c(LkmpX>5SQ} zbT!sY>%PB4KhvtCcMZ_A<|;m|5K&31-YB6@)fUoPpU=_h*R$x4A2aArK56uu#6
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_87b5c3c8.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_87b5c3c8.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 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
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_a1304dd9.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_a1304dd9.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 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
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_bc9340a0.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_bc9340a0.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 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
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_c53fa676.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_c53fa676.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 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
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_cbc84981.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_cbc84981.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 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
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ z(%VnS(`MJDY3cWpw07!GQOT=MqUkqYi(zJi5p8X16lM6= zil$Hk(T+7dQMpZtNc&d4=(|IXNYyA)q<$z_G^;OB1YJ&w`&~<*PaOt`N;iKlW!u**z!lOGAg|^x8LX}HV!l`t)up>4^Sin6j z%sJyPJY2I@=rGn>sPJ};(1x{C_@#5U(C4AOQ2D5(kYU0Ws)id2?>{#du5BML?0+>` zs41%~Jh69zaC$pK=(}1*sCDy=;PbJMg2^ZQ1pDsw395W)!Q)Lg1oA4E1w8=`g8M2t z0-5e|!Gpm}fnsN-pm)=0!F0z2!K<)?0wqR>z1=On`Jzg_o1@GqI3GB(D<>!@qbFJha}PO8$- z537oOKz)%-z*M@cDXDk^e4L#o-&gS}_AOM4KX3F(94}<^_tee8D-*WzJ$o16yY`d( zxyu4^?+aV_=alsDuF-(6_R$AlvOtS})nPmytzgXG_E;WoI!9BUOijFMU?hKSk{34a zObB&zelPZDgc>#LdNKRlOKHj?cnR;+p$yDy{7GJzg)P>6+v5a_wn7Mv+>WPeE3m|*Wy1f9^oJEh{A(cIrGnlh2n4b?%+%6%)|FuTJz^^ zKY}lj(c$|qpNv1*!Qsok;NpuF%BW`zWAOdco>GrjrC^ipMN-~R6!5~$-Mp10SJ?Bn zoumexgc$!@DzjP13oA4#;f=q;7{WeRvVfX+WeOI1mw|Oh=VQGkNz~b($=JGy1-vVE0xYY4 zBd>YwY;4QtVCvW#HOzT7ft8Kja{CO`p4cBp7y`J(l^X$Z?^uo^9>U!`)&U1 ze40ba$7lW9`E-YpQ*Hn4e8b#z!R&uK-~aB^|8tzx4Ex`<|KH77{hz}l(ESe{zdjTG zJ>o`4+#O=!|MFvXGAeG=DV8JA^W3MQLR~)pV`UG&W$Ek zaiblpX6KEtT4=S4>ELf~6;$0-Ic=hi)d$fGrvBZHR!__rW=4lYt+beVR!y}htZ0J{ zE1l9(tFWWU(uu6Fl8c%HgV~8C;cN>chJDyCnQb4G$(}Smk3DvMIeVp0#C|Sui9I8r zm8~LwkL|F!m;LPKd$y~a1ZH+i8awDY2FvzT#@@G2!QLF##x`6u#tK%jvANT2uo;~W z*z;9OvEBPTuzd}iv8nR@n4ek*77%?DJM9pSJ-(NKMbxBYUxRb8vyH`A@pT?%F|H1K zpKt{eTx-X+dp*SZ=e@vq5+AWqg%bGLerbI7{xNv?;fc6Zmjq91W`{oLNCH zInC1tIXz<-L;#Q?#%0P99R`ZT@i!BR@&R>XlA#t66{btnnwSu+x=bQ$4oO6xwk1~D zIuhA-i-~;!D~X^7UPM#b7NYZ>A5pInNVvW`OvHaXO7Lez5veC*i42uwV$+LsBI<57 z@#u9vF=I{{!G6jkA~Fy$F1mquc=3lAsH+&@lom&K5^gK?x->@L~QmVBazmxG&cSj}%P6kpTV5tx_k2GrNB2G?eJfdiTw!NTd=K(mJ*h`+cWq@M@^ zQr8ayW8-iTnRE=)$wq;1aVLSgNjxy@Oae{E(!e&KOt6rZ4cG>Gz*xT!^ny|#>rn|# zo}z$4mk3O;tOK{Q8bF8274ZJdb+BaKO+ZO?f_uDspeOnnuz@nGIFf=E6f*9*li*9tLhIfQuFuK}XdRxc*2fbhRpn zEdv$s%h4+MeG(7qMpMv)DS%vB2whk-ToI1oZsl5Nkx~cyuU~*Z%JncYz5#kRUxLfz zn#6f7!^`upz&WMO&@t~SoEUQrj!eD|89gn~t*8|;9oyi$Z*woSqH%{(?&!xKHp|_n-@>M51 z)A9R!v#=8yj_HKVj~y`Ex&tcq-G&!U#k%rt!Cvwfe1WyYFT_n)vhM~=dDI5K=eNSI zcnh3he;wYyufZ9rS7Er==C_Sa@OeWcWKO#TFM)d48g&7FR;+_FpCY(y1P%8d6vFZu zd{`-}hJKGLq4xW7c=1CCl)P31@75N;>DuSvGwWO^wI&PB%sm6a#&pOTnF=?gCc!Nm z6W~qmDX7YhhBI_ez=G2euq7oFat?&RdiNkGIdw+e&!tV!fkZYs>P#YD-7FNZKOgDdS%PX<%Ta@rJCeET zgWhf4hB~(HMt9l+ko7slD+X*36(^|ClNgdKSREIWu)S=)T7g5r_dek&{5slBih_uTZ zkaG4VbcR)rTnEJQb(c`_j7#XVn3GoTsz-&l8c^5WdNd{OB6>Bd9(kU*i2C3Kbbm`7 zQaM&9=0s~zV=zMK4vkcoBb0bZgv`VF=ur(Hy`}i*^@VD*o32E!4J*;0dj)drFGVVc zijkW{G3t#dL}#MUqtjQ;p(SeP5XjC(+X~L0yhWKP=1MxUS(b)WZIV%|NfO#WD*6bf)XfnME+K$eo>Xpc!K5}rGZ_ArCcw88!8mdaj~nY#-uaNLT7xf_t8 z?poAm<&F-{Sb@}47bBl2Cv?}&0XZAYLA-AOo!f__ORJgaq>L##_COy^QPDxyK1@Z= zg4NJFuSsZf=Xj*MTNWAKkU}SdMj+vbuXNqnmvpOZ4{aj4N0-^R(d_g~wBtFNZZoT- zGyL-D-brU@qq1cBLh1>+#quyMXL^VZu-!txNnJ#{xmwdclW^M0QkQn=Qlw`u|0!~t z{!H}9^{S})My{yCIY?yX=^%1@>j@$<}XU1K|>q3NEn0W8>V1=5ef9P=YySrE@0W{ zr9eK$6XfjP45t3v4hB{C0)|Hr&^Q?a+CPPYM2lk}eq$tfWEKsK&Yl7l)8fGq`$Ukw zEd|UtmI2;K@pI;Sqw&^ z67VIi6kJa(1;sPV0dHA3Xo@QXOCObkMZyZ8-BJ$Brj>&M`wH+iv;vGXDF+kIl>rZ; z9ITNRpGl=4nJfjfvP-}Mi4rh&e=*3ZD*~$p1t8L|0L*tP0LqMfkhkp|n9n^2)^z5A zjOW?Fz$*)!0%w8O*fXFgDFZaerh|tWX<%(j3b^(m8GKAh0(Z+2fFLOjtf+|vt{276 zoM?iAOcK27!KY~2?J(74+HCKAs}i=5SYIp5GYdn!7aDFK+bL# zcrLXQsF(TzC3he2EMgsCH+g}^)-_;x4C^tZ6L8?8Ypem1T~QwV1m9XNEodQ z+Js7=oHZ8k7b$>QUUGo>Q5py=M}X3ElEBrP0d^>SB&P(vBX63$A$2NyNu?)`$fr9W zlG^LK$mM;lq{Z46Qu5eU(nY$S>{UXf=P5*vF{4PS8D*p)vxM~3C?wSavq`$;4Ed-y zlXT`Llg*+;Kb@d{T z2D+2}vt3Amj}z%S+L=^KuqEdj5v1EPl3Z%fBn_V#khii8NI{@J`C!`=vL{BBd^=f# zEI6)2T1Ux|R?YI{0o~E0rw)TWLVP36H2x$q`ud2sMURLh6Q2^LP4|g5w=2ZUgI9?- z;T2*)Ur6+ZRuc=Q_(aa~Vq#oyI-xoupYTdaC)_I%2(@F8#M_!=0{DawALPRbdpekS zHY1quF`O&eU}lw9<~H6WkoEES$S$N73lj$lvx#Mynmj}zY0&S4&sB*u@UIR`#9a(1yU zbIdGmb6y7~aVC3-IIFbEI8%#Hb5;7*Qclgj z&73bEgE@Ywi#e9ZSRBUsgB<2A7Ki1p%keHU<4757;;ePLjdP7HIjzNNoNWt@IB&Iz zam_&+&H?%Rc!c_MTmx^z_lBBqo^k{6!q9fyOtA-FB-e+py@lg-6Gn3G)TZMHGs5uc zcZ2Y^XC*l8b|dk-;la4PQWCzjxfrJ+=U|&Qf&pLI31f8rOc>ds2sWd0e- zGn&NL#XrU9$=cZ2`kCw-qdf4X4<54@P3Yk%ZBxJ#KQM5Yij7p$u5!$Ii4^Ye@-**C zURt$Gx*1;eW(GSVghTCe6Jl}HD@@n-9JNvZ0M;Xa8`B!N#4AnJqR27R@C$X(%%pMA zR9NVFESM<5{DKlFr1F4$*SQPJ?43>R=vSu}2qbYhAkFH{I!&b{1Y^6Fq+#mb3Dm31 z@$3V^*Ra0MHPr3*TGY(vZPtw^;`4w(Zxbw;F-i2A8GST0=i->8DCw`_tFhp>~Q|%3sbK>$DTI8%tp8<)rx= z+H$bPtJJZbkw>WNAX%1o=TYpf-D{q|OC`0TP6-cu=|@p^D|lF)K9$6og!jj3^Q)JZ zVd32j-fo+R?B*lisF@R0aPosJRd??wHH|BQ?Xum9jhGxnF|BHOhU*_-47J@Gf4_UIz+~P{7?uS-uOUONisg)%Akfvs$je=-$hVuo*=0r}Nw%~+-Q=UZGb18;n~ivRYF z6TY|MHKj8DGTY^%wN-Zv_H3C(^{AWKRIt=BOmXg6c3xNrMQ|$FM-L`roY6vR$9Gw) z-ItOvY00g;x8m<4yn`~atx-Z&z2PZJ?m!T>BG!*Rt4O>bVX;4T)nGgx_WdGN9OuXG z{U*!$?Cyg_#?(?{_8-6$i)FDROSV!4YTJ1$dULTYyPxv_++fuRHrSXRy6s7f5pWU^_hP`K%4^|{INX-s-iZLbT^NQC^q-MsS z<#j)9#1hB(Q8OYcd2O}+*a!8?)hV;~Pz4K)V{)S zw~#I77J|gwg0+}iNd2K^6)5Hwvc%j%mzZ04x7oyMwya|nd47b|3o*A4vd7*^hu2l< zFXk53(=(XqVs61V;hX8);83g4;y0vHF}LtZyTfW%WvLYvj4TU?3ac9@W--rJKDHX^ zt7nmL`ni?G;2vgMl>$@Z-UzGbVs2rkm|N(XZps`idu-J%<`yoF*w1uRTgfc-TFbmD z<`!Q2>|{EMxrGOvMa)GjGMSPxp-k1f5@yb|ZszxGmzm>BikRn|A2ChD?=>qHerL{d z8f3;xjAeb}tF!K2oWjz0r_XAdYsor#-HP=r!;W?GsXI&hwg+oGT*F#m8^9_&ew;P^ z<8hYn>l3WE*V0&)Y3EtC*Na(_N)$^+%q@Hky2hHbX)o(QiH5#b>CU~jWX=) z^Ap$^msQvsBgEW-gFbt4q80nb9+KU;(vH1n%Odtzr`7D0^hWmk9scaeH-g!21>x+Y z+!*%OeaURigPH6X@_FnqpK^BJ1reM0-oTdG)5>-nbB~RSxrKe5@7W8)+yZQo#uV3& z!Bo7JvHlxVu!?YP>{Wv?X6eDkz%(07@tOnnZQWArN}va3Q@0trBk7MNsfJ)Hl8$2U z#oU5&djd9Bl#ap3TnxKfj3w3cu<^2W*w5@Mm{)5%hPyq){KedYx$H-5t(aRFCFT|q z_l&`Bhfc%`?rGo~SIodw?G5o|xt91QI}+D&orC+oaK?FJZh`f6Eq<%p7Y}#ZhntJJ zg|>-D@%1rLxP@ap-oj1815RY&{$g%n(bNk3yq6H)Fu5MzEanzQZM}`N=Rd;Zj=aE& zW(?x}rx_f@4Wl^jo8&qEMdLY{HmV#yF}IL9Nr$szzcI(!g2~xn1UP$q=5W|r&YV&D zZXD$2!5L|}iSvH>Zcg33LmW)ZEyyY#cMICbOmIcAn+oTyV2 zXT^$IPVlNG&ZO*C&PJOq&P?nHNBPi8PL0kWCtHz0a7ZaaGg+2sG*={I2PP7{ck0Bb zDOyBKv@YRFnh<7Fn1l~T5-W3T3G?NSggL&LsCHjTEFJVB;x29>4qo;n9F+nIqi=_a z=duxmk$x0WbSjqUH%=y&KTapiu4EIZzvUAKZe>J&3y)}wMMPD0199orRbm;totXFZ zF0tcPH({mHPpED9K-@F^LA=QrK|Ua5$SWV@N&lzgNVTz($ZAZ3tT-`^bTZW;m0uZ> z3on?HTW_#Qd?F;@#mpub>Nt{1pSh6pJ}e`<#dNv4oOoBXxS%AZ|2f4}f0eku)z(3;#wz;ha zCrK}$WVjJX8f^n7UHw3tXg^4Z3Idup4ufigaG;QK3`C2$g^*Jx!5YJOu;5-2SQncH zp1Wm&5^gr=)5!xL4GTdmECpxRRf3XG3S7S_0uuAXO!Nv+1`0#)nY}X$HpM6t= z*M3fb4G)x|u0R!jD$;AHH5ZY6WF=j9A3}0f{Q+|A(%`+ z)9nzNUA2J^&E`OjfVnWY-w|$Jw*aQKFM@|nT%lz1a#*`@HGE8Yz>fLeFi*w@F3a5v zr@Y<@WB5Da%&0vuY)k-j-Fgsy&xW_Fp->nUE9MqLBVgF%<8bcNNT@a# z1v?+bKso9lPUWT0&#W9;->!fLsa5c$5)V#@p`e|y0EV^+p_?HM{UQ<6 zRIG*C5p{6??F+EOvK|H=ZGiUFCFm~I1TW3L3}ud7ff>u2VMEqcsD1q!G`b|_7JOUa zyTVo&C1`{3b8o;2*KR;5&35R0s~tX=c?;GZzXi`m-iCpA2NYU}`GLX?s5P|{J`C)H zx2|@=y4+59Rm>?I80dsEExTZqI6U`qC!Bnu6J9LngjWnY;o%b<@Y?zg=-+f3hQ-{5 zFX>xweNH<>I_=O*%wwRE8&F%J4UW%kg>9`ZP~>?X;^1_~K?9TsJlr4!nwnp(`WdL4^od7NgZg9th1#sM4JNWY*gfFh)Fr>*0)|lwQ+((-5 zYK3teOSn6Bx2O)Jm*Ne5VuMsrUnqHy_1Xtv^1v@TT-RlYVx z_RtdL&4g$Iv_ls?98m~+A)3*)0<9S7h1@r+M|$FKNX_2(p_lmwkjA?}^v3Ei`tA{q z=3I$D>B*5uJuDjioN@|XpA?T~T8kP zkqgLPyAJu?t3{jRFQOwA4QTgP@i(=bFQOEx0iDslgib7IK>8o+5jUU#MIE?=yz3iK z?U8!qmR*kw_cS0uPCYuMe-Z7aE})oE7ty>u7tm=`i)8lHprsKti0VhET7yPgjtfz~ zu@Jeb3(!<;3N^p1M*ZnkDA}nJp^S2LMY0SPDwm)!JB!d|P9ehG@{yl<9&&t~gL?O5 zqwCBpq%Dz&w$i6j&+as2otlDQSYu@NU(DY%G>CJjMKc4v0ycV*2~br_{Hdw^FkE8eI80W zJPS>B=AypK9JKeD6`GrFf>y-pBfXZH=qjOwri;`O{X+?b8!IBliZLh@$e^4lKk1^{ zkF@RB_jJqMXY}!~4qChGIz7;JnT|bQOPf`d(dAZoG|xVZelstb9xyyXuh|nyYdZ$e z@6CPa&310I=WaW?cZ3D4=P{i&9IZ_6I5mPkRNXClOxKCtGV(+$gQFtVv#z41TVq5~ zU#f)#Wd=emfh$Mm@L3{d?@01xtrgjH+nsD5A4SGo%_HNf8uIhg*Oz{6uIxINVnJXONLdPxA{Z_Ngi#<+lqfvZ50i3ixNvL1X~w*#!!Jp?)h2SNOr zU~qX;7|0uO9OT`J1S#jD!05!2;0KBaEdM0nrjP>8Dy0IXln%y@J`1AeWr0movcUNF z*?|8r4>*s@2OA>KgMEetz?)SByn2ekCjDYSA1nb650!$M{4#L%YbhXo%0cG#a&Z1# zInbO@4uYyH!0I36AmUOvkhCoa7RxHYI;V1QEUOI6?Jfn{HDzFfPAT|YQ353CV(_-V z7>vs+1niPRaIvxgT%1$@rgY>1-pV{cd^iU*RC7UUK{g0+%>uWiv%rg}Ofd3V2Ecxt z23OQhgFT;9z{6+Bz-CzzSd^InRNLaf(yCanz~B_m<@&{%C+lgG@YeoVx6$d&WtiU8cb1?q9 z35Z%?1iT*W0?Yd|!5M!o&}*X!mYvc7<)2hRki$gqgf{`4Dpdserei?c{LujWEDZu4 zj|8QzlAzS@JLxa=g=8tbBh6D^k#9YplX!nOiP(2ZH=8c9^+-F}YuG}rT-!u$cDO_q zuB;^;TZCltWgaE;G5}P}c ze3QZ;{nx%Co;$oJScOlCV)kQVT>mYCSX zAjYO;ir;tBh?BC(#2Eir!o~AA5x72z=#mK~(Bl2XV^IL1W9v_JsBR=Y9aj)4g`NZj zoQV+JiI5P^B0`}(ageP?2&Ur1cYA$8VXQHcg^eXzp&pSmQjXwvsStDa{NUIMVxu*{hY@JmpI7_u5!AUlykoJH*$EKEKcE}^PC5U#hgR+ zr#aSRPH;Rmqd78B8Jsw_FK6>$I7d{no6}1iQ|U^QiPK@mQ!sx2R2UNu(T(0beE3jbRW>;vXDdjV9&u91W$U7N$`SN-^@2hy7IQ|Y^9^;B{ejSU)jIhQ_ zgcNS4Mq{eop*SOY3tpFX2)`j*hbfJS#JhHynR4sVt_vL@JUr^Y=NvbyirU=tbXRL;0McJ=2V z_Iw8kY?Veg^-X0ezA8J1YR;9zHahdERxSsB@YIx#F1*F=?>ov zKR#1C&W2-)M!ch@V)ppAo92Aow)>czT@=OMbQ!BPo5^<=VBrz;Ws0}O2>W`YiRvD} z@QMNxzF)>u>{wYkMVNG8`LgmKE8oSg1t(K3ADgN@Ck9}$ z?;+KuxQ5qwbQ~5jQW;x+o}xbU$75dG=VQ-zc~Vxo`fNNem2IUa#V)uUL&ts8~SKaom(I3?b*cx*YVI4T;GEs^6ZWjw&-ovf+c&b65G#`{!nz!dz# z_c45}uyjoAEr&8`c#LIM>hrbN$l&jv1ycCPgIG=8BTC(M2Hq5>!pE{IvC(PEsj&@x z*oM7k{7(!Gd`xx~^>%R)mf`u661+FT1v7Q{x&aTcxXu$)RM$&viu4q|YR-GC_$;J4 ziWIPcje!)`^(qEeo)cvlz=?_|X>Maxj2@fBRlsW;@Q` z05x%+3SIu$b{9PCt~K9$aWB>r@RhfyS{E~M2&Hn@%)``ghiavcs(aI~pHNZC>=4z4)0T=9=hB_4GHe{R&>P@9n3U zzBcoy@}5NOj-MVCx1)-^%UFTZ-+mjL=Ox8|Gz|&!OzxhWpLBj?46OJL6rn z;~qaeXA?MAPfq@D-lR9px~E@x=#AXK$^(Os&poeE(jDl~)?55WPd8X(k>`^n%3B)C z)t6qLm}_q3d%iDfvHrw?^Lg!VkIx;MZlW)zp?W?(U~1m0{4;ueb64s06o1Z>eW|LK zq%dC36q@DrWVGr9zKF}4+9iE%Yu7-Yp^?3QrHGxE7#*wk_!Mz|Q1+Yd;W``r8&>J( z&vU%>TLzf=scfn9=Du?IMx>*G{Eu+`B8!6jWnq>Ev&3&Fw}0yA>xPfbfB)6j;QXU3 zeRnVU{Q6lD`Qm@qF^F1x&cLONRj}(*ih;DtRD;Hw+wuj`sRr>e{svOgxdqlSp@#d5 zWev&Gi3Ktq+WFI8y6N@ijdYQ>XQW>CH*q zB~pDdrooHTO-qh1EBTP8U$RG)ZMtAassOPVqxq|BN+bpN0BzUwV& z=kb~*y($PIh=L*=b~lsV%`8Ql3ZhsMv5Or+ET~v1N)wP?lwtt|QDHZe-OZqgs93;W z5ETn32!e?Cu^{q#{rd~vi|@re^CUN!oQuhmbIzPoBZ$zcmRbzDWS#ip^8WR)nwYj6 zmjhWwoO^eis{7UItIPYnU8G4LF6}zu?{e=D*QNceQuV=cPBr89IdR&@s3H+Cuau0ovnkFTECEG3>h=WIR4 z#Ada4%EVFP&T0AFP_LUD#cj{TQCGikrk$M4-SSC?qw*j_T)JGTW?f$|H)cYB*eSkA zJkWiTyJUk8_wf}Iu~V3n_@u+bnya0+xW}$|aZTpvOL~9OVj-TxqjHEyOr15u|x84xvj)PZpV#i58z2A{1op# zlFjWGpS*Os>!9?>cx1)`9dYzgFI?;E9qwd=;XQ`dq|(V z7fuwTA$5FT@LNAUH8DK;HPBu0HCG!fWgR748E5fQjhD+VPD3C0wi9+tr)tQw`e8IaHYUGEMH1v%33dP|?U_eq2W;Lrz zw%3?2m-DZKgg{fUaz!axxJ-xO+ggJ4M@or%(nGYC#z$llqe5<2x1M;+8Zi1;n+&RZ zCNXlqfKs(*f_YpKefZcUVz1#<`fBJ(kh570O)zDM-S$;y&=jSlS=wN9YXOg227490{s>) zB;#HN5?@aM)D^s$p*J5Tl^@mtYrRtDpz{adsNI3K?kps?Eja^hruQ?Iud`72%n@=x z8CL6m67m#FX`HG9V`qy!H70#F>4lb$x3e%a>eHP%*9|4s290_sY@XGPaz38 zmqn6Yw(IDkfEFg$VlOG&+d#_RVy1gxFHNOy;g%j9IfHe<61gf926R z(ucdU7{e_bzUGU|WQ)mh={xs{{0c2KzNg4ss<7rUV>-r$uio*BBq}1L5AI|kIMade zQ=CgWPWP3jA_J*vbqU|C{t`J9m@R$aq%9p)f%uwWKlw*zhxF6^$x<2?^R)+3P}rYJ zrn+el6D{{3El1+W+D<8xoM+8<{xnm1Yy4a=bKX_*S?EQwcF0DWF@6Oj*3sbyR$U@* zdX1N+AAHQb_%xsY-RnM)(0G^O^fk)1iOzfF^bYxqm-1>+jwN;UY`E=~E8rtXv{pYhyuNT>6gxBGyHE z@Q7II<$IJ=wd>+noi&!e^u8{=pSF&_ze&h%zNjPhPP3L?OPaM4-Py-irbx$TF@D0^dAv&3SP{&FS*N@ zm?=v&n>@(lMGr|g`%H48;STB7UnfYn@z&&BoeGd(_L!74ZI`-CBT(k5B!0o$NQS$1 zv-DQkYVzjY?R?3yw@k2TfppU2$$b6UPW&}KhSIgmy`<-jP59#XL45NlU#S=LmDcZ# z;QtA6=3h@Jm4;Y_GiDA2eA{+oX8u7NX##m4sl*xZ)fGjkV(k~EJFSUav^AN`t=E%2 z87^d!Ro3&@U0X@+UY0F2&Y491ZJx;wZSLZ&={YQQ*{97PxuL@Esg^UDmX{d)-}T~b zZ;HQf?OGMVwi7^3gowa&V1s02?HCqONCM${+~=w z{!A++Ce-_ww7q^4dAcW+Z!)2odDLhuHSpdK)RV%uo!wHMw7z6-##V zEm0DGOx_h~ly$6hVy~RPjSAzxj<1lqM43uwq%Y^IJTc-cstq%9vAs0$)@5>P)DU^t z6*I-z$3dxAKIo7Bk4cZLBD01E$mH`^m>0o3snQr@zTNUM{F2fKOwj6n=J6;2DENm@ zgCa}2ue!lxri0Z9)gJZ_~5R7?j7T~{ECFR!6$i8tJQ+h|2#R~K}c@(J?upcNr8qXx>?vr>Go(D1BUwMX6IM-dn25WS}9pzqpjG*!EXUgJ{=N{rmlx+z=HXU!P!w<85OxV=ZA^9LklAsN8C zprz)M!d6thi2&;d3ph~CAFUyDfsJ<}_SJjCDV?)enITy*MJ3aV;TMJtAXvUGsI+B3lV?rGD>W$2MPKj zq&)8^J-;D~$Q!d0H0R}@5I{8(cQ(5K>9%j^>Q~6;$yEk2INby zxstrVt^Y~yS`&iCl%(=p&m99@ zuhP(!ypKGOI~kzn5q6YC#~roFdhsW; zdT|x;G*5%D-hTr)6;EXhJ|72(QvwKcz3YTVO>HB@+GmS z>Kw}HO9Vwl>4ePb>!o)Pj_j3c_LrvsJ93bb9@9k_iN2fne3kz12Ja<9D!VtIGy9+SB! zfHz2Fe9!=!QsdEZL^lx>Hy5n^5RWX$`!rr(3|1f`y1gv|otvoyo=QdtZQWgH%iAwR z&unurVTgyCjyj{Vpi96kZwdX}eJ(n#e441pbONi&<4|7iEn;3Q1$st%p%HZ#q-r@mRLh5H5h}fM|UCBnK~fgMj7!Y_Y6H~wiOAo9)fR?%h1H=fOr|EjgIcn zM3Uho&`-P5)dkk*@{3x6jusO;^Iec`S^^O<%MQ#^Y5@~wqvU9W(C{82}f&C-C<&0BPj?=|{;<91@ntILGM*%JvLy&@d9 zv=e!qj_5ehqL0?;gHvOL1T%UkQVL%I5(nh8WsW0H5O|5Ma!Lc`+Y6A(_|3#lc#bG~ zRzP@4cc9E#H?ZZ<3<>8SPF4TK6XF14Fu`IPI(K;^Z8f+WBxOlyLhT;?=f6<^Hup-- zoGPYIkFwy6@d*QCgcnfEdjXhqeJg#f%@%M1{_VpHO2O*l*=R(KA-*hAMBn<0fxh2m z6tQFm*vp~mnSL9=`oH&)pz|fz(0>-)da)WD?o34iOa6fG-3E+%+coeX-h$qBo&h|A zJ`}a0AFN3^jdXoFh-ZJpXua<|gn`rITw|GWGj0{=tce+c}4kAUplJ8_gy zy{1y>9(TiJrAxhmZQ=;ODK&`$^<2Zdw=VVdJra+c^sJe8w1TUtxw3lZ8CJZ_oacF zs^+?yZ-;&QH$WaA8ViJ$SXxHZE_(!Ri2Vux%b&*uY4P>Gx5x3{Y#<@Q|3 zGR18Y-t4WCa+`G$5E>`x)yb0t_vJ_)ug;dl&n%NzhagFYDl4f^ye63?xi8svt3^_H z>7&GW*KbK_lOp{&K!t8uphtV>n9*)<5wo9b_Ipmz!hIF=__%6XKNHjM6dUQU+aJ(TYAI^p@*^gt>mGBVz$-i(G*o4{Sp1 zu~EqXR17jGNJM|9r6V)NT$KH$2wib4N2#tCQNsxaE%;K0+Ouz?rBRR3gQ3@`?O7N4 zt~iJy$0#t9VpW+--P(-Tu`!I%3sdHPv?UW|Z^!8Sa+!=b6ysFq#bCVvCcJkMqpP`! zN!+rTX*eCl>;y4Pp<@E`B{Y?}qn6FA>@Q>#^-eM05-J#v1vSitb#i9-Z9SuQ?+!EW z`(sAD{WbG7u9La`=PR?b=?~+lt|ATW(~!Dp>r3Bk87u8JGnck0OqM>KYA@YY#g!Ju zQc~LjPw9s5e$tYg^QF#xOQpgU>!b$MRw<5-mi|qRm2!*|rS;EKrSzjLY0KXNX<~S( zbk3Bs(qNN|(w#m?np#^cy`6Yns*}?sHST*NU6uD*nwR-es@d^H+LZH4s(x2dHuzgr z=CD*-RyANCTY-#ai=^hVf)7@*2LX1nO+Q>@S#5mTj6pZq=J~#|YkvY{)7~zWaYvTP zs`jjt`M5^N&bsZEExCS3)=+d<=5#Vy_Pj1#HepPT%%!kUrZl5e_IqNvOqZ;Z-QFvf zIdscpA(?fuiwAGYlJc8n&h1ZRk}a=fF*7@4ee*uc+z$`Rtc`|c6@QfE`f+Mzx? z`+z)k?k~Bag92;Oq|Bx#s7TC9?(9@}X=h8><_%$}Myo;|YZU*`8UE4IhUhCO%M zfi-pHu=0<9^{k{=yx*PmJm}48WzA%pPt9f%`sTCmmj$!v&T_VNW+)r;-$wTP^9c4^ z`A&9o?q1fr^$=S;6vrMIm%ygaPG&8SrLtikkFl%Vve}x-Joc9LarVObVs^UEDb}T@ zj14TUU~}eNV0T;9u$ki!yJJAc&UsqPe(Jr-#+%+?7f-&;4tX@Q50W0T;OA2|li$kT zO>JW>6xvy((oR-y%4hcFnSQoX^qu|B;x}vb<}W+#sv_35Q^Dgds^ZA;8u)aU7A`Z; z#T_U0@lWe9_`b{tj|wosM(w89Zl5{Uoj4IkKexo*+os^}IySiWksYR!9q~P$3l93g z#a)#E+iw@(g;o&HZg$1dl^)oBpBMfz))%X`&A_MY{4ovD@=SIBjb% z7Ah>oBYn&9t7ofl5E+V{8`k04){Ph?gyB7p!*TbDNc?%u4s1Idg}W#3!7Fn1;&FQq z;P9P?Fh4s6udRy3+B)(0rNdz?^gM$3D--bWu0$M^n}pX$lku0#6nrHAC|0UT#Zf2H zaMs~;%nLY%O<)H8^e6%RYZg>|y zp0OQoEeXdJwwrO}qjmV~&sA9a%The>Y%wkfpO1A6XJgBSGjX)PHy+`;;TJIi?6;bS z1A`s$z;|n$X*UTsC5*=!R}Jy*VjWy}Rt+oAirD7TAR8_C$Uduk&ORHs%d&TC*}n!C z*fQH<_W7D)tb9@|oAGP~8&vMij($9u-En;sdm*P$o?Db8Kdq-P9}~S)YFXGTc$BG8 zmO3=~mpxY&I{u#*(-P{79iX)Yz$?9OFl)dEf{Sxtk5Mobo>~R3!;SDr(KhH$?}a7Z zF>u0%!|KyigHM;Eximl#dc24^`1_Pc_lhy6DP04N<#PL)5lcUGySVP1L_eU9>n_U8LNl zDoSe^B|3IcRrDZ1Rn(fTBI?Ui7M&cWA{w(tS#*O@6ph^dcOEWAK~(*41diPL16_4~ zL;W{D;mpV%&~^VH+${eJJ<`6wz?@!KWYq)j*>pj#u^(Vi<$GAX{w)N@U&GYC7jVwY zXRxT|2~4PZ2n#+m!%Ii*z^5M?;gQ$ZVWL$%d`(`4&Ot0Zv_}f<4@;mfa|zz`uYx|` z&cT(Z%ixoslW^wQBIvlU5VoUSs9Kr{ErQZv!?qOYHaY!qXeGge}HXg+-Io1UW-@YAV|qSwdW}JRs?~9QoJEzZZ7NUm|_B@1JYG z-KgIsauVjs(&R(i`^L7n9)ma+{Md;$DOaqKE4e^D( zu{g891b1=9<2Mh@@v0XVc%1$ueBHwe2OXY*9|cUsgDy7s{VH1wmf2(1Tt~b&+Y$E& zo$#NJ&e%4cgX7ycIMbesL)*A``&S+wC?;@M7lBh#32gYC!2aeWrnn@woDA?EQ-DR* zB#!F`xL-!#v8M^#dY{1M+X(EjmWM6J^00Xd7Z)mV@jGP>UVOp@KL~fmS}&Zi@RB3u zOmW1fGJE`_*$z*rvc+m2ZE#7*R9x(6ja9lQ;}aT_vC}+DY-unFZ#rv%r=OaD?Jk<( z{0-yrA`MgQg-x()^H^NsX@o6I4e^x)qw%KG`q<)|E>@_~!OR6MT<4{Ux9m{IF9uZc z9^FxR&rxN({+=QZH&MV^sejm<)L*QE&VTHL)dOtww?4M)c@G<~x{FoL?_ej2-m(1w zZR~Njm5pnA#-6Hs%pR+pW*2O}%?3x^WGmbn*nz$}RvKB$u8)wjCv+ILszc23 z?_OfZovUJXS5~mQz0284n@+O@!csQGt%$X;E@Z9#^~>yV$!5n&GuRD>(%3n5DeSAW ziL6fM5w>|{9J}!0A$DZ>UN$&?7yCXkl1&)5g*|X1-P)|vmIE!!&BMI{*zh0+C+A9jv3o5Fku@_ zjo4RWeKw{*hYc~)WThWeS@x_FtF(7SzPk38e8QsvxnaO(c?$VaK6~X`d7NUa{DJRN zdESEi@@Xx%e~%Q%Q{tWF{N0Xn{@N+>s_B;Uawjvnz-XM@)mvZgRiZ2BYir8Q>{aD) zYJX+B%YMtm@A_q5YCp+F#P4Ju9=??6f(J6^&?cE_@l6?ayDE!mr)6W$OJpVFdD**$ zv$D+l#WL@!MY4}CGGv<%WXe8%OqLC|CdtB@_sAwy9FnEa*&^G`+bRq42$mU7SS{=R z>MIL3n=2bObd&X+@seri+sXP?5VEZ|C(GulTgyJ@jg>_$GnIJ@v}K=XYRh7Ns><>v zDalN?e3e$WeU=8y>Xp_%elES;^j!K^a8v4s?@DKxiKQ4^lb*>qE3Ig(kS~&6lq+aqBLitiPYFtK`Qaomv%ZnWGt7AlHUJvk6H7+mvO_j z%n`G8hJ>Yzn^7aPE~AR+QkF0d2C2+B%hQa<$xP<_{uBnCNMO7LhnNJ@C?>%?kXdvp zi7~ZzWPV0(Vg~ATnNoO|(HgmeoGqf6^LeMxKL1GO>q{Zh?l{D#F8WDtc^SmG=3+Wz za5FQ~eoPYWH;wtJ7DwCrPh(CCLWsQU)0xGp9)#zi@r-Ae0by1nVD9%Ag5p)ijOCTH zMEFG$rs|CnC=JkNTB2?cpZZ^;DN4tP+6}|Vol{NdTu4PHyN4vY9#tr6&3`=q{=G=z z;Xymb>7lDNx%A5FNaX&dSrR_qmhRy7)0JN+wAeYanwGw%H;ms)Pfm-c1E-4Ur)_hP z1#d3lCbOpXtt{yU`+|^T%n9O_;xl^5+%LT6cSqyce(Kk?h~60L1>m{{CzkA|<9|Emlw(WGH0l=EUQ~m&4oSi5 z3mvF6xD^=Z7%)SfD&$t1=g3yx4cO7nOw5QO`5>wfH5m?o5DP8lh|ceSK9@0!R^V?i zukI{bvJHW*Ek?}!zXO09cOHc>H6ZQXT{L&bS>X5aE*c)63k*jPo%=GMSk|x|?Pyz1 zbetIj_D-6LMyOE$Sk6QHE{_5p&*vb=7ZUKtH4D80{k-vSKGI<=kwD)>i2i#bAwGs{ zA~ESkyeocBk2gyP+Lw1DiwmZ_gE#cio9bfFZ*>GcsB{9~0#~9vrk%vrdI#i?R|Ocw zqX=E&@`_(-q5kp5!D-DTv~|@2@U1)r6;TA(z#Ks?x4#1Q)gO^lLl}_lXh0MFwaNGp zWhTp{2h5zQ#uUtY1s269Fb5txlAGR4U{+gP1tL;~DdswnchV*@D=95fcZCtt64njy z<5A4nSAb0aVaezh(IEToXXLiulzj3n5;1X^3uLVvVLYuP1sH6Noug29lw% zrgX2aE3dG}9JSiG63miCVDu6atr%xXS0)Y9;-7h7r$Ql0-BATre`!VqA%{S)eGLlP zXH0I>)L^C`EC$*`ACSjEeRBWcDCYVSZ8BrbSmsW_6CkTsU<%3wWOkqhbN);{n0k5; z6=5|pT>mASzpDX!T2g}k9N-Ys;2b(uZ4M}J3a6QG^H9-hJy4m<(h=uX!4I7iv^=el zxUnt+eaH&{Z@ZTfCmVj(L@RqD<-RgvU;~%yV)}@ycJU-JFgceltQd=o4(%cqrOg8S z-IUOt&h_-7bs6-F#z`PLWIW2!It*St+=&8qsB!2>{|w75aahhd zH!4OfI`!D))vqirD%i!5h8T$JsyUnqa&KxT;+oD3*6EB;<&dLNx9Xh{&H>j zFS*IpRou<7pSZ(3Bc61+I?rV6FgG#Nh!?rgnkS%bc!%Z#UT29L&)CCeE!z4d`DArey_r0ewU3s-{T^e|MVcm zUzF>~&-~-Z54}F0@9=3UU%Yx9|C(qk|L(46ep6~J-@-VN|M*2J|J1`Qe(vuAe%tm^ z{t@f5{7A!#{ETUcFTGLA&pUFR?|!U_KljTMer(}u{*;W5{O28C_;%U9_#t-`1$%~6 z1>MWF1^<095KN+t1!AeWfZJmwSmG_9GV670I4io+bJA~R__X<;g#|Rb7j|i{LP8O!0N)xUaoh6Jr|F4^4-U*@7_6Y7ve;+a}D{`yiZC(j#2D zWkBe$_?K`2M}a!ls7&?7s8QX1T2#KJ9(B-Q4AnNlm@@VmPxX_ICivrHG=u-C9^4)!TD6)%3$ijjpbB@Pbl@|_eQF^HG=w7 zwv)2T+DpxTd5BUQilef|B~XcTk}1=SRI0h-808GJDa)EXs@3v1rF@~7+T(qSdeU7+ z-7l)3ZZEh%-JeoJrRgC`@LfjDXse}ec3-79dN(LT``gr8-)3qc=^>@^CpBlCBJC#4?H&t`%FQs!!5!R3@P;gom-qF*5y+vBE+Cmrl zW$VK@(=o8*h7sHlVgheIGKIueb13CZgdy)OVaC!auuIDZ+P$%ZNHo}m=Fu1ED9C{y)gih0TzfFtnf@&xF)EfI!hC&3tbGAu1kflCsP!rn`%@YRJh zXtO;Xdd@ip8+l;V$SHuIUKGGM-NJu7XCdV8DufMt3*q}Cg>d@WLKs<82#Z1rp|Z!nS-TKM zzb=41u>}w-6u?_$`LNF?ABytw;62qm*yEQAolfMy4L`DBYkL-y4P`=YK_(2+$bdor zrNaqV)1ZH1Doj{%6uN&(h7J))aG7o*JhtWtoc25(Hdx2O@2g^9By|v8_S_5g4(@^% zH*SY(eInrWe>u#=vUPCBhgGlS(LS~vbRIqo0&Pf8Oy^9CO zSvkU;gVs=#J_&lv84n%S8N&GQI?%*e9sW{Kgbx=DQWh4Sl&_?PGVH%Yy-&cDSay*j zuNPC6{b^Lj;uwn89!kx1^`umHSW@ja>eQP@vX55WW*xd;v$nxs*~{r8ti^hD zd?;r$mKTi2ldoE0yx0M++)ColufDiVv2*kG{g7NJ3m3WEHM(pji9W(#!#Sf3g z;J0;$vBQ~Ue1=KGo6|G#(v!KkUFSG{WK@C&oKNH4sB%1fyAnIVOE}`D829xdyjU#9 zvwmI1C%fzM(u>z|%;!ctNwW##{QG#`&PRC8#;4dp^#$%yeuZBzeuH;^c!y^dci^6u zPJFVu8)prF#(7J=V7~7Fz9$~UR=5AdSAYG)cLRp-p!qO9eqaQr?^CG#6{T2fuvDow zR$IBYz1A;RqxR%z&Dw}SjoL4n>a`30&6SlJwU+zUYt8D^Y9CBfuU!+O zUMp2ls|^?&RcjfmTHE5ITC2^f)V{1xuGRXbT)Qq=xz;IJv9|4zLT$NBq1NW)2p(Sh z2e%4-%Q0G{aGxgOQcxYQG)x^FX4*E zRTybh;Nah9@Z+eH*xI}pr-v8fh1R*a>Ay@IS&)uD@lx>PuSf8_pK;iy{t%v`u^T_H zj=*C@8?kxwYCQX8Fy2x=7aPp+!~5;LvE?O*cm31Pq(AKOsIVy*emBQ=ryF75tNTw& zRKwZXBdkyG7q&C`JzJFWl%=Dtv!5q2?BQFL?5x$tSTc;Pv>Qg=Vr`&G~3KIi`-)-}SKfl%ql^Z*S6?^q5 zmoZbRJIev3@yw4pbY(5|w{H&xg5xO3>QpLmTmePDJw?s-uB1{Xim4N+n5vcEpl*3L zQ&jmQ>YMB(CD8sr&6D>~A^Kmb%IQBTyY&h%VVp9|R#1hqSsJj&LK_;!>cXKG1L%3n z5Pq367IJ2pz_IFP(AjJPocm+~T>oPt47HmKJF=$0fiP?McZChS`kyVl2<@T%R|h!F z&o!}aoGraK6W-fTlf#>zPuzf5K-XGz?EprHX@jU^jei)Y&`Vdfi1rHY5@?a~?h5Tv`{9w(2K37~|pqDe8ft+BJ zkrP~?XXabN*^ZOo?qUl#6gvT4 z)Ha8I?Z(3ux5mMz{U$Kl#Tfp0ZwURKkAZ71jfOuZ`Y`;7F5F(A1J5;U!Pnz7;q!8J z=%B0y`<|*m*GOf!(?AK1<0!yXtv?hu>lZa|(tp(XtO07UsgJ4|>7l%Sby837cThJY z-chPc+o&O`m3n9WoH}y*F;#Hm0X5{%OoI5DSxV#>Kc(zL)#f@ zoVkQ5j=DrmKUGDQ|NE9#s+Ut`Yfe-5GE1pV&nyP8sMV0@Iq*T+xD8D1?s2lZbsN1iXQWxpP)L8!o zl;GtYYJ@YBO5g8Gg{FH_(`gYE`Sf2V{zgE(+~z{n9k!?37uitmS0+=6>K0U9xEZy5 z?>MSH-;gS4(4$80)unQhH7U)eQB>J?C90u7ffA1WDNOwFRhSpkCv5KeAawC+6K;%p zDcq3%Ot{yiS$M7WmXMQtLwLU8ig3HROemkq2z?4K3D0$%6P9I_3v~ld3zZfe7X~Ti z2^|J8@2Sby({U~urNpv38lz*;C1@ctk{ z=AJTvp=G6D$m^8g{D*u&zdS>*jSFZ7^8teGtqHFwm=X(C3U&r~b_Lcm@ zqtEg8bf4hc?@#0}k2%4&Ja>rysw|ct*1wN`TAajB_$K0?8?%M)MlRw1^9}LeDO>Y9 zR|oMkx7qMh4IKG;=cn@fxAOU$7yTxqbM^TLLniQx>b3c7!wd5MkSf1Fq>o&2_9^N1 z{S9gBF-R`2D)#zf}L_2Cv^iwk0y)jb(Ab>NtV4S9S-8$FgQlAn(p1yj>rfrz!* zHC3MD$ho1ZwC0Yp!0A{J__Q-&5T|^x|CL@^=gEe)Sd@ACf6qWZX&E z2JHk%S}8!Ls*Ac`sDXhM382E4A^1;BCAaT~f))|UTVK!exL2JM-i{oWiZk1%#>H;IV9hh(7ijt@15Lsh+Krcmu*dHLJ9W5;Dc|q{ooQz|HI_nm(%&{N7)N=JyAJoQySSB>FZO3ooIBJpn+y zUIV4nZvmBGQ_-NuDX>?*81+XhfbPj6boat-aJN;4)*f3Aj!YDx?8lX$0K7$9M`_I-|6Zw_-*FP@GqQ zrqz3bO+63jumes2FW8A5tT+dbDjY&x@zn%*WH-G`@!y%m+!IJW(E%8CdeAyE&J&Be z%+ZF?aX@RcGm@%Kq<>y}O8D45Afh9tqD+lYo~nic2>SPYTtA=K*`G&neOF1$h5kt3 zav0o~a_C=w)o7y&H))4y%fObkGf-z<7jg2p2J!vjB+1Y90+f-s3KT8Smn?4ENxzx2 pobJ~)1Il;Jk;v;J!CjC-bYFF)Z;hUa<_i6RM0J;VSKS8s{{dk-v9SOE literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_dae3076c.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_dae3076c.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 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
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_deb8b755.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_deb8b755.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 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
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_eff6d396.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_eff6d396.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 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
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 diff --git a/reframe_tests/regression_checks/SingleNodeMPIBenchmark_fad85e0d.h5 b/reframe_tests/regression_checks/SingleNodeMPIBenchmark_fad85e0d.h5 new file mode 100644 index 0000000000000000000000000000000000000000..2107a4402042b8bdb5463ddc37f3a785e30ea1fe GIT binary patch literal 49648 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
GNI*G8qjTZGigD&CM`6aOh409rR|I-(07!^ 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 literal 0 HcmV?d00001 From 793de844ec2e57bd05baa0747bfaca280bcd082c Mon Sep 17 00:00:00 2001 From: nmannall Date: Fri, 4 Oct 2024 16:33:55 +0100 Subject: [PATCH 05/19] Add latest MPI benchmark runs --- ...rongScalingBenchmark_2024-08-30_16-20-05.csv | 11 +++++++++++ ...ngleNodeMPIBenchmark_2024-08-30_14-33-28.csv | 17 +++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 reframe_tests/benchmark_results/MPIStrongScalingBenchmark_2024-08-30_16-20-05.csv create mode 100644 reframe_tests/benchmark_results/SingleNodeMPIBenchmark_2024-08-30_14-33-28.csv diff --git a/reframe_tests/benchmark_results/MPIStrongScalingBenchmark_2024-08-30_16-20-05.csv b/reframe_tests/benchmark_results/MPIStrongScalingBenchmark_2024-08-30_16-20-05.csv new file mode 100644 index 00000000..25be1592 --- /dev/null +++ b/reframe_tests/benchmark_results/MPIStrongScalingBenchmark_2024-08-30_16-20-05.csv @@ -0,0 +1,11 @@ +cpu_freq,model,num_cpus_per_task,num_nodes,num_tasks,num_tasks_per_node,run_time,simulation_time +2000000,benchmark_model_40,16,1,8,8,147.94,61.11 +2000000,benchmark_model_40,16,16,128,8,74.45,16.03 +2000000,benchmark_model_40,16,2,16,8,108.6,45.41 +2000000,benchmark_model_40,16,4,32,8,92.18,35.0 +2000000,benchmark_model_40,16,8,64,8,73.71,16.56 +2250000,benchmark_model_40,16,1,8,8,171.95,53.94 +2250000,benchmark_model_40,16,16,128,8,58.13,12.04 +2250000,benchmark_model_40,16,2,16,8,97.73,38.73 +2250000,benchmark_model_40,16,4,32,8,87.61,28.54 +2250000,benchmark_model_40,16,8,64,8,68.29,14.47 diff --git a/reframe_tests/benchmark_results/SingleNodeMPIBenchmark_2024-08-30_14-33-28.csv b/reframe_tests/benchmark_results/SingleNodeMPIBenchmark_2024-08-30_14-33-28.csv new file mode 100644 index 00000000..34356ede --- /dev/null +++ b/reframe_tests/benchmark_results/SingleNodeMPIBenchmark_2024-08-30_14-33-28.csv @@ -0,0 +1,17 @@ +cpu_freq,model,mpi_tasks,num_cpus_per_task,num_tasks,num_tasks_per_node,run_time,simulation_time +2000000,benchmark_model_40,1,128,1,1,397.64,294.58 +2000000,benchmark_model_40,128,1,128,128,129.22,68.77 +2000000,benchmark_model_40,16,8,16,16,104.83,64.91 +2000000,benchmark_model_40,2,64,2,2,192.89,151.06 +2000000,benchmark_model_40,32,4,32,32,101.99,63.86 +2000000,benchmark_model_40,4,32,4,4,119.14,80.95 +2000000,benchmark_model_40,64,2,64,64,105.57,61.03 +2000000,benchmark_model_40,8,16,8,8,102.26,58.24 +2250000,benchmark_model_40,1,128,1,1,348.95,241.2 +2250000,benchmark_model_40,128,1,128,128,118.04,66.21 +2250000,benchmark_model_40,16,8,16,16,106.06,61.8 +2250000,benchmark_model_40,2,64,2,2,189.82,140.84 +2250000,benchmark_model_40,32,4,32,32,99.12,60.65 +2250000,benchmark_model_40,4,32,4,4,117.36,76.9 +2250000,benchmark_model_40,64,2,64,64,108.8,58.79 +2250000,benchmark_model_40,8,16,8,8,94.92,55.32 From 4028cb667dfe45adee62f657ec55667fd03cef25 Mon Sep 17 00:00:00 2001 From: nmannall Date: Fri, 22 Nov 2024 16:50:16 +0000 Subject: [PATCH 06/19] Create mixins for different test functionality --- .../cylinder_Ascan_2D.h5} | Bin reframe_tests/tests/base_tests.py | 164 +++++------------- reframe_tests/tests/mixins.py | 114 ++++++++++++ reframe_tests/tests/regression_checks.py | 85 +++++++++ reframe_tests/tests/test_example_models.py | 3 +- 5 files changed, 249 insertions(+), 117 deletions(-) rename reframe_tests/regression_checks/{TestAscan_e9940356.h5 => TestAscan_e9940356/cylinder_Ascan_2D.h5} (100%) create mode 100644 reframe_tests/tests/mixins.py create mode 100644 reframe_tests/tests/regression_checks.py diff --git a/reframe_tests/regression_checks/TestAscan_e9940356.h5 b/reframe_tests/regression_checks/TestAscan_e9940356/cylinder_Ascan_2D.h5 similarity index 100% rename from reframe_tests/regression_checks/TestAscan_e9940356.h5 rename to reframe_tests/regression_checks/TestAscan_e9940356/cylinder_Ascan_2D.h5 diff --git a/reframe_tests/tests/base_tests.py b/reframe_tests/tests/base_tests.py index 82f5a3e5..7ca4bfef 100644 --- a/reframe_tests/tests/base_tests.py +++ b/reframe_tests/tests/base_tests.py @@ -7,11 +7,9 @@ Usage (run all tests): import os from pathlib import Path -from shutil import copyfile -from typing import Literal +from typing import Literal, Optional, Union import reframe.utility.sanity as sn -import reframe.utility.typecheck as typ from numpy import prod from reframe import RunOnlyRegressionTest, simple_test from reframe.core.builtins import ( @@ -22,11 +20,10 @@ from reframe.core.builtins import ( run_after, run_before, sanity_function, - variable, ) -from reframe.utility import osext, udeps +from reframe.utility import udeps -from gprMax.receivers import Rx +from reframe_tests.tests.regression_checks import RegressionCheck from reframe_tests.utilities.deferrable import path_join TESTS_ROOT_DIR = Path(__file__).parent @@ -106,14 +103,30 @@ class GprMaxRegressionTest(RunOnlyRegressionTest): exclusive_access = True model = parameter() - is_antenna_model = variable(bool, value=False) - has_receiver_output = variable(bool, value=True) - snapshots = variable(typ.List[str], value=[]) sourcesdir = required - extra_executable_opts = variable(typ.List[str], value=[]) executable = "time -p python -m gprMax --log-level 10 --hide-progress-bars" - rx_outputs = variable(typ.List[str], value=Rx.defaultoutputs) + regression_checks: list[RegressionCheck] = [] + + test_dependency: Optional[type["GprMaxRegressionTest"]] = None + + def get_test_dependency(self) -> Optional["GprMaxRegressionTest"]: + """Get test variant with the same model and number of models""" + if self.test_dependency is None: + return None + else: + variant = self.test_dependency.variant_name(self.test_dependency.param_variant) + return self.getdep(variant) + + def build_reference_filepath(self, name: Union[str, os.PathLike]) -> Path: + target = self.get_test_dependency() + if target is None: + reference_dir = self.short_name + else: + reference_dir = target.short_name + + reference_file = Path("regression_checks", reference_dir, name).with_suffix(".h5") + return reference_file.absolute() @run_after("init") def setup_env_vars(self): @@ -133,6 +146,9 @@ class GprMaxRegressionTest(RunOnlyRegressionTest): def inject_dependencies(self): """Test depends on the Python virtual environment building correctly""" self.depends_on("CreatePyenvTest", udeps.by_env) + if self.test_dependency is not None: + variant = self.test_dependency.variant_name(self.test_dependency.param_variant) + self.depends_on(variant, udeps.by_env) @require_deps def get_pyenv_path(self, CreatePyenvTest): @@ -140,35 +156,19 @@ class GprMaxRegressionTest(RunOnlyRegressionTest): path_to_pyenv = os.path.join(CreatePyenvTest(part="login").stagedir, PATH_TO_PYENV) self.prerun_cmds.append(f"source {path_to_pyenv}") - def build_reference_filepath(self, suffix: str = "") -> str: - filename = f"{self.short_name}_{suffix}" if len(suffix) > 0 else self.short_name - reference_file = Path("regression_checks", filename).with_suffix(".h5") - return os.path.abspath(reference_file) - - def build_snapshot_filepath(self, snapshot: str) -> str: - return os.path.join(f"{self.model}_snaps", snapshot) - - @run_after("setup") - def setup_reference_files(self): - """Build reference file paths""" - self.reference_file = self.build_reference_filepath() - self.snapshot_reference_files = [] - for snapshot in self.snapshots: - self.snapshot_reference_files.append(self.build_reference_filepath(snapshot)) - - @run_after("setup", always_last=True) - def configure_test_run(self, input_file_ext: str = ".in"): + @run_after("init") + def configure_test_run(self): """Configure gprMax commandline arguments and plot outputs Set the input and output files and add postrun commands to plot the outputs. """ - self.input_file = f"{self.model}{input_file_ext}" + self.input_file = f"{self.model}.in" self.output_file = f"{self.model}.h5" self.executable_opts = [self.input_file, "-o", self.output_file] - self.executable_opts += self.extra_executable_opts - self.keep_files = [self.input_file, *self.snapshots] + self.keep_files = [self.input_file, self.output_file] + """ if self.has_receiver_output: self.postrun_cmds = [ f"python -m reframe_tests.utilities.plotting {self.output_file} {self.reference_file} -m {self.model}" @@ -186,6 +186,7 @@ class GprMaxRegressionTest(RunOnlyRegressionTest): antenna_t1_params, antenna_ant_params, ] + """ @run_before("run") def combine_task_outputs(self): @@ -233,99 +234,30 @@ class GprMaxRegressionTest(RunOnlyRegressionTest): r"=== Simulation completed in ", self.stdout, "Simulation did not complete" ) - def run_regression_check( - self, output_file: str, reference_file: str, error_msg: str - ) -> Literal[True]: - """Compare two provided .h5 files using h5diff - - Args: - output_file: Filepath of .h5 file output by the test. - reference_file: Filepath of reference .h5 file containing - the expected output. - """ - if self.current_system.name == "archer2": - h5diff = "/opt/cray/pe/hdf5/default/bin/h5diff" - else: - h5diff = "h5diff" - - h5diff_output = osext.run_command([h5diff, os.path.abspath(output_file), reference_file]) - - return sn.assert_false( - h5diff_output.stdout, - ( - f"{error_msg}\n" - f"For more details run: 'h5diff {os.path.abspath(output_file)} {reference_file}'\n" - f"To re-create regression file, delete '{reference_file}' and rerun the test." - ), - ) - - def test_output_regression(self) -> Literal[True]: - """Compare the test output with the reference file. - - If the test contains any receivers, a regression check is run, - otherwise it checks the test did not generate an output file. - """ - if self.has_receiver_output: - return self.run_regression_check( - self.output_file, self.reference_file, "Failed output regresssion check" - ) - else: - return sn.assert_false( - sn.path_exists(self.output_file), - f"Unexpected output file found: '{self.output_file}'", - ) - - def test_snapshot_regression(self) -> Literal[True]: - """Compare the snapshot outputs with reference files. - - Generates a regression check for each snapshot. Each regression - check is a deffered expression, so they all need to be returned - so that they are each evaluated. - """ - regression_checks = [] - for index, snapshot in enumerate(self.snapshots): - snapshot_path = self.build_snapshot_filepath(snapshot) - reference_file = self.snapshot_reference_files[index] - regression_checks.append( - self.run_regression_check( - snapshot_path, reference_file, f"Failed snapshot regresssion check '{snapshot}'" - ) - ) - - # sn.assert_true is not strictly necessary - return sn.assert_true(sn.all(regression_checks)) - @sanity_function - def regression_check(self) -> Literal[True]: + def regression_check(self) -> bool: """Perform regression check for the test output and snapshots If not all the reference files exist, then create all the missing reference files from the test output and fail the test. """ - if (not self.has_receiver_output or sn.path_exists(self.reference_file)) and sn.all( - [sn.path_exists(path) for path in self.snapshot_reference_files] - ): - return ( - self.test_simulation_complete() - and self.test_output_regression() - and self.test_snapshot_regression() - ) - else: - error_messages = [] - if self.has_receiver_output and not sn.path_exists(self.reference_file): - copyfile(self.output_file, self.reference_file) - error_messages.append( - f"Output reference file does not exist. Creating... '{self.reference_file}'" - ) - for index, snapshot in enumerate(self.snapshots): - reference_file = self.snapshot_reference_files[index] - if not sn.path_exists(reference_file): - copyfile(self.build_snapshot_filepath(snapshot), reference_file) + error_messages = [] + for check in self.regression_checks: + if not check.reference_file_exists(): + if check.create_reference_file(): error_messages.append( - f"Snapshot '{snapshot}' reference file does not exist. Creating... '{reference_file}'" + f"Reference file does not exist. Creating... '{check.reference_file}'" + ) + else: + error_messages.append( + f"ERROR: Unable to create reference file: '{check.reference_file}'" ) - return sn.assert_true(False, "\n".join(error_messages)) + return ( + self.test_simulation_complete() + and sn.assert_true(len(error_messages) < 1, "\n".join(error_messages)) + and sn.all(sn.map(lambda check: check.run(), self.regression_checks)) + ) @performance_function("s", perf_key="run_time") def extract_run_time(self): diff --git a/reframe_tests/tests/mixins.py b/reframe_tests/tests/mixins.py new file mode 100644 index 00000000..8b0fff66 --- /dev/null +++ b/reframe_tests/tests/mixins.py @@ -0,0 +1,114 @@ +from pathlib import Path + +import reframe.utility.typecheck as typ +from numpy import prod +from reframe import RegressionMixin +from reframe.core.builtins import parameter, required, run_after, variable +from typing_extensions import TYPE_CHECKING + +from reframe_tests.tests.base_tests import GprMaxRegressionTest +from reframe_tests.tests.regression_checks import ( + ReceiverRegressionCheck, + RegressionCheck, + SnapshotRegressionCheck, +) + +if TYPE_CHECKING: + GprMaxMixin = GprMaxRegressionTest +else: + GprMaxMixin = RegressionMixin + + +class ReceiverMixin(GprMaxMixin): + number_of_receivers = variable(int, value=-1) + + @run_after("setup") + def add_receiver_regression_checks(self): + reference_file = self.build_reference_filepath(self.output_file) + + if self.number_of_receivers > 0: + for i in range(self.number_of_receivers): + regression_check = ReceiverRegressionCheck( + self.output_file, reference_file, f"r{i}" + ) + self.regression_checks.append(regression_check) + else: + regression_check = RegressionCheck(self.output_file, reference_file) + self.regression_checks.append(regression_check) + + +class SnapshotMixin(GprMaxMixin): + snapshots = variable(typ.List[str], value=[]) + + def build_snapshot_filepath(self, snapshot: str) -> Path: + return Path(f"{self.model}_snaps", snapshot).with_suffix(".h5") + + @run_after("setup") + def add_snapshot_regression_checks(self): + has_specified_snapshots = len(self.snapshots) > 0 + valid_test_dependency = self.test_dependency is not None and issubclass( + self.test_dependency, SnapshotMixin + ) + + self.skip_if( + not valid_test_dependency and not has_specified_snapshots, + f"Must provide either a list of snapshots, or a test dependency that inherits from SnapshotMixin.", + ) + self.skip_if( + valid_test_dependency and has_specified_snapshots, + f"Cannot provide both a list of snapshots, and a test dependency that inherits from SnapshotMixin.", + ) + + if valid_test_dependency: + target = self.get_test_dependency() + assert isinstance(target, SnapshotMixin) + self.snapshots = target.snapshots + + for snapshot in self.snapshots: + snapshot_file = self.build_snapshot_filepath(snapshot) + reference_file = self.build_reference_filepath(snapshot) + regression_check = SnapshotRegressionCheck(snapshot_file, reference_file) + self.regression_checks.append(regression_check) + + +class PythonApiMixin(GprMaxMixin): + executable = "time -p python" + + @run_after("setup") + def set_python_input_file(self): + """Input files for API tests will be python files""" + self.input_file = self.input_file.with_suffix(".py") + + +class MpiMixin(GprMaxMixin): + mpi_layout = parameter() + + @run_after("setup") + def configure_mpi_tasks(self): + """Add MPI specific commandline arguments""" + self.num_tasks = int(prod(self.mpi_layout)) + self.executable_opts += ["--mpi", *map(str, self.mpi_layout)] + + +class BScanMixin(GprMaxMixin): + num_models = parameter() + + @run_after("setup") + def setup_bscan_test(self): + """Add B-Scan specific commandline arguments and postrun cmds""" + self.executable_opts += ["-n", str(self.num_models)] + + +class TaskfarmMixin(GprMaxMixin): + extra_executable_opts = ["-taskfarm"] + + num_tasks = required + + @run_after("setup") + def add_taskfarm_flag(self): + """Add taskfarm specific commandline arguments""" + self.executable_opts += ["-taskfarm"] + + +class AntennaModelMixin(GprMaxMixin): + pass diff --git a/reframe_tests/tests/regression_checks.py b/reframe_tests/tests/regression_checks.py new file mode 100644 index 00000000..d43c4ccd --- /dev/null +++ b/reframe_tests/tests/regression_checks.py @@ -0,0 +1,85 @@ +from os import PathLike +from pathlib import Path +from shutil import copyfile +from typing import Literal, Optional, Union + +import reframe.utility.sanity as sn +from reframe.core.runtime import runtime +from reframe.utility import osext + + +class RegressionCheck: + """Compare two .h5 files using h5diff""" + + def __init__( + self, output_file: Union[str, PathLike], reference_file: Union[str, PathLike] + ) -> None: + self.output_file = Path(output_file) + self.reference_file = Path(reference_file) + self.h5diff_options: list[str] = [] + + @property + def error_msg(self) -> str: + return "Failed regression check" + + def create_reference_file(self) -> bool: + if not sn.path_exists(self.reference_file): + self.reference_file.parent.mkdir(parents=True, exist_ok=True) + copyfile(self.output_file, self.reference_file) + return True + else: + return False + + def reference_file_exists(self) -> bool: + return sn.path_isfile(self.reference_file) + + def run(self) -> Literal[True]: + if runtime().system.name == "archer2": + h5diff = "/opt/cray/pe/hdf5/default/bin/h5diff" + else: + h5diff = "h5diff" + + h5diff_output = osext.run_command( + [h5diff, *self.h5diff_options, str(self.output_file), str(self.reference_file)] + ) + + return sn.assert_true( + sn.path_isfile(self.output_file), + f"Expected output file '{self.output_file}' does not exist", + ) and sn.assert_false( + h5diff_output.stdout, + ( + f"{self.error_msg}\n" + # f"For more details run: 'h5diff {' '.join(self.h5diff_options)} {self.output_file} {self.reference_file}'\n" + f"For more details run: '{' '.join(h5diff_output.args)}'\n" + f"To re-create regression file, delete '{self.reference_file}' and rerun the test." + ), + ) + + +class ReceiverRegressionCheck(RegressionCheck): + def __init__( + self, + output_file: Union[str, PathLike], + reference_file: Union[str, PathLike], + output_receiver: Optional[str], + reference_receiver: Optional[str] = None, + ) -> None: + super().__init__(output_file, reference_file) + + self.output_receiver = output_receiver + self.reference_receiver = reference_receiver + + self.h5diff_options.append(f"rxs/{self.output_receiver}") + if self.reference_receiver is not None: + self.h5diff_options.append(f"rxs/{self.reference_receiver}") + + @property + def error_msg(self) -> str: + return f"Receiver '{self.output_receiver}' failed regression check" + + +class SnapshotRegressionCheck(RegressionCheck): + @property + def error_msg(self) -> str: + return f"Snapshot '{self.output_file.name}' failed regression check " diff --git a/reframe_tests/tests/test_example_models.py b/reframe_tests/tests/test_example_models.py index f430faec..d3a236f6 100644 --- a/reframe_tests/tests/test_example_models.py +++ b/reframe_tests/tests/test_example_models.py @@ -2,13 +2,14 @@ import reframe as rfm from reframe.core.builtins import parameter from reframe_tests.tests.base_tests import GprMaxBScanRegressionTest, GprMaxRegressionTest +from reframe_tests.tests.mixins import MpiMixin, ReceiverMixin """Reframe regression tests for example models in gprMax documentation """ @rfm.simple_test -class TestAscan(GprMaxRegressionTest): +class TestAscan(ReceiverMixin, GprMaxRegressionTest): tags = { "test", "serial", From a679184d15c9abb07f54c67a566bb10068ab348e Mon Sep 17 00:00:00 2001 From: nmannall Date: Mon, 25 Nov 2024 11:29:28 +0000 Subject: [PATCH 07/19] Change class members to reframe variables --- reframe_tests/tests/base_tests.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/reframe_tests/tests/base_tests.py b/reframe_tests/tests/base_tests.py index 7ca4bfef..879d1eb4 100644 --- a/reframe_tests/tests/base_tests.py +++ b/reframe_tests/tests/base_tests.py @@ -10,6 +10,7 @@ from pathlib import Path from typing import Literal, Optional, Union import reframe.utility.sanity as sn +import reframe.utility.typecheck as typ from numpy import prod from reframe import RunOnlyRegressionTest, simple_test from reframe.core.builtins import ( @@ -20,6 +21,7 @@ from reframe.core.builtins import ( run_after, run_before, sanity_function, + variable, ) from reframe.utility import udeps @@ -106,9 +108,9 @@ class GprMaxRegressionTest(RunOnlyRegressionTest): sourcesdir = required executable = "time -p python -m gprMax --log-level 10 --hide-progress-bars" - regression_checks: list[RegressionCheck] = [] + regression_checks = variable(typ.List[RegressionCheck], value=[]) - test_dependency: Optional[type["GprMaxRegressionTest"]] = None + test_dependency = variable(type(None), type, value=None) def get_test_dependency(self) -> Optional["GprMaxRegressionTest"]: """Get test variant with the same model and number of models""" From ac15861e8d8086fbf8faeccb6d2b39c29bfec822 Mon Sep 17 00:00:00 2001 From: nmannall Date: Mon, 25 Nov 2024 11:33:35 +0000 Subject: [PATCH 08/19] Create standard test class using receiver mixin --- .../cylinder_Bscan_2D.h5} | Bin reframe_tests/tests/base_tests.py | 17 +++++++++-------- reframe_tests/tests/mixins.py | 4 ++-- reframe_tests/tests/standard_tests.py | 6 ++++++ reframe_tests/tests/test_example_models.py | 8 ++++---- 5 files changed, 21 insertions(+), 14 deletions(-) rename reframe_tests/regression_checks/{TestBscan_efecb66e.h5 => TestBscan_efecb66e/cylinder_Bscan_2D.h5} (100%) create mode 100644 reframe_tests/tests/standard_tests.py diff --git a/reframe_tests/regression_checks/TestBscan_efecb66e.h5 b/reframe_tests/regression_checks/TestBscan_efecb66e/cylinder_Bscan_2D.h5 similarity index 100% rename from reframe_tests/regression_checks/TestBscan_efecb66e.h5 rename to reframe_tests/regression_checks/TestBscan_efecb66e/cylinder_Bscan_2D.h5 diff --git a/reframe_tests/tests/base_tests.py b/reframe_tests/tests/base_tests.py index 879d1eb4..a9b6581e 100644 --- a/reframe_tests/tests/base_tests.py +++ b/reframe_tests/tests/base_tests.py @@ -96,7 +96,7 @@ class CreatePyenvTest(RunOnlyRegressionTest): ) -class GprMaxRegressionTest(RunOnlyRegressionTest): +class GprMaxBaseTest(RunOnlyRegressionTest): valid_systems = ["archer2:compute"] valid_prog_environs = ["PrgEnv-gnu"] modules = ["cray-python"] @@ -112,7 +112,7 @@ class GprMaxRegressionTest(RunOnlyRegressionTest): test_dependency = variable(type(None), type, value=None) - def get_test_dependency(self) -> Optional["GprMaxRegressionTest"]: + def get_test_dependency(self) -> Optional["GprMaxBaseTest"]: """Get test variant with the same model and number of models""" if self.test_dependency is None: return None @@ -311,16 +311,17 @@ class GprMaxRegressionTest(RunOnlyRegressionTest): return hours * 3600 + minutes * 60 + seconds -class GprMaxAPIRegressionTest(GprMaxRegressionTest): +class GprMaxAPIRegressionTest(GprMaxBaseTest): executable = "time -p python" @run_after("setup", always_last=True) def configure_test_run(self): """Input files for API tests will be python files""" - super().configure_test_run(input_file_ext=".py") + # super().configure_test_run(input_file_ext=".py") + pass -class GprMaxBScanRegressionTest(GprMaxRegressionTest): +class GprMaxBScanRegressionTest(GprMaxBaseTest): num_models = parameter() @run_after("setup", always_last=True) @@ -339,7 +340,7 @@ class GprMaxBScanRegressionTest(GprMaxRegressionTest): class GprMaxTaskfarmRegressionTest(GprMaxBScanRegressionTest): - serial_dependency: type[GprMaxRegressionTest] + serial_dependency: type[GprMaxBaseTest] extra_executable_opts = ["-taskfarm"] sourcesdir = "src" # Necessary so test is not skipped (set later) @@ -376,9 +377,9 @@ class GprMaxTaskfarmRegressionTest(GprMaxBScanRegressionTest): self.snapshot_reference_files = target.snapshot_reference_files -class GprMaxMPIRegressionTest(GprMaxRegressionTest): +class GprMaxMPIRegressionTest(GprMaxBaseTest): # TODO: Make this a variable - serial_dependency: type[GprMaxRegressionTest] + serial_dependency: type[GprMaxBaseTest] mpi_layout = parameter() sourcesdir = "src" # Necessary so test is not skipped (set later) diff --git a/reframe_tests/tests/mixins.py b/reframe_tests/tests/mixins.py index 8b0fff66..0023596a 100644 --- a/reframe_tests/tests/mixins.py +++ b/reframe_tests/tests/mixins.py @@ -6,7 +6,7 @@ from reframe import RegressionMixin from reframe.core.builtins import parameter, required, run_after, variable from typing_extensions import TYPE_CHECKING -from reframe_tests.tests.base_tests import GprMaxRegressionTest +from reframe_tests.tests.base_tests import GprMaxBaseTest from reframe_tests.tests.regression_checks import ( ReceiverRegressionCheck, RegressionCheck, @@ -14,7 +14,7 @@ from reframe_tests.tests.regression_checks import ( ) if TYPE_CHECKING: - GprMaxMixin = GprMaxRegressionTest + GprMaxMixin = GprMaxBaseTest else: GprMaxMixin = RegressionMixin diff --git a/reframe_tests/tests/standard_tests.py b/reframe_tests/tests/standard_tests.py new file mode 100644 index 00000000..4c854a10 --- /dev/null +++ b/reframe_tests/tests/standard_tests.py @@ -0,0 +1,6 @@ +from reframe_tests.tests.base_tests import GprMaxBaseTest +from reframe_tests.tests.mixins import ReceiverMixin + + +class GprMaxRegressionTest(ReceiverMixin, GprMaxBaseTest): + pass diff --git a/reframe_tests/tests/test_example_models.py b/reframe_tests/tests/test_example_models.py index d3a236f6..3029ad48 100644 --- a/reframe_tests/tests/test_example_models.py +++ b/reframe_tests/tests/test_example_models.py @@ -1,15 +1,15 @@ import reframe as rfm from reframe.core.builtins import parameter -from reframe_tests.tests.base_tests import GprMaxBScanRegressionTest, GprMaxRegressionTest -from reframe_tests.tests.mixins import MpiMixin, ReceiverMixin +from reframe_tests.tests.mixins import BScanMixin +from reframe_tests.tests.standard_tests import GprMaxRegressionTest """Reframe regression tests for example models in gprMax documentation """ @rfm.simple_test -class TestAscan(ReceiverMixin, GprMaxRegressionTest): +class TestAscan(GprMaxRegressionTest): tags = { "test", "serial", @@ -26,7 +26,7 @@ class TestAscan(ReceiverMixin, GprMaxRegressionTest): @rfm.simple_test -class TestBscan(GprMaxBScanRegressionTest): +class TestBscan(BScanMixin, GprMaxRegressionTest): tags = { "test", "serial", From 984b2638187de80efb1b3b4328b0aacfc7e8efdd Mon Sep 17 00:00:00 2001 From: nmannall Date: Mon, 25 Nov 2024 11:34:19 +0000 Subject: [PATCH 09/19] Fix bscan mixin to ensure output files are merged --- reframe_tests/tests/mixins.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/reframe_tests/tests/mixins.py b/reframe_tests/tests/mixins.py index 0023596a..92968d3c 100644 --- a/reframe_tests/tests/mixins.py +++ b/reframe_tests/tests/mixins.py @@ -98,11 +98,16 @@ class BScanMixin(GprMaxMixin): """Add B-Scan specific commandline arguments and postrun cmds""" self.executable_opts += ["-n", str(self.num_models)] + self.postrun_cmds += [ + f"python -m toolboxes.Utilities.outputfiles_merge {self.model}", + f"mv {self.model}_merged.h5 {self.output_file}", + ] + class TaskfarmMixin(GprMaxMixin): extra_executable_opts = ["-taskfarm"] - num_tasks = required + # num_tasks = required @run_after("setup") def add_taskfarm_flag(self): From afe87b0c895c62d36c556aedfd33c7b68e65b667 Mon Sep 17 00:00:00 2001 From: nmannall Date: Mon, 25 Nov 2024 14:52:26 +0000 Subject: [PATCH 10/19] Restructure regression files directory --- .../2D_EzHxHy.h5} | Bin .../2D_EyHxHz.h5} | Bin .../2D_ExHyHz.h5} | Bin .../snapshot_x_05.h5} | Bin .../snapshot_x_35.h5} | Bin .../snapshot_x_65.h5} | Bin .../snapshot_x_95.h5} | Bin .../snapshot_y_15.h5} | Bin .../snapshot_y_40.h5} | Bin .../snapshot_y_45.h5} | Bin .../snapshot_y_50.h5} | Bin .../snapshot_y_75.h5} | Bin .../snapshot_z_25.h5} | Bin .../snapshot_z_55.h5} | Bin .../snapshot_z_85.h5} | Bin .../snapshot_0.h5} | Bin .../snapshot_1.h5} | Bin .../snapshot_2.h5} | Bin .../snapshot_3.h5} | Bin .../box_full_model.h5} | Bin .../box_outside_pml.h5} | Bin .../box_single_rank_outside_pml.h5} | Bin .../box_half_model.h5} | Bin .../box_single_rank.h5} | Bin .../box_full_model.h5} | Bin .../box_half_model.h5} | Bin .../box_single_rank.h5} | Bin .../hertzian_dipole_dispersive.h5} | Bin .../antenna_wire_dipole_fs.h5} | Bin .../hertzian_dipole_fs.h5} | Bin .../magnetic_dipole_fs.h5} | Bin .../single_cell_pml_2d.h5} | Bin .../snapshot_0.h5} | Bin .../snapshot_1.h5} | Bin .../snapshot_2.h5} | Bin .../snapshot_3.h5} | Bin .../cylinder_fs.h5} | Bin .../transmission_line_fs.h5} | Bin 38 files changed, 0 insertions(+), 0 deletions(-) rename reframe_tests/regression_checks/{Test2DModelXY_e26f33ea.h5 => Test2DModelXY_e26f33ea/2D_EzHxHy.h5} (100%) rename reframe_tests/regression_checks/{Test2DModelXZ_e21872c4.h5 => Test2DModelXZ_e21872c4/2D_EyHxHz.h5} (100%) rename reframe_tests/regression_checks/{Test2DModelYZ_3e050c27.h5 => Test2DModelYZ_3e050c27/2D_ExHyHz.h5} (100%) rename reframe_tests/regression_checks/{Test2DSliceSnapshot_061052b1_snapshot_x_05.h5 => Test2DSliceSnapshot_061052b1/snapshot_x_05.h5} (100%) rename reframe_tests/regression_checks/{Test2DSliceSnapshot_061052b1_snapshot_x_35.h5 => Test2DSliceSnapshot_061052b1/snapshot_x_35.h5} (100%) rename reframe_tests/regression_checks/{Test2DSliceSnapshot_061052b1_snapshot_x_65.h5 => Test2DSliceSnapshot_061052b1/snapshot_x_65.h5} (100%) rename reframe_tests/regression_checks/{Test2DSliceSnapshot_061052b1_snapshot_x_95.h5 => Test2DSliceSnapshot_061052b1/snapshot_x_95.h5} (100%) rename reframe_tests/regression_checks/{Test2DSliceSnapshot_061052b1_snapshot_y_15.h5 => Test2DSliceSnapshot_061052b1/snapshot_y_15.h5} (100%) rename reframe_tests/regression_checks/{Test2DSliceSnapshot_061052b1_snapshot_y_40.h5 => Test2DSliceSnapshot_061052b1/snapshot_y_40.h5} (100%) rename reframe_tests/regression_checks/{Test2DSliceSnapshot_061052b1_snapshot_y_45.h5 => Test2DSliceSnapshot_061052b1/snapshot_y_45.h5} (100%) rename reframe_tests/regression_checks/{Test2DSliceSnapshot_061052b1_snapshot_y_50.h5 => Test2DSliceSnapshot_061052b1/snapshot_y_50.h5} (100%) rename reframe_tests/regression_checks/{Test2DSliceSnapshot_061052b1_snapshot_y_75.h5 => Test2DSliceSnapshot_061052b1/snapshot_y_75.h5} (100%) rename reframe_tests/regression_checks/{Test2DSliceSnapshot_061052b1_snapshot_z_25.h5 => Test2DSliceSnapshot_061052b1/snapshot_z_25.h5} (100%) rename reframe_tests/regression_checks/{Test2DSliceSnapshot_061052b1_snapshot_z_55.h5 => Test2DSliceSnapshot_061052b1/snapshot_z_55.h5} (100%) rename reframe_tests/regression_checks/{Test2DSliceSnapshot_061052b1_snapshot_z_85.h5 => Test2DSliceSnapshot_061052b1/snapshot_z_85.h5} (100%) rename reframe_tests/regression_checks/{Test2DSnapshot_c8b63c79_snapshot_0.h5 => Test2DSnapshot_c8b63c79/snapshot_0.h5} (100%) rename reframe_tests/regression_checks/{Test2DSnapshot_c8b63c79_snapshot_1.h5 => Test2DSnapshot_c8b63c79/snapshot_1.h5} (100%) rename reframe_tests/regression_checks/{Test2DSnapshot_c8b63c79_snapshot_2.h5 => Test2DSnapshot_c8b63c79/snapshot_2.h5} (100%) rename reframe_tests/regression_checks/{Test2DSnapshot_c8b63c79_snapshot_3.h5 => Test2DSnapshot_c8b63c79/snapshot_3.h5} (100%) rename reframe_tests/regression_checks/{TestBoxGeometryDefaultPml_0d642269.h5 => TestBoxGeometryDefaultPml_0d642269/box_full_model.h5} (100%) rename reframe_tests/regression_checks/{TestBoxGeometryDefaultPml_3b4b184a.h5 => TestBoxGeometryDefaultPml_3b4b184a/box_outside_pml.h5} (100%) rename reframe_tests/regression_checks/{TestBoxGeometryDefaultPml_a8674323.h5 => TestBoxGeometryDefaultPml_a8674323/box_single_rank_outside_pml.h5} (100%) rename reframe_tests/regression_checks/{TestBoxGeometryDefaultPml_ce6262f3.h5 => TestBoxGeometryDefaultPml_ce6262f3/box_half_model.h5} (100%) rename reframe_tests/regression_checks/{TestBoxGeometryDefaultPml_f30e6d10.h5 => TestBoxGeometryDefaultPml_f30e6d10/box_single_rank.h5} (100%) rename reframe_tests/regression_checks/{TestBoxGeometryNoPml_0e734b72.h5 => TestBoxGeometryNoPml_0e734b72/box_full_model.h5} (100%) rename reframe_tests/regression_checks/{TestBoxGeometryNoPml_0ebe9cc0.h5 => TestBoxGeometryNoPml_0ebe9cc0/box_half_model.h5} (100%) rename reframe_tests/regression_checks/{TestBoxGeometryNoPml_7804157f.h5 => TestBoxGeometryNoPml_7804157f/box_single_rank.h5} (100%) rename reframe_tests/regression_checks/{TestDispersiveMaterials_99243fd2.h5 => TestDispersiveMaterials_99243fd2/hertzian_dipole_dispersive.h5} (100%) rename reframe_tests/regression_checks/{TestEdgeGeometry_c4eb9ee8.h5 => TestEdgeGeometry_c4eb9ee8/antenna_wire_dipole_fs.h5} (100%) rename reframe_tests/regression_checks/{TestHertzianDipoleSource_ca97d05d.h5 => TestHertzianDipoleSource_ca97d05d/hertzian_dipole_fs.h5} (100%) rename reframe_tests/regression_checks/{TestMagneticDipoleSource_58b9b32a.h5 => TestMagneticDipoleSource_58b9b32a/magnetic_dipole_fs.h5} (100%) rename reframe_tests/regression_checks/{TestSingleCellPml_c05c95d0.h5 => TestSingleCellPml_c05c95d0/single_cell_pml_2d.h5} (100%) rename reframe_tests/regression_checks/{TestSnapshot_8af76f0a_snapshot_0.h5 => TestSnapshot_8af76f0a/snapshot_0.h5} (100%) rename reframe_tests/regression_checks/{TestSnapshot_8af76f0a_snapshot_1.h5 => TestSnapshot_8af76f0a/snapshot_1.h5} (100%) rename reframe_tests/regression_checks/{TestSnapshot_8af76f0a_snapshot_2.h5 => TestSnapshot_8af76f0a/snapshot_2.h5} (100%) rename reframe_tests/regression_checks/{TestSnapshot_8af76f0a_snapshot_3.h5 => TestSnapshot_8af76f0a/snapshot_3.h5} (100%) rename reframe_tests/regression_checks/{TestSubgrids_36a9f022.h5 => TestSubgrids_36a9f022/cylinder_fs.h5} (100%) rename reframe_tests/regression_checks/{TestTransmissionLineSource_ced17afa.h5 => TestTransmissionLineSource_ced17afa/transmission_line_fs.h5} (100%) diff --git a/reframe_tests/regression_checks/Test2DModelXY_e26f33ea.h5 b/reframe_tests/regression_checks/Test2DModelXY_e26f33ea/2D_EzHxHy.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DModelXY_e26f33ea.h5 rename to reframe_tests/regression_checks/Test2DModelXY_e26f33ea/2D_EzHxHy.h5 diff --git a/reframe_tests/regression_checks/Test2DModelXZ_e21872c4.h5 b/reframe_tests/regression_checks/Test2DModelXZ_e21872c4/2D_EyHxHz.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DModelXZ_e21872c4.h5 rename to reframe_tests/regression_checks/Test2DModelXZ_e21872c4/2D_EyHxHz.h5 diff --git a/reframe_tests/regression_checks/Test2DModelYZ_3e050c27.h5 b/reframe_tests/regression_checks/Test2DModelYZ_3e050c27/2D_ExHyHz.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DModelYZ_3e050c27.h5 rename to reframe_tests/regression_checks/Test2DModelYZ_3e050c27/2D_ExHyHz.h5 diff --git a/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_x_05.h5 b/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_x_05.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_x_05.h5 rename to reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_x_05.h5 diff --git a/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_x_35.h5 b/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_x_35.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_x_35.h5 rename to reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_x_35.h5 diff --git a/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_x_65.h5 b/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_x_65.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_x_65.h5 rename to reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_x_65.h5 diff --git a/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_x_95.h5 b/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_x_95.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_x_95.h5 rename to reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_x_95.h5 diff --git a/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_y_15.h5 b/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_y_15.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_y_15.h5 rename to reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_y_15.h5 diff --git a/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_y_40.h5 b/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_y_40.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_y_40.h5 rename to reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_y_40.h5 diff --git a/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_y_45.h5 b/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_y_45.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_y_45.h5 rename to reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_y_45.h5 diff --git a/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_y_50.h5 b/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_y_50.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_y_50.h5 rename to reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_y_50.h5 diff --git a/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_y_75.h5 b/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_y_75.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_y_75.h5 rename to reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_y_75.h5 diff --git a/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_z_25.h5 b/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_z_25.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_z_25.h5 rename to reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_z_25.h5 diff --git a/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_z_55.h5 b/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_z_55.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_z_55.h5 rename to reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_z_55.h5 diff --git a/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_z_85.h5 b/reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_z_85.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1_snapshot_z_85.h5 rename to reframe_tests/regression_checks/Test2DSliceSnapshot_061052b1/snapshot_z_85.h5 diff --git a/reframe_tests/regression_checks/Test2DSnapshot_c8b63c79_snapshot_0.h5 b/reframe_tests/regression_checks/Test2DSnapshot_c8b63c79/snapshot_0.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSnapshot_c8b63c79_snapshot_0.h5 rename to reframe_tests/regression_checks/Test2DSnapshot_c8b63c79/snapshot_0.h5 diff --git a/reframe_tests/regression_checks/Test2DSnapshot_c8b63c79_snapshot_1.h5 b/reframe_tests/regression_checks/Test2DSnapshot_c8b63c79/snapshot_1.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSnapshot_c8b63c79_snapshot_1.h5 rename to reframe_tests/regression_checks/Test2DSnapshot_c8b63c79/snapshot_1.h5 diff --git a/reframe_tests/regression_checks/Test2DSnapshot_c8b63c79_snapshot_2.h5 b/reframe_tests/regression_checks/Test2DSnapshot_c8b63c79/snapshot_2.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSnapshot_c8b63c79_snapshot_2.h5 rename to reframe_tests/regression_checks/Test2DSnapshot_c8b63c79/snapshot_2.h5 diff --git a/reframe_tests/regression_checks/Test2DSnapshot_c8b63c79_snapshot_3.h5 b/reframe_tests/regression_checks/Test2DSnapshot_c8b63c79/snapshot_3.h5 similarity index 100% rename from reframe_tests/regression_checks/Test2DSnapshot_c8b63c79_snapshot_3.h5 rename to reframe_tests/regression_checks/Test2DSnapshot_c8b63c79/snapshot_3.h5 diff --git a/reframe_tests/regression_checks/TestBoxGeometryDefaultPml_0d642269.h5 b/reframe_tests/regression_checks/TestBoxGeometryDefaultPml_0d642269/box_full_model.h5 similarity index 100% rename from reframe_tests/regression_checks/TestBoxGeometryDefaultPml_0d642269.h5 rename to reframe_tests/regression_checks/TestBoxGeometryDefaultPml_0d642269/box_full_model.h5 diff --git a/reframe_tests/regression_checks/TestBoxGeometryDefaultPml_3b4b184a.h5 b/reframe_tests/regression_checks/TestBoxGeometryDefaultPml_3b4b184a/box_outside_pml.h5 similarity index 100% rename from reframe_tests/regression_checks/TestBoxGeometryDefaultPml_3b4b184a.h5 rename to reframe_tests/regression_checks/TestBoxGeometryDefaultPml_3b4b184a/box_outside_pml.h5 diff --git a/reframe_tests/regression_checks/TestBoxGeometryDefaultPml_a8674323.h5 b/reframe_tests/regression_checks/TestBoxGeometryDefaultPml_a8674323/box_single_rank_outside_pml.h5 similarity index 100% rename from reframe_tests/regression_checks/TestBoxGeometryDefaultPml_a8674323.h5 rename to reframe_tests/regression_checks/TestBoxGeometryDefaultPml_a8674323/box_single_rank_outside_pml.h5 diff --git a/reframe_tests/regression_checks/TestBoxGeometryDefaultPml_ce6262f3.h5 b/reframe_tests/regression_checks/TestBoxGeometryDefaultPml_ce6262f3/box_half_model.h5 similarity index 100% rename from reframe_tests/regression_checks/TestBoxGeometryDefaultPml_ce6262f3.h5 rename to reframe_tests/regression_checks/TestBoxGeometryDefaultPml_ce6262f3/box_half_model.h5 diff --git a/reframe_tests/regression_checks/TestBoxGeometryDefaultPml_f30e6d10.h5 b/reframe_tests/regression_checks/TestBoxGeometryDefaultPml_f30e6d10/box_single_rank.h5 similarity index 100% rename from reframe_tests/regression_checks/TestBoxGeometryDefaultPml_f30e6d10.h5 rename to reframe_tests/regression_checks/TestBoxGeometryDefaultPml_f30e6d10/box_single_rank.h5 diff --git a/reframe_tests/regression_checks/TestBoxGeometryNoPml_0e734b72.h5 b/reframe_tests/regression_checks/TestBoxGeometryNoPml_0e734b72/box_full_model.h5 similarity index 100% rename from reframe_tests/regression_checks/TestBoxGeometryNoPml_0e734b72.h5 rename to reframe_tests/regression_checks/TestBoxGeometryNoPml_0e734b72/box_full_model.h5 diff --git a/reframe_tests/regression_checks/TestBoxGeometryNoPml_0ebe9cc0.h5 b/reframe_tests/regression_checks/TestBoxGeometryNoPml_0ebe9cc0/box_half_model.h5 similarity index 100% rename from reframe_tests/regression_checks/TestBoxGeometryNoPml_0ebe9cc0.h5 rename to reframe_tests/regression_checks/TestBoxGeometryNoPml_0ebe9cc0/box_half_model.h5 diff --git a/reframe_tests/regression_checks/TestBoxGeometryNoPml_7804157f.h5 b/reframe_tests/regression_checks/TestBoxGeometryNoPml_7804157f/box_single_rank.h5 similarity index 100% rename from reframe_tests/regression_checks/TestBoxGeometryNoPml_7804157f.h5 rename to reframe_tests/regression_checks/TestBoxGeometryNoPml_7804157f/box_single_rank.h5 diff --git a/reframe_tests/regression_checks/TestDispersiveMaterials_99243fd2.h5 b/reframe_tests/regression_checks/TestDispersiveMaterials_99243fd2/hertzian_dipole_dispersive.h5 similarity index 100% rename from reframe_tests/regression_checks/TestDispersiveMaterials_99243fd2.h5 rename to reframe_tests/regression_checks/TestDispersiveMaterials_99243fd2/hertzian_dipole_dispersive.h5 diff --git a/reframe_tests/regression_checks/TestEdgeGeometry_c4eb9ee8.h5 b/reframe_tests/regression_checks/TestEdgeGeometry_c4eb9ee8/antenna_wire_dipole_fs.h5 similarity index 100% rename from reframe_tests/regression_checks/TestEdgeGeometry_c4eb9ee8.h5 rename to reframe_tests/regression_checks/TestEdgeGeometry_c4eb9ee8/antenna_wire_dipole_fs.h5 diff --git a/reframe_tests/regression_checks/TestHertzianDipoleSource_ca97d05d.h5 b/reframe_tests/regression_checks/TestHertzianDipoleSource_ca97d05d/hertzian_dipole_fs.h5 similarity index 100% rename from reframe_tests/regression_checks/TestHertzianDipoleSource_ca97d05d.h5 rename to reframe_tests/regression_checks/TestHertzianDipoleSource_ca97d05d/hertzian_dipole_fs.h5 diff --git a/reframe_tests/regression_checks/TestMagneticDipoleSource_58b9b32a.h5 b/reframe_tests/regression_checks/TestMagneticDipoleSource_58b9b32a/magnetic_dipole_fs.h5 similarity index 100% rename from reframe_tests/regression_checks/TestMagneticDipoleSource_58b9b32a.h5 rename to reframe_tests/regression_checks/TestMagneticDipoleSource_58b9b32a/magnetic_dipole_fs.h5 diff --git a/reframe_tests/regression_checks/TestSingleCellPml_c05c95d0.h5 b/reframe_tests/regression_checks/TestSingleCellPml_c05c95d0/single_cell_pml_2d.h5 similarity index 100% rename from reframe_tests/regression_checks/TestSingleCellPml_c05c95d0.h5 rename to reframe_tests/regression_checks/TestSingleCellPml_c05c95d0/single_cell_pml_2d.h5 diff --git a/reframe_tests/regression_checks/TestSnapshot_8af76f0a_snapshot_0.h5 b/reframe_tests/regression_checks/TestSnapshot_8af76f0a/snapshot_0.h5 similarity index 100% rename from reframe_tests/regression_checks/TestSnapshot_8af76f0a_snapshot_0.h5 rename to reframe_tests/regression_checks/TestSnapshot_8af76f0a/snapshot_0.h5 diff --git a/reframe_tests/regression_checks/TestSnapshot_8af76f0a_snapshot_1.h5 b/reframe_tests/regression_checks/TestSnapshot_8af76f0a/snapshot_1.h5 similarity index 100% rename from reframe_tests/regression_checks/TestSnapshot_8af76f0a_snapshot_1.h5 rename to reframe_tests/regression_checks/TestSnapshot_8af76f0a/snapshot_1.h5 diff --git a/reframe_tests/regression_checks/TestSnapshot_8af76f0a_snapshot_2.h5 b/reframe_tests/regression_checks/TestSnapshot_8af76f0a/snapshot_2.h5 similarity index 100% rename from reframe_tests/regression_checks/TestSnapshot_8af76f0a_snapshot_2.h5 rename to reframe_tests/regression_checks/TestSnapshot_8af76f0a/snapshot_2.h5 diff --git a/reframe_tests/regression_checks/TestSnapshot_8af76f0a_snapshot_3.h5 b/reframe_tests/regression_checks/TestSnapshot_8af76f0a/snapshot_3.h5 similarity index 100% rename from reframe_tests/regression_checks/TestSnapshot_8af76f0a_snapshot_3.h5 rename to reframe_tests/regression_checks/TestSnapshot_8af76f0a/snapshot_3.h5 diff --git a/reframe_tests/regression_checks/TestSubgrids_36a9f022.h5 b/reframe_tests/regression_checks/TestSubgrids_36a9f022/cylinder_fs.h5 similarity index 100% rename from reframe_tests/regression_checks/TestSubgrids_36a9f022.h5 rename to reframe_tests/regression_checks/TestSubgrids_36a9f022/cylinder_fs.h5 diff --git a/reframe_tests/regression_checks/TestTransmissionLineSource_ced17afa.h5 b/reframe_tests/regression_checks/TestTransmissionLineSource_ced17afa/transmission_line_fs.h5 similarity index 100% rename from reframe_tests/regression_checks/TestTransmissionLineSource_ced17afa.h5 rename to reframe_tests/regression_checks/TestTransmissionLineSource_ced17afa/transmission_line_fs.h5 From e4358613df9f28d19e24c54634a8a76dcc308f59 Mon Sep 17 00:00:00 2001 From: nmannall Date: Mon, 25 Nov 2024 14:55:56 +0000 Subject: [PATCH 11/19] Fix Python API mixin modifying the input file Move configuration involving the input and output files to before the run stage to allow mixins to change the file names if required --- reframe_tests/tests/base_tests.py | 23 ++++++++++++++++++----- reframe_tests/tests/mixins.py | 3 +-- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/reframe_tests/tests/base_tests.py b/reframe_tests/tests/base_tests.py index a9b6581e..3f55c923 100644 --- a/reframe_tests/tests/base_tests.py +++ b/reframe_tests/tests/base_tests.py @@ -106,7 +106,7 @@ class GprMaxBaseTest(RunOnlyRegressionTest): model = parameter() sourcesdir = required - executable = "time -p python -m gprMax --log-level 10 --hide-progress-bars" + executable = "time -p python -m gprMax" regression_checks = variable(typ.List[RegressionCheck], value=[]) @@ -159,16 +159,29 @@ class GprMaxBaseTest(RunOnlyRegressionTest): self.prerun_cmds.append(f"source {path_to_pyenv}") @run_after("init") + def set_file_paths(self): + self.input_file = Path(f"{self.model}.in") + self.output_file = Path(f"{self.model}.h5") + + @run_before("run") def configure_test_run(self): """Configure gprMax commandline arguments and plot outputs Set the input and output files and add postrun commands to plot the outputs. """ - self.input_file = f"{self.model}.in" - self.output_file = f"{self.model}.h5" - self.executable_opts = [self.input_file, "-o", self.output_file] - self.keep_files = [self.input_file, self.output_file] + input_file = str(self.input_file) + output_file = str(self.output_file) + + self.executable_opts += [ + input_file, + "-o", + output_file, + "--log-level", + "10", + "--hide-progress-bars", + ] + self.keep_files += [input_file, output_file] """ if self.has_receiver_output: diff --git a/reframe_tests/tests/mixins.py b/reframe_tests/tests/mixins.py index 92968d3c..834ad139 100644 --- a/reframe_tests/tests/mixins.py +++ b/reframe_tests/tests/mixins.py @@ -72,11 +72,10 @@ class SnapshotMixin(GprMaxMixin): class PythonApiMixin(GprMaxMixin): - executable = "time -p python" - @run_after("setup") def set_python_input_file(self): """Input files for API tests will be python files""" + self.executable = "time -p python" self.input_file = self.input_file.with_suffix(".py") From 8b1688c1f8dd91c8e6a03970b4ff5fe5c9bffd88 Mon Sep 17 00:00:00 2001 From: nmannall Date: Mon, 25 Nov 2024 15:07:08 +0000 Subject: [PATCH 12/19] Change test dependency to be a string This allows it to be a reframe variable --- reframe_tests/tests/base_tests.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/reframe_tests/tests/base_tests.py b/reframe_tests/tests/base_tests.py index 3f55c923..c726eda8 100644 --- a/reframe_tests/tests/base_tests.py +++ b/reframe_tests/tests/base_tests.py @@ -110,15 +110,14 @@ class GprMaxBaseTest(RunOnlyRegressionTest): regression_checks = variable(typ.List[RegressionCheck], value=[]) - test_dependency = variable(type(None), type, value=None) + test_dependency = variable(type(None), str, value=None) def get_test_dependency(self) -> Optional["GprMaxBaseTest"]: """Get test variant with the same model and number of models""" if self.test_dependency is None: return None else: - variant = self.test_dependency.variant_name(self.test_dependency.param_variant) - return self.getdep(variant) + return self.getdep(self.test_dependency) def build_reference_filepath(self, name: Union[str, os.PathLike]) -> Path: target = self.get_test_dependency() @@ -149,8 +148,7 @@ class GprMaxBaseTest(RunOnlyRegressionTest): """Test depends on the Python virtual environment building correctly""" self.depends_on("CreatePyenvTest", udeps.by_env) if self.test_dependency is not None: - variant = self.test_dependency.variant_name(self.test_dependency.param_variant) - self.depends_on(variant, udeps.by_env) + self.depends_on(self.test_dependency, udeps.by_env) @require_deps def get_pyenv_path(self, CreatePyenvTest): @@ -259,10 +257,14 @@ class GprMaxBaseTest(RunOnlyRegressionTest): error_messages = [] for check in self.regression_checks: if not check.reference_file_exists(): - if check.create_reference_file(): + if check.create_reference_file() and self.test_dependency is None: error_messages.append( f"Reference file does not exist. Creating... '{check.reference_file}'" ) + elif self.test_dependency is not None: + error_messages.append( + f"ERROR: Test dependency did not create reference file: '{check.reference_file}'" + ) else: error_messages.append( f"ERROR: Unable to create reference file: '{check.reference_file}'" From cb04fe9109f7e606a9b4558b629dd3a19148003c Mon Sep 17 00:00:00 2001 From: nmannall Date: Mon, 25 Nov 2024 15:10:04 +0000 Subject: [PATCH 13/19] Stop using test dependency to get list of snapshots In general tests inherit from their test dependency and so the list of snapshots will already be defined. This also allows extra flexibility to create a test that does not create all snapshots created by its test dependency. Although it cannot create additional ones currently. --- reframe_tests/tests/mixins.py | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/reframe_tests/tests/mixins.py b/reframe_tests/tests/mixins.py index 834ad139..5bcd3b4f 100644 --- a/reframe_tests/tests/mixins.py +++ b/reframe_tests/tests/mixins.py @@ -45,24 +45,10 @@ class SnapshotMixin(GprMaxMixin): @run_after("setup") def add_snapshot_regression_checks(self): - has_specified_snapshots = len(self.snapshots) > 0 - valid_test_dependency = self.test_dependency is not None and issubclass( - self.test_dependency, SnapshotMixin - ) - self.skip_if( - not valid_test_dependency and not has_specified_snapshots, - f"Must provide either a list of snapshots, or a test dependency that inherits from SnapshotMixin.", + len(self.snapshots) < 0, + f"Must provide a list of snapshots.", ) - self.skip_if( - valid_test_dependency and has_specified_snapshots, - f"Cannot provide both a list of snapshots, and a test dependency that inherits from SnapshotMixin.", - ) - - if valid_test_dependency: - target = self.get_test_dependency() - assert isinstance(target, SnapshotMixin) - self.snapshots = target.snapshots for snapshot in self.snapshots: snapshot_file = self.build_snapshot_filepath(snapshot) @@ -104,8 +90,6 @@ class BScanMixin(GprMaxMixin): class TaskfarmMixin(GprMaxMixin): - extra_executable_opts = ["-taskfarm"] - # num_tasks = required @run_after("setup") From b6db6d97008bad460276908d261c55ac756d82cf Mon Sep 17 00:00:00 2001 From: nmannall Date: Mon, 25 Nov 2024 15:16:15 +0000 Subject: [PATCH 14/19] Refactor existing tests to use new mixin classes --- reframe_tests/tests/standard_tests.py | 6 ++++- reframe_tests/tests/test_2d_models.py | 18 ++++++------- reframe_tests/tests/test_geometry.py | 26 +++++++----------- reframe_tests/tests/test_materials.py | 8 +++--- reframe_tests/tests/test_pmls.py | 10 +++---- reframe_tests/tests/test_snapshots.py | 27 ++++++++----------- reframe_tests/tests/test_sources.py | 18 ++++++------- reframe_tests/tests/test_subgrids.py | 8 +++--- .../tests/test_taskfarm_functionality.py | 15 +++++------ 9 files changed, 59 insertions(+), 77 deletions(-) diff --git a/reframe_tests/tests/standard_tests.py b/reframe_tests/tests/standard_tests.py index 4c854a10..98f23c06 100644 --- a/reframe_tests/tests/standard_tests.py +++ b/reframe_tests/tests/standard_tests.py @@ -1,6 +1,10 @@ from reframe_tests.tests.base_tests import GprMaxBaseTest -from reframe_tests.tests.mixins import ReceiverMixin +from reframe_tests.tests.mixins import ReceiverMixin, SnapshotMixin class GprMaxRegressionTest(ReceiverMixin, GprMaxBaseTest): pass + + +class GprMaxSnapshotTest(SnapshotMixin, GprMaxBaseTest): + pass diff --git a/reframe_tests/tests/test_2d_models.py b/reframe_tests/tests/test_2d_models.py index 81b1c572..2d495f38 100644 --- a/reframe_tests/tests/test_2d_models.py +++ b/reframe_tests/tests/test_2d_models.py @@ -1,7 +1,8 @@ import reframe as rfm from reframe.core.builtins import parameter -from reframe_tests.tests.base_tests import GprMaxMPIRegressionTest, GprMaxRegressionTest +from reframe_tests.tests.mixins import MpiMixin +from reframe_tests.tests.standard_tests import GprMaxRegressionTest """Reframe regression tests for 2D models (TMx, TMy, and TMz) """ @@ -33,24 +34,21 @@ class Test2DModelYZ(GprMaxRegressionTest): @rfm.simple_test -class Test2DModelXYMpi(GprMaxMPIRegressionTest): +class Test2DModelXYMpi(MpiMixin, Test2DModelXY): tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole"} mpi_layout = parameter([[4, 4, 1]]) - serial_dependency = Test2DModelXY - model = serial_dependency.model + test_dependency = "Test2DModelXY" @rfm.simple_test -class Test2DModelXZMpi(GprMaxMPIRegressionTest): +class Test2DModelXZMpi(MpiMixin, Test2DModelXZ): tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole"} mpi_layout = parameter([[4, 1, 4]]) - serial_dependency = Test2DModelXZ - model = serial_dependency.model + test_dependency = "Test2DModelXZ" @rfm.simple_test -class Test2DModelYZMpi(GprMaxMPIRegressionTest): +class Test2DModelYZMpi(MpiMixin, Test2DModelYZ): tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole"} mpi_layout = parameter([[1, 4, 4]]) - serial_dependency = Test2DModelYZ - model = serial_dependency.model + test_dependency = "Test2DModelYZ" diff --git a/reframe_tests/tests/test_geometry.py b/reframe_tests/tests/test_geometry.py index 209a8599..5dfbb119 100644 --- a/reframe_tests/tests/test_geometry.py +++ b/reframe_tests/tests/test_geometry.py @@ -1,7 +1,8 @@ import reframe as rfm from reframe.core.builtins import parameter, run_before -from reframe_tests.tests.base_tests import GprMaxMPIRegressionTest, GprMaxRegressionTest +from reframe_tests.tests.mixins import AntennaModelMixin, MpiMixin +from reframe_tests.tests.standard_tests import GprMaxRegressionTest """Reframe regression tests for models defining geometry """ @@ -34,11 +35,10 @@ class TestBoxGeometryNoPml(GprMaxRegressionTest): @rfm.simple_test -class TestEdgeGeometry(GprMaxRegressionTest): +class TestEdgeGeometry(AntennaModelMixin, GprMaxRegressionTest): tags = {"test", "serial", "geometry", "edge", "transmission_line", "waveform", "antenna"} sourcesdir = "src/geometry_tests/edge_geometry" model = parameter(["antenna_wire_dipole_fs"]) - is_antenna_model = True """Test MPI Functionality @@ -46,29 +46,21 @@ class TestEdgeGeometry(GprMaxRegressionTest): @rfm.simple_test -class TestBoxGeometryDefaultPmlMpi(GprMaxMPIRegressionTest): +class TestBoxGeometryDefaultPmlMpi(MpiMixin, TestBoxGeometryDefaultPml): tags = {"test", "mpi", "geometery", "box"} mpi_layout = parameter([[2, 2, 2], [3, 3, 3], [4, 4, 4]]) - serial_dependency = TestBoxGeometryDefaultPml - model = serial_dependency.model + test_dependency = "TestBoxGeometryDefaultPml" @rfm.simple_test -class TestBoxGeometryNoPmlMpi(GprMaxMPIRegressionTest): +class TestBoxGeometryNoPmlMpi(MpiMixin, TestBoxGeometryNoPml): tags = {"test", "mpi", "geometery", "box"} mpi_layout = parameter([[2, 2, 2], [3, 3, 3], [4, 4, 4]]) - serial_dependency = TestBoxGeometryNoPml - model = serial_dependency.model - - @run_before("run") - def add_gprmax_commands(self): - self.prerun_cmds.append(f"echo '#pml_cells: 0' >> {self.input_file}") + test_dependency = "TestBoxGeometryNoPml" @rfm.simple_test -class TestEdgeGeometryMpi(GprMaxMPIRegressionTest): +class TestEdgeGeometryMpi(MpiMixin, TestEdgeGeometry): tags = {"test", "mpi", "geometry", "edge", "transmission_line", "waveform", "antenna"} mpi_layout = parameter([[3, 3, 3]]) - serial_dependency = TestEdgeGeometry - model = serial_dependency.model - is_antenna_model = True + test_dependency = "TestEdgeGeometry" diff --git a/reframe_tests/tests/test_materials.py b/reframe_tests/tests/test_materials.py index f0de4773..d7f75aeb 100644 --- a/reframe_tests/tests/test_materials.py +++ b/reframe_tests/tests/test_materials.py @@ -1,7 +1,8 @@ import reframe as rfm from reframe.core.builtins import parameter -from reframe_tests.tests.base_tests import GprMaxMPIRegressionTest, GprMaxRegressionTest +from reframe_tests.tests.mixins import MpiMixin +from reframe_tests.tests.standard_tests import GprMaxRegressionTest """Reframe regression tests for each gprMax source """ @@ -19,8 +20,7 @@ class TestDispersiveMaterials(GprMaxRegressionTest): @rfm.simple_test -class TestDispersiveMaterialsMpi(GprMaxMPIRegressionTest): +class TestDispersiveMaterialsMpi(MpiMixin, TestDispersiveMaterials): tags = {"test", "mpi", "hertzian_dipole", "waveform", "material", "dispersive", "box"} mpi_layout = parameter([[3, 3, 3]]) - serial_dependency = TestDispersiveMaterials - model = serial_dependency.model + test_dependency = "TestDispersiveMaterials" diff --git a/reframe_tests/tests/test_pmls.py b/reframe_tests/tests/test_pmls.py index a25ddbf3..25e22194 100644 --- a/reframe_tests/tests/test_pmls.py +++ b/reframe_tests/tests/test_pmls.py @@ -1,7 +1,8 @@ import reframe as rfm from reframe.core.builtins import parameter -from reframe_tests.tests.base_tests import GprMaxMPIRegressionTest, GprMaxRegressionTest +from reframe_tests.tests.mixins import MpiMixin +from reframe_tests.tests.standard_tests import GprMaxRegressionTest """Reframe regression tests for models defining geometry """ @@ -12,7 +13,6 @@ class TestSingleCellPml(GprMaxRegressionTest): tags = {"test", "serial", "geometery", "box", "pml"} sourcesdir = "src/pml_tests" model = parameter(["single_cell_pml_2d"]) - rx_outputs = ["Hx"] """Test MPI Functionality @@ -20,9 +20,7 @@ class TestSingleCellPml(GprMaxRegressionTest): @rfm.simple_test -class TestSingleCellPmlMpi(GprMaxMPIRegressionTest): +class TestSingleCellPmlMpi(MpiMixin, TestSingleCellPml): tags = {"test", "mpi", "geometery", "box", "pml"} mpi_layout = parameter([[2, 2, 1], [3, 3, 1]]) - serial_dependency = TestSingleCellPml - model = serial_dependency.model - rx_outputs = ["Hx"] + test_dependency = "TestSingleCellPml" diff --git a/reframe_tests/tests/test_snapshots.py b/reframe_tests/tests/test_snapshots.py index d03d6421..c24241f2 100644 --- a/reframe_tests/tests/test_snapshots.py +++ b/reframe_tests/tests/test_snapshots.py @@ -1,33 +1,31 @@ import reframe as rfm from reframe.core.builtins import parameter -from reframe_tests.tests.base_tests import GprMaxMPIRegressionTest, GprMaxRegressionTest +from reframe_tests.tests.mixins import MpiMixin +from reframe_tests.tests.standard_tests import GprMaxSnapshotTest @rfm.simple_test -class Test2DSnapshot(GprMaxRegressionTest): +class Test2DSnapshot(GprMaxSnapshotTest): tags = {"test", "serial", "2d", "waveform", "hertzian_dipole", "snapshot"} sourcesdir = "src/snapshot_tests" model = parameter(["whole_domain_2d"]) - has_receiver_output = False snapshots = ["snapshot_0.h5", "snapshot_1.h5", "snapshot_2.h5", "snapshot_3.h5"] @rfm.simple_test -class TestSnapshot(GprMaxRegressionTest): +class TestSnapshot(GprMaxSnapshotTest): tags = {"test", "serial", "2d", "waveform", "hertzian_dipole", "snapshot"} sourcesdir = "src/snapshot_tests" model = parameter(["whole_domain"]) - has_receiver_output = False snapshots = ["snapshot_0.h5", "snapshot_1.h5", "snapshot_2.h5", "snapshot_3.h5"] @rfm.simple_test -class Test2DSliceSnapshot(GprMaxRegressionTest): +class Test2DSliceSnapshot(GprMaxSnapshotTest): tags = {"test", "serial", "2d", "waveform", "hertzian_dipole", "snapshot"} sourcesdir = "src/snapshot_tests" model = parameter(["2d_slices"]) - has_receiver_output = False snapshots = [ "snapshot_x_05.h5", "snapshot_x_35.h5", @@ -49,15 +47,14 @@ class Test2DSliceSnapshot(GprMaxRegressionTest): @rfm.simple_test -class Test2DSnapshotMpi(GprMaxMPIRegressionTest): +class Test2DSnapshotMpi(MpiMixin, Test2DSnapshot): tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole", "snapshot"} mpi_layout = parameter([[2, 2, 1], [3, 3, 1], [4, 4, 1]]) - serial_dependency = Test2DSnapshot - model = serial_dependency.model + test_dependency = "Test2DSnapshot" @rfm.simple_test -class TestSnapshotMpi(GprMaxMPIRegressionTest): +class TestSnapshotMpi(MpiMixin, TestSnapshot): tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole", "snapshot"} mpi_layout = parameter( [ @@ -72,12 +69,11 @@ class TestSnapshotMpi(GprMaxMPIRegressionTest): [4, 4, 4], ] ) - serial_dependency = TestSnapshot - model = serial_dependency.model + test_dependency = "TestSnapshot" @rfm.simple_test -class Test2DSliceSnapshotMpi(GprMaxMPIRegressionTest): +class Test2DSliceSnapshotMpi(MpiMixin, Test2DSliceSnapshot): tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole", "snapshot"} mpi_layout = parameter( [ @@ -92,5 +88,4 @@ class Test2DSliceSnapshotMpi(GprMaxMPIRegressionTest): [4, 4, 4], ] ) - serial_dependency = Test2DSliceSnapshot - model = serial_dependency.model + test_dependency = "Test2DSliceSnapshot" diff --git a/reframe_tests/tests/test_sources.py b/reframe_tests/tests/test_sources.py index f058406f..cd4613d7 100644 --- a/reframe_tests/tests/test_sources.py +++ b/reframe_tests/tests/test_sources.py @@ -1,7 +1,8 @@ import reframe as rfm from reframe.core.builtins import parameter -from reframe_tests.tests.base_tests import GprMaxMPIRegressionTest, GprMaxRegressionTest +from reframe_tests.tests.mixins import MpiMixin +from reframe_tests.tests.standard_tests import GprMaxRegressionTest """Reframe regression tests for each gprMax source """ @@ -33,24 +34,21 @@ class TestTransmissionLineSource(GprMaxRegressionTest): @rfm.simple_test -class TestHertzianDipoleSourceMpi(GprMaxMPIRegressionTest): +class TestHertzianDipoleSourceMpi(MpiMixin, TestHertzianDipoleSource): tags = {"test", "mpi", "hertzian_dipole", "waveform"} mpi_layout = parameter([[3, 3, 3]]) - serial_dependency = TestHertzianDipoleSource - model = serial_dependency.model + test_dependency = "TestHertzianDipoleSource" @rfm.simple_test -class TestMagneticDipoleSourceMpi(GprMaxMPIRegressionTest): +class TestMagneticDipoleSourceMpi(MpiMixin, TestMagneticDipoleSource): tags = {"test", "mpi", "magnetic_dipole", "waveform"} mpi_layout = parameter([[3, 3, 3]]) - serial_dependency = TestMagneticDipoleSource - model = serial_dependency.model + test_dependency = "TestMagneticDipoleSource" @rfm.simple_test -class TestTransmissionLineSourceMpi(GprMaxMPIRegressionTest): +class TestTransmissionLineSourceMpi(MpiMixin, TestTransmissionLineSource): tags = {"test", "mpi", "transmission_line", "waveform"} mpi_layout = parameter([[3, 3, 3]]) - serial_dependency = TestTransmissionLineSource - model = serial_dependency.model + test_dependency = "TestTransmissionLineSource" diff --git a/reframe_tests/tests/test_subgrids.py b/reframe_tests/tests/test_subgrids.py index cc3f9de9..6135b2a5 100644 --- a/reframe_tests/tests/test_subgrids.py +++ b/reframe_tests/tests/test_subgrids.py @@ -1,14 +1,15 @@ import reframe as rfm from reframe.core.builtins import parameter, run_after -from reframe_tests.tests.base_tests import GprMaxAPIRegressionTest +from reframe_tests.tests.mixins import AntennaModelMixin, PythonApiMixin +from reframe_tests.tests.standard_tests import GprMaxRegressionTest """Reframe regression tests for subgrids """ @rfm.simple_test -class TestSubgrids(GprMaxAPIRegressionTest): +class TestSubgrids(PythonApiMixin, GprMaxRegressionTest): tags = { "test", "api", @@ -25,7 +26,7 @@ class TestSubgrids(GprMaxAPIRegressionTest): @rfm.simple_test -class TestSubgridsWithAntennaModel(GprMaxAPIRegressionTest): +class TestSubgridsWithAntennaModel(AntennaModelMixin, PythonApiMixin, GprMaxRegressionTest): tags = { "test", "api", @@ -39,7 +40,6 @@ class TestSubgridsWithAntennaModel(GprMaxAPIRegressionTest): } sourcesdir = "src/subgrid_tests" model = parameter(["gssi_400_over_fractal_subsurface"]) - is_antenna_model = True @run_after("init") def skip_test(self): diff --git a/reframe_tests/tests/test_taskfarm_functionality.py b/reframe_tests/tests/test_taskfarm_functionality.py index 9154952f..f2cc31c6 100644 --- a/reframe_tests/tests/test_taskfarm_functionality.py +++ b/reframe_tests/tests/test_taskfarm_functionality.py @@ -1,6 +1,7 @@ import reframe as rfm -from reframe_tests.tests.base_tests import GprMaxTaskfarmRegressionTest +from reframe_tests.tests.mixins import TaskfarmMixin +from reframe_tests.tests.standard_tests import GprMaxRegressionTest from reframe_tests.tests.test_example_models import TestBscan """Reframe regression tests for taskfarm functionality @@ -8,7 +9,7 @@ from reframe_tests.tests.test_example_models import TestBscan @rfm.simple_test -class TestSingleNodeTaskfarm(GprMaxTaskfarmRegressionTest): +class TestSingleNodeTaskfarm(TaskfarmMixin, TestBscan): tags = { "test", "mpi", @@ -22,13 +23,11 @@ class TestSingleNodeTaskfarm(GprMaxTaskfarmRegressionTest): } num_tasks = 8 num_tasks_per_node = 8 - serial_dependency = TestBscan - model = serial_dependency.model - num_models = serial_dependency.num_models + test_dependency = "TestBscan" @rfm.simple_test -class TestMultiNodeTaskfarm(GprMaxTaskfarmRegressionTest): +class TestMultiNodeTaskfarm(TaskfarmMixin, TestBscan): tags = { "test", "mpi", @@ -42,6 +41,4 @@ class TestMultiNodeTaskfarm(GprMaxTaskfarmRegressionTest): } num_tasks = 32 num_tasks_per_node = 8 - serial_dependency = TestBscan - model = serial_dependency.model - num_models = serial_dependency.num_models + test_dependency = "TestBscan" From 157cb1f893cb19640b9695233ce1bd743cf21005 Mon Sep 17 00:00:00 2001 From: nmannall Date: Mon, 25 Nov 2024 15:30:15 +0000 Subject: [PATCH 15/19] Prevent test with a test dependency creating regression files --- reframe_tests/tests/base_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reframe_tests/tests/base_tests.py b/reframe_tests/tests/base_tests.py index c726eda8..5f80614d 100644 --- a/reframe_tests/tests/base_tests.py +++ b/reframe_tests/tests/base_tests.py @@ -257,7 +257,7 @@ class GprMaxBaseTest(RunOnlyRegressionTest): error_messages = [] for check in self.regression_checks: if not check.reference_file_exists(): - if check.create_reference_file() and self.test_dependency is None: + if self.test_dependency is None and check.create_reference_file(): error_messages.append( f"Reference file does not exist. Creating... '{check.reference_file}'" ) From 3d579be7e69c936d9f8ec864b1867d1d9a2c1eea Mon Sep 17 00:00:00 2001 From: nmannall Date: Mon, 25 Nov 2024 17:48:43 +0000 Subject: [PATCH 16/19] Fix getting variant of test dependency --- reframe_tests/tests/base_tests.py | 31 ++++++++++++++++--- reframe_tests/tests/mixins.py | 6 +++- reframe_tests/tests/test_2d_models.py | 6 ++-- reframe_tests/tests/test_geometry.py | 6 ++-- reframe_tests/tests/test_materials.py | 2 +- reframe_tests/tests/test_pmls.py | 2 +- reframe_tests/tests/test_snapshots.py | 6 ++-- reframe_tests/tests/test_sources.py | 6 ++-- .../tests/test_taskfarm_functionality.py | 5 ++- 9 files changed, 48 insertions(+), 22 deletions(-) diff --git a/reframe_tests/tests/base_tests.py b/reframe_tests/tests/base_tests.py index 5f80614d..31ce5a5e 100644 --- a/reframe_tests/tests/base_tests.py +++ b/reframe_tests/tests/base_tests.py @@ -23,6 +23,7 @@ from reframe.core.builtins import ( sanity_function, variable, ) +from reframe.core.exceptions import DependencyError from reframe.utility import udeps from reframe_tests.tests.regression_checks import RegressionCheck @@ -110,14 +111,34 @@ class GprMaxBaseTest(RunOnlyRegressionTest): regression_checks = variable(typ.List[RegressionCheck], value=[]) - test_dependency = variable(type(None), str, value=None) + # TODO: Make this a ReFrame variable + # Not currently possible as ReFrame does not think an object of type + # reframe.core.meta.RegressionTestMeta is copyable, and so ReFrame + # test classes cannot be specified in a variable. + test_dependency: Optional[type["GprMaxBaseTest"]] = None + # test_dependency = variable(type(None), type, value=None) + + def get_test_dependency_variant_name(self, **kwargs) -> Optional[str]: + if self.test_dependency is None: + return None + + variant_nums = self.test_dependency.get_variant_nums(model=self.model, **kwargs) + + if len(variant_nums) < 1: + kwargs.setdefault("model", self.model) + raise DependencyError( + f"No variant of '{self.test_dependency.__name__}' meets conditions: {kwargs}", + ) + + return self.test_dependency.variant_name(variant_nums[0]) def get_test_dependency(self) -> Optional["GprMaxBaseTest"]: """Get test variant with the same model and number of models""" - if self.test_dependency is None: + variant = self.get_test_dependency_variant_name() + if variant is None: return None else: - return self.getdep(self.test_dependency) + return self.getdep(variant) def build_reference_filepath(self, name: Union[str, os.PathLike]) -> Path: target = self.get_test_dependency() @@ -148,7 +169,9 @@ class GprMaxBaseTest(RunOnlyRegressionTest): """Test depends on the Python virtual environment building correctly""" self.depends_on("CreatePyenvTest", udeps.by_env) if self.test_dependency is not None: - self.depends_on(self.test_dependency, udeps.by_env) + variant = self.get_test_dependency_variant_name() + self.depends_on(variant, udeps.by_env) + # self.depends_on(self.test_dependency, udeps.by_env) @require_deps def get_pyenv_path(self, CreatePyenvTest): diff --git a/reframe_tests/tests/mixins.py b/reframe_tests/tests/mixins.py index 5bcd3b4f..93e96eed 100644 --- a/reframe_tests/tests/mixins.py +++ b/reframe_tests/tests/mixins.py @@ -1,4 +1,5 @@ from pathlib import Path +from typing import Optional import reframe.utility.typecheck as typ from numpy import prod @@ -88,6 +89,9 @@ class BScanMixin(GprMaxMixin): f"mv {self.model}_merged.h5 {self.output_file}", ] + def get_test_dependency_variant_name(self) -> Optional[str]: + return super().get_test_dependency_variant_name(num_models=self.num_models) + class TaskfarmMixin(GprMaxMixin): # num_tasks = required @@ -95,7 +99,7 @@ class TaskfarmMixin(GprMaxMixin): @run_after("setup") def add_taskfarm_flag(self): """Add taskfarm specific commandline arguments""" - self.executable_opts += ["-taskfarm"] + self.executable_opts += ["--taskfarm"] class AntennaModelMixin(GprMaxMixin): diff --git a/reframe_tests/tests/test_2d_models.py b/reframe_tests/tests/test_2d_models.py index 2d495f38..ad301e39 100644 --- a/reframe_tests/tests/test_2d_models.py +++ b/reframe_tests/tests/test_2d_models.py @@ -37,18 +37,18 @@ class Test2DModelYZ(GprMaxRegressionTest): class Test2DModelXYMpi(MpiMixin, Test2DModelXY): tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole"} mpi_layout = parameter([[4, 4, 1]]) - test_dependency = "Test2DModelXY" + test_dependency = Test2DModelXY @rfm.simple_test class Test2DModelXZMpi(MpiMixin, Test2DModelXZ): tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole"} mpi_layout = parameter([[4, 1, 4]]) - test_dependency = "Test2DModelXZ" + test_dependency = Test2DModelXZ @rfm.simple_test class Test2DModelYZMpi(MpiMixin, Test2DModelYZ): tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole"} mpi_layout = parameter([[1, 4, 4]]) - test_dependency = "Test2DModelYZ" + test_dependency = Test2DModelYZ diff --git a/reframe_tests/tests/test_geometry.py b/reframe_tests/tests/test_geometry.py index 5dfbb119..aaae282d 100644 --- a/reframe_tests/tests/test_geometry.py +++ b/reframe_tests/tests/test_geometry.py @@ -49,18 +49,18 @@ class TestEdgeGeometry(AntennaModelMixin, GprMaxRegressionTest): class TestBoxGeometryDefaultPmlMpi(MpiMixin, TestBoxGeometryDefaultPml): tags = {"test", "mpi", "geometery", "box"} mpi_layout = parameter([[2, 2, 2], [3, 3, 3], [4, 4, 4]]) - test_dependency = "TestBoxGeometryDefaultPml" + test_dependency = TestBoxGeometryDefaultPml @rfm.simple_test class TestBoxGeometryNoPmlMpi(MpiMixin, TestBoxGeometryNoPml): tags = {"test", "mpi", "geometery", "box"} mpi_layout = parameter([[2, 2, 2], [3, 3, 3], [4, 4, 4]]) - test_dependency = "TestBoxGeometryNoPml" + test_dependency = TestBoxGeometryNoPml @rfm.simple_test class TestEdgeGeometryMpi(MpiMixin, TestEdgeGeometry): tags = {"test", "mpi", "geometry", "edge", "transmission_line", "waveform", "antenna"} mpi_layout = parameter([[3, 3, 3]]) - test_dependency = "TestEdgeGeometry" + test_dependency = TestEdgeGeometry diff --git a/reframe_tests/tests/test_materials.py b/reframe_tests/tests/test_materials.py index d7f75aeb..bb31fdea 100644 --- a/reframe_tests/tests/test_materials.py +++ b/reframe_tests/tests/test_materials.py @@ -23,4 +23,4 @@ class TestDispersiveMaterials(GprMaxRegressionTest): class TestDispersiveMaterialsMpi(MpiMixin, TestDispersiveMaterials): tags = {"test", "mpi", "hertzian_dipole", "waveform", "material", "dispersive", "box"} mpi_layout = parameter([[3, 3, 3]]) - test_dependency = "TestDispersiveMaterials" + test_dependency = TestDispersiveMaterials diff --git a/reframe_tests/tests/test_pmls.py b/reframe_tests/tests/test_pmls.py index 25e22194..13f503f9 100644 --- a/reframe_tests/tests/test_pmls.py +++ b/reframe_tests/tests/test_pmls.py @@ -23,4 +23,4 @@ class TestSingleCellPml(GprMaxRegressionTest): class TestSingleCellPmlMpi(MpiMixin, TestSingleCellPml): tags = {"test", "mpi", "geometery", "box", "pml"} mpi_layout = parameter([[2, 2, 1], [3, 3, 1]]) - test_dependency = "TestSingleCellPml" + test_dependency = TestSingleCellPml diff --git a/reframe_tests/tests/test_snapshots.py b/reframe_tests/tests/test_snapshots.py index c24241f2..cd7aee50 100644 --- a/reframe_tests/tests/test_snapshots.py +++ b/reframe_tests/tests/test_snapshots.py @@ -50,7 +50,7 @@ class Test2DSliceSnapshot(GprMaxSnapshotTest): class Test2DSnapshotMpi(MpiMixin, Test2DSnapshot): tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole", "snapshot"} mpi_layout = parameter([[2, 2, 1], [3, 3, 1], [4, 4, 1]]) - test_dependency = "Test2DSnapshot" + test_dependency = Test2DSnapshot @rfm.simple_test @@ -69,7 +69,7 @@ class TestSnapshotMpi(MpiMixin, TestSnapshot): [4, 4, 4], ] ) - test_dependency = "TestSnapshot" + test_dependency = TestSnapshot @rfm.simple_test @@ -88,4 +88,4 @@ class Test2DSliceSnapshotMpi(MpiMixin, Test2DSliceSnapshot): [4, 4, 4], ] ) - test_dependency = "Test2DSliceSnapshot" + test_dependency = Test2DSliceSnapshot diff --git a/reframe_tests/tests/test_sources.py b/reframe_tests/tests/test_sources.py index cd4613d7..9bca3b42 100644 --- a/reframe_tests/tests/test_sources.py +++ b/reframe_tests/tests/test_sources.py @@ -37,18 +37,18 @@ class TestTransmissionLineSource(GprMaxRegressionTest): class TestHertzianDipoleSourceMpi(MpiMixin, TestHertzianDipoleSource): tags = {"test", "mpi", "hertzian_dipole", "waveform"} mpi_layout = parameter([[3, 3, 3]]) - test_dependency = "TestHertzianDipoleSource" + test_dependency = TestHertzianDipoleSource @rfm.simple_test class TestMagneticDipoleSourceMpi(MpiMixin, TestMagneticDipoleSource): tags = {"test", "mpi", "magnetic_dipole", "waveform"} mpi_layout = parameter([[3, 3, 3]]) - test_dependency = "TestMagneticDipoleSource" + test_dependency = TestMagneticDipoleSource @rfm.simple_test class TestTransmissionLineSourceMpi(MpiMixin, TestTransmissionLineSource): tags = {"test", "mpi", "transmission_line", "waveform"} mpi_layout = parameter([[3, 3, 3]]) - test_dependency = "TestTransmissionLineSource" + test_dependency = TestTransmissionLineSource diff --git a/reframe_tests/tests/test_taskfarm_functionality.py b/reframe_tests/tests/test_taskfarm_functionality.py index f2cc31c6..53aa20ef 100644 --- a/reframe_tests/tests/test_taskfarm_functionality.py +++ b/reframe_tests/tests/test_taskfarm_functionality.py @@ -1,7 +1,6 @@ import reframe as rfm from reframe_tests.tests.mixins import TaskfarmMixin -from reframe_tests.tests.standard_tests import GprMaxRegressionTest from reframe_tests.tests.test_example_models import TestBscan """Reframe regression tests for taskfarm functionality @@ -23,7 +22,7 @@ class TestSingleNodeTaskfarm(TaskfarmMixin, TestBscan): } num_tasks = 8 num_tasks_per_node = 8 - test_dependency = "TestBscan" + test_dependency = TestBscan @rfm.simple_test @@ -41,4 +40,4 @@ class TestMultiNodeTaskfarm(TaskfarmMixin, TestBscan): } num_tasks = 32 num_tasks_per_node = 8 - test_dependency = "TestBscan" + test_dependency = TestBscan From c5257820de4f43ed813405c80bb08962ad715b1b Mon Sep 17 00:00:00 2001 From: nmannall Date: Tue, 26 Nov 2024 13:07:26 +0000 Subject: [PATCH 17/19] Update documentation for new ReFrame classes --- reframe_tests/tests/base_tests.py | 315 +++++++++++------------ reframe_tests/tests/mixins.py | 74 +++++- reframe_tests/tests/regression_checks.py | 56 +++- 3 files changed, 266 insertions(+), 179 deletions(-) diff --git a/reframe_tests/tests/base_tests.py b/reframe_tests/tests/base_tests.py index 31ce5a5e..e0c186e3 100644 --- a/reframe_tests/tests/base_tests.py +++ b/reframe_tests/tests/base_tests.py @@ -2,7 +2,7 @@ Usage (run all tests): cd gprMax/reframe_tests - reframe -C configuraiton/{CONFIG_FILE} -c tests/ -r + reframe -C configuration/{CONFIG_FILE} -c tests/ -r """ import os @@ -29,13 +29,18 @@ from reframe.utility import udeps from reframe_tests.tests.regression_checks import RegressionCheck from reframe_tests.utilities.deferrable import path_join -TESTS_ROOT_DIR = Path(__file__).parent GPRMAX_ROOT_DIR = Path(__file__).parent.parent.parent.resolve() PATH_TO_PYENV = os.path.join(".venv", "bin", "activate") @simple_test class CreatePyenvTest(RunOnlyRegressionTest): + """Create a fresh virtual environment for running the tests. + + The test checks for any errors from pip installing gprMax and its + dependencies. + """ + valid_systems = ["generic", "archer2:login"] valid_prog_environs = ["builtin", "PrgEnv-gnu"] modules = ["cray-python"] @@ -50,7 +55,7 @@ class CreatePyenvTest(RunOnlyRegressionTest): @run_after("init") def install_system_specific_dependencies(self): - """Install additional dependencies for specific systems""" + """Install additional dependencies for specific systems.""" if self.current_system.name == "archer2": """ Needed to prevent a pip install error. @@ -74,9 +79,11 @@ class CreatePyenvTest(RunOnlyRegressionTest): @sanity_function def check_requirements_installed(self): - """ - Check packages successfully installed from requirements.txt - Check gprMax installed successfully and no other errors thrown + """Check packages were successfully installed. + + Check pip is up to date and gprMax dependencies from + requirements.txt were successfully installed. Check gprMax was + installed successfully and no other errors were thrown. """ return ( sn.assert_found( @@ -98,6 +105,21 @@ class CreatePyenvTest(RunOnlyRegressionTest): class GprMaxBaseTest(RunOnlyRegressionTest): + """Base class that all GprMax tests should inherit from. + + Test functionality can be augmented by using Mixin classes. + + Attributes: + model (parameter[str]): ReFrame parameter to specify the model + name(s). + sourcesdir (str): Relative path to the test's src directory. + regression_checks (list[RegressionCheck]): List of regression + checks to perform. + test_dependency (type[GprMaxBaseTest] | None): Optional test + dependency. If specified, regression checks will use + reference files created by the test dependency. + """ + valid_systems = ["archer2:compute"] valid_prog_environs = ["PrgEnv-gnu"] modules = ["cray-python"] @@ -119,13 +141,30 @@ class GprMaxBaseTest(RunOnlyRegressionTest): # test_dependency = variable(type(None), type, value=None) def get_test_dependency_variant_name(self, **kwargs) -> Optional[str]: + """Get unique ReFrame name of the test dependency variant. + + By default, filter test dependencies by the model name. + + Args: + **kwargs: Additional key-value pairs to filter the parameter + space of the test dependency. The key is the test + parameter name and the value is either a single value or + a unary function that evaluates to True if the parameter + point must be kept, False otherwise. + + Returns: + variant_name: Unique name of the test dependency variant. + """ if self.test_dependency is None: return None - variant_nums = self.test_dependency.get_variant_nums(model=self.model, **kwargs) + # Always filter by the model parameter, but allow child classes + # (or mixins) to override how models are filtered. + kwargs.setdefault("model", self.model) + + variant_nums = self.test_dependency.get_variant_nums(**kwargs) if len(variant_nums) < 1: - kwargs.setdefault("model", self.model) raise DependencyError( f"No variant of '{self.test_dependency.__name__}' meets conditions: {kwargs}", ) @@ -133,7 +172,11 @@ class GprMaxBaseTest(RunOnlyRegressionTest): return self.test_dependency.variant_name(variant_nums[0]) def get_test_dependency(self) -> Optional["GprMaxBaseTest"]: - """Get test variant with the same model and number of models""" + """Get correct ReFrame test case from the test dependency. + + Returns: + test_case: ReFrame test case. + """ variant = self.get_test_dependency_variant_name() if variant is None: return None @@ -141,6 +184,19 @@ class GprMaxBaseTest(RunOnlyRegressionTest): return self.getdep(variant) def build_reference_filepath(self, name: Union[str, os.PathLike]) -> Path: + """Build path to the specified reference file. + + Reference files are saved in directories per test case. If this + test does not specify a test dependency, it will save and manage + its own reference files in its own directory. Otherwise, it will + use reference files saved by its test dependency. + + Args: + name: Name of the file. + + Returns: + filepath: Absolute path to the reference file. + """ target = self.get_test_dependency() if target is None: reference_dir = self.short_name @@ -150,9 +206,32 @@ class GprMaxBaseTest(RunOnlyRegressionTest): reference_file = Path("regression_checks", reference_dir, name).with_suffix(".h5") return reference_file.absolute() + # TODO: Change CreatePyenvTest to a fixture instead of a test dependency + @run_after("init") + def inject_dependencies(self): + """Specify test dependencies. + + All tests depend on the Python virtual environment building + correctly and their own test dependency if specified. + """ + self.depends_on("CreatePyenvTest", udeps.by_env) + if self.test_dependency is not None: + variant = self.get_test_dependency_variant_name() + self.depends_on(variant, udeps.by_env) + + @require_deps + def get_pyenv_path(self, CreatePyenvTest): + """Add prerun command to load the built Python environment.""" + path_to_pyenv = os.path.join(CreatePyenvTest(part="login").stagedir, PATH_TO_PYENV) + self.prerun_cmds.append(f"source {path_to_pyenv}") + @run_after("init") def setup_env_vars(self): - """Set OMP_NUM_THREADS environment variable from num_cpus_per_task""" + """Set necessary environment variables. + + Set OMP_NUM_THREADS environment variable from num_cpus_per_task + and other system specific varaibles. + """ self.env_vars["OMP_NUM_THREADS"] = self.num_cpus_per_task if self.current_system.name == "archer2": @@ -163,34 +242,19 @@ class GprMaxBaseTest(RunOnlyRegressionTest): # Set the matplotlib cache to the work filesystem self.env_vars["MPLCONFIGDIR"] = "${HOME/home/work}/.config/matplotlib" - # TODO: Change CreatePyenvTest to a fixture instead of a test dependency - @run_after("init") - def inject_dependencies(self): - """Test depends on the Python virtual environment building correctly""" - self.depends_on("CreatePyenvTest", udeps.by_env) - if self.test_dependency is not None: - variant = self.get_test_dependency_variant_name() - self.depends_on(variant, udeps.by_env) - # self.depends_on(self.test_dependency, udeps.by_env) - - @require_deps - def get_pyenv_path(self, CreatePyenvTest): - """Add prerun command to load the built Python environment""" - path_to_pyenv = os.path.join(CreatePyenvTest(part="login").stagedir, PATH_TO_PYENV) - self.prerun_cmds.append(f"source {path_to_pyenv}") - @run_after("init") def set_file_paths(self): + """Set default test input and output files. + + These are set in a post-init hook to allow mixins to use them + later in the pipeline. + """ self.input_file = Path(f"{self.model}.in") self.output_file = Path(f"{self.model}.h5") @run_before("run") def configure_test_run(self): - """Configure gprMax commandline arguments and plot outputs - - Set the input and output files and add postrun commands to plot - the outputs. - """ + """Configure gprMax commandline arguments and files to keep.""" input_file = str(self.input_file) output_file = str(self.output_file) @@ -202,7 +266,9 @@ class GprMaxBaseTest(RunOnlyRegressionTest): "10", "--hide-progress-bars", ] - self.keep_files += [input_file, output_file] + + regression_output_files = [r.output_file for r in self.regression_checks] + self.keep_files += [input_file, output_file, *regression_output_files] """ if self.has_receiver_output: @@ -226,7 +292,7 @@ class GprMaxBaseTest(RunOnlyRegressionTest): @run_before("run") def combine_task_outputs(self): - """Split output from each MPI rank + """Split output from each MPI rank. If running with multiple MPI ranks, split the output into seperate files and add postrun commands to combine the files @@ -245,23 +311,17 @@ class GprMaxBaseTest(RunOnlyRegressionTest): self.postrun_cmds.append(f"cat out/{stdout}_*.out >> {self.stdout}") self.postrun_cmds.append(f"cat err/{stderr}_*.err >> {self.stderr}") - # @run_before("run") - # def check_input_file_exists(self): - # """Skip test if input file does not exist""" - # # Current working directory will be where the reframe job was launched - # # However reframe assumes the source directory is relative to the test file - # with osext.change_dir(TESTS_ROOT_DIR): - # self.skip_if( - # not os.path.exists(self.sourcesdir), - # f"Source directory '{self.sourcesdir}' does not exist. Current working directory: '{os.getcwd()}'", - # ) - # self.skip_if( - # not os.path.exists(os.path.join(self.sourcesdir, self.input_file)), - # f"Input file '{self.input_file}' not present in source directory '{self.sourcesdir}'", - # ) - def test_simulation_complete(self) -> Literal[True]: - """Check simulation completed successfully""" + """Check simulation completed successfully. + + Returns: + simulation_completed: Returns True if the simulation + completed, otherwise it fails the test. + + Raises: + reframe.core.exceptions.SanityError: If the simulation did + not complete. + """ return sn.assert_not_found( r"(?i)error", self.stderr, @@ -270,13 +330,20 @@ class GprMaxBaseTest(RunOnlyRegressionTest): r"=== Simulation completed in ", self.stdout, "Simulation did not complete" ) - @sanity_function - def regression_check(self) -> bool: - """Perform regression check for the test output and snapshots + def test_reference_files_exist(self) -> Literal[True]: + """Check all reference files exist and create any missing ones. - If not all the reference files exist, then create all the - missing reference files from the test output and fail the test. + Returns: + files_exist: Returns True if all reference files exist, + otherwise it fails the test. + + Raises: + reframe.core.exceptions.SanityError: If any reference files + do not exist. """ + + # Store error messages so all references files can be checked + # (and created if necessary) before the test is failed. error_messages = [] for check in self.regression_checks: if not check.reference_file_exists(): @@ -292,23 +359,44 @@ class GprMaxBaseTest(RunOnlyRegressionTest): error_messages.append( f"ERROR: Unable to create reference file: '{check.reference_file}'" ) + return sn.assert_true(len(error_messages) < 1, "\n".join(error_messages)) + + @sanity_function + def regression_check(self) -> bool: + """Run sanity checks and regression checks. + + Checks will run in the following order: + - Check the simulation completed. + - Check all reference files exist. + - Run all regression checks. + + If any of these checks fail, the test will fail and none of the + other later checks will run. + + Returns: + test_passed: Returns True if all checks pass. + + Raises: + reframe.core.exceptions.SanityError: If any regression + checks fail. + """ return ( self.test_simulation_complete() - and sn.assert_true(len(error_messages) < 1, "\n".join(error_messages)) + and self.test_reference_files_exist() and sn.all(sn.map(lambda check: check.run(), self.regression_checks)) ) @performance_function("s", perf_key="run_time") def extract_run_time(self): - """Extract total runtime from the last task to complete""" + """Extract total runtime from the last task to complete.""" return sn.extractsingle( r"real\s+(?P\S+)", self.stderr, "run_time", float, self.num_tasks - 1 ) @performance_function("s", perf_key="simulation_time") def extract_simulation_time(self): - """Extract simulation time reported by gprMax""" + """Extract simulation time reported by gprMax.""" # sn.extractall throws an error if a group has value None. # Therefore have to handle the < 1 min, >= 1 min and >= 1 hour cases separately. @@ -347,116 +435,3 @@ class GprMaxBaseTest(RunOnlyRegressionTest): float, ) return hours * 3600 + minutes * 60 + seconds - - -class GprMaxAPIRegressionTest(GprMaxBaseTest): - executable = "time -p python" - - @run_after("setup", always_last=True) - def configure_test_run(self): - """Input files for API tests will be python files""" - # super().configure_test_run(input_file_ext=".py") - pass - - -class GprMaxBScanRegressionTest(GprMaxBaseTest): - num_models = parameter() - - @run_after("setup", always_last=True) - def configure_test_run(self): - """Add B-Scan specific commandline arguments and postrun cmds""" - self.extra_executable_opts += ["-n", str(self.num_models)] - super().configure_test_run() - - # Override postrun_cmds - # Merge output files and create B-Scan plot - self.postrun_cmds = [ - f"python -m toolboxes.Utilities.outputfiles_merge {self.model}", - f"mv {self.model}_merged.h5 {self.output_file}", - f"python -m toolboxes.Plotting.plot_Bscan -save {self.output_file} Ez", - ] - - -class GprMaxTaskfarmRegressionTest(GprMaxBScanRegressionTest): - serial_dependency: type[GprMaxBaseTest] - extra_executable_opts = ["-taskfarm"] - sourcesdir = "src" # Necessary so test is not skipped (set later) - - num_tasks = required - - def _get_variant(self) -> str: - """Get test variant with the same model and number of models""" - variant = self.serial_dependency.get_variant_nums( - model=lambda m: m == self.model, num_models=lambda n: n == self.num_models - ) - return self.serial_dependency.variant_name(variant[0]) - - @run_after("init") - def inject_dependencies(self): - """Test depends on the serial version of the test""" - self.depends_on(self._get_variant(), udeps.by_env) - super().inject_dependencies() - - @run_after("init") - def set_variables_from_serial_dependency(self): - """Set test dependencies to the same as the serial test""" - self.sourcesdir = str(self.serial_dependency.sourcesdir) - self.has_receiver_output = bool(self.serial_dependency.has_receiver_output) - self.snapshots = list(self.serial_dependency.snapshots) - - @run_after("setup") - def setup_reference_files(self): - """ - Set the reference file regression checks to the output of the - serial test - """ - target = self.getdep(self._get_variant()) - self.reference_file = os.path.join(target.stagedir, target.output_file) - self.snapshot_reference_files = target.snapshot_reference_files - - -class GprMaxMPIRegressionTest(GprMaxBaseTest): - # TODO: Make this a variable - serial_dependency: type[GprMaxBaseTest] - mpi_layout = parameter() - sourcesdir = "src" # Necessary so test is not skipped (set later) - - @run_after("setup", always_last=True) - def configure_test_run(self): - """Add MPI specific commandline arguments""" - self.num_tasks = int(prod(self.mpi_layout)) - self.extra_executable_opts = ["--mpi", *map(str, self.mpi_layout)] - super().configure_test_run() - - def _get_variant(self) -> str: - """Get test variant with the same model""" - # TODO: Refactor tests to work with benchmarks - variant = self.serial_dependency.get_variant_nums( - model=lambda m: m == self.model, - # cpu_freq=lambda f: f == self.cpu_freq, - # omp_threads=lambda o: o == 16, - ) - return self.serial_dependency.variant_name(variant[0]) - - @run_after("init") - def inject_dependencies(self): - """Test depends on the specified serial test""" - self.depends_on(self._get_variant(), udeps.by_env) - super().inject_dependencies() - - @run_after("init") - def set_variables_from_serial_dependency(self): - """Set test dependencies to the same as the serial test""" - self.sourcesdir = str(self.serial_dependency.sourcesdir) - self.has_receiver_output = bool(self.serial_dependency.has_receiver_output) - self.snapshots = list(self.serial_dependency.snapshots) - - @run_after("setup") - def setup_reference_files(self): - """ - Set the reference file regression checks to the output of the - serial test - """ - target = self.getdep(self._get_variant()) - self.reference_file = os.path.join(target.stagedir, target.output_file) - self.snapshot_reference_files = target.snapshot_reference_files diff --git a/reframe_tests/tests/mixins.py b/reframe_tests/tests/mixins.py index 93e96eed..e1b893b3 100644 --- a/reframe_tests/tests/mixins.py +++ b/reframe_tests/tests/mixins.py @@ -14,6 +14,9 @@ from reframe_tests.tests.regression_checks import ( SnapshotRegressionCheck, ) +# If using a static type checker, inherit from GprMaxBaseTest as the +# Mixin classes should always have access to resources from that class. +# However, during execution inherit from RegressionMixin. if TYPE_CHECKING: GprMaxMixin = GprMaxBaseTest else: @@ -39,13 +42,29 @@ class ReceiverMixin(GprMaxMixin): class SnapshotMixin(GprMaxMixin): + """Add regression tests for snapshots. + + Attributes: + snapshots (list[str]): List of snapshots to run regression + checks on. + """ + snapshots = variable(typ.List[str], value=[]) def build_snapshot_filepath(self, snapshot: str) -> Path: + """Build filepath to the specified snapshot. + + Args: + snapshot: Name of the snapshot. + """ return Path(f"{self.model}_snaps", snapshot).with_suffix(".h5") @run_after("setup") def add_snapshot_regression_checks(self): + """Add a regression check for each snapshot. + + The test will be skipped if no snapshots have been specified. + """ self.skip_if( len(self.snapshots) < 0, f"Must provide a list of snapshots.", @@ -59,29 +78,47 @@ class SnapshotMixin(GprMaxMixin): class PythonApiMixin(GprMaxMixin): + """Use the GprMax Python API rather than a standard input file.""" + @run_after("setup") - def set_python_input_file(self): - """Input files for API tests will be python files""" + def use_python_input_file(self): + """Input files for API tests will be python files.""" self.executable = "time -p python" self.input_file = self.input_file.with_suffix(".py") class MpiMixin(GprMaxMixin): + """Run test using GprMax MPI functionality. + + Attributes: + mpi_layout (parameter[list[int]]): ReFrame parameter to specify + how MPI tasks should be arranged. + """ + mpi_layout = parameter() @run_after("setup") def configure_mpi_tasks(self): - """Add MPI specific commandline arguments""" + """Set num_tasks and add MPI specific commandline arguments.""" self.num_tasks = int(prod(self.mpi_layout)) self.executable_opts += ["--mpi", *map(str, self.mpi_layout)] class BScanMixin(GprMaxMixin): + """Test a B-scan model - a model with a moving source and receiver. + + Attributes: + num_models (parameter[int]): Number of models to run. + """ + num_models = parameter() @run_after("setup") def setup_bscan_test(self): - """Add B-Scan specific commandline arguments and postrun cmds""" + """Add B-scan specific commandline arguments and postrun cmds. + + Set the number of models to run, and merge the output files. + """ self.executable_opts += ["-n", str(self.num_models)] self.postrun_cmds += [ @@ -89,18 +126,41 @@ class BScanMixin(GprMaxMixin): f"mv {self.model}_merged.h5 {self.output_file}", ] - def get_test_dependency_variant_name(self) -> Optional[str]: - return super().get_test_dependency_variant_name(num_models=self.num_models) + def get_test_dependency_variant_name(self, **kwargs) -> Optional[str]: + """Get unique ReFrame name of the test dependency variant. + + By default, filter test dependencies by the model name and the + number of models. + + Args: + **kwargs: Additional key-value pairs to filter the parameter + space of the test dependency. The key is the test + parameter name and the value is either a single value or + a unary function that evaluates to True if the parameter + point must be kept, False otherwise. + + Returns: + variant_name: Unique name of the test dependency variant. + """ + + kwargs.setdefault("num_models", self.num_models) + return super().get_test_dependency_variant_name(**kwargs) class TaskfarmMixin(GprMaxMixin): + """Run test using GprMax taskfarm functionality.""" + + # TODO: Make this a required variabe, or create a new variable to + # proxy it. # num_tasks = required @run_after("setup") def add_taskfarm_flag(self): - """Add taskfarm specific commandline arguments""" + """Add taskfarm specific commandline arguments.""" self.executable_opts += ["--taskfarm"] class AntennaModelMixin(GprMaxMixin): + """Test an antenna model.""" + pass diff --git a/reframe_tests/tests/regression_checks.py b/reframe_tests/tests/regression_checks.py index d43c4ccd..51e1cdc9 100644 --- a/reframe_tests/tests/regression_checks.py +++ b/reframe_tests/tests/regression_checks.py @@ -9,20 +9,37 @@ from reframe.utility import osext class RegressionCheck: - """Compare two .h5 files using h5diff""" + """Compare two hdf5 files using h5diff""" def __init__( self, output_file: Union[str, PathLike], reference_file: Union[str, PathLike] ) -> None: + """Create a new regression check. + + Args: + output_file: Path to output file generate by the test. + reference_file: Path to reference file to run the regression + check against. + """ self.output_file = Path(output_file) self.reference_file = Path(reference_file) self.h5diff_options: list[str] = [] @property def error_msg(self) -> str: + """Message to display if the regression check fails""" return "Failed regression check" def create_reference_file(self) -> bool: + """Create reference file if it does not already exist. + + The reference file is created as a copy of the current output + file. + + Returns: + file_created: Returns True if a new file was created, False + if the path already exists. + """ if not sn.path_exists(self.reference_file): self.reference_file.parent.mkdir(parents=True, exist_ok=True) copyfile(self.output_file, self.reference_file) @@ -31,9 +48,26 @@ class RegressionCheck: return False def reference_file_exists(self) -> bool: + """Check if the reference file exists. + + Returns: + file_exists: Returns true if the reference filepath is a + regular file, False otherwise. + """ return sn.path_isfile(self.reference_file) def run(self) -> Literal[True]: + """Run the regression check using h5diff. + + Returns: + check_passed: Returns True if the output file matches the + reference file (i.e. no output from h5diff). Otherwise, + raises a SanityError. + + Raises: + reframe.core.exceptions.SanityError: If the output file does + not exist, or the regression check fails. + """ if runtime().system.name == "archer2": h5diff = "/opt/cray/pe/hdf5/default/bin/h5diff" else: @@ -50,7 +84,6 @@ class RegressionCheck: h5diff_output.stdout, ( f"{self.error_msg}\n" - # f"For more details run: 'h5diff {' '.join(self.h5diff_options)} {self.output_file} {self.reference_file}'\n" f"For more details run: '{' '.join(h5diff_output.args)}'\n" f"To re-create regression file, delete '{self.reference_file}' and rerun the test." ), @@ -58,6 +91,12 @@ class RegressionCheck: class ReceiverRegressionCheck(RegressionCheck): + """Run regression check on individual reveivers in output files. + + This can include arbitrary receivers in each file, or two receivers + in the same file. + """ + def __init__( self, output_file: Union[str, PathLike], @@ -65,6 +104,17 @@ class ReceiverRegressionCheck(RegressionCheck): output_receiver: Optional[str], reference_receiver: Optional[str] = None, ) -> None: + """Create a new receiver regression check. + + Args: + output_file: Path to output file generate by the test. + reference_file: Path to reference file to run the regression + check against. + output_receiver: Output receiver to check. + reference_receiver: Optional receiver to check against in + the reference file. If None, this will be the same as + the output receiver. + """ super().__init__(output_file, reference_file) self.output_receiver = output_receiver @@ -80,6 +130,8 @@ class ReceiverRegressionCheck(RegressionCheck): class SnapshotRegressionCheck(RegressionCheck): + """Run regression check on a gprMax Snapshot.""" + @property def error_msg(self) -> str: return f"Snapshot '{self.output_file.name}' failed regression check " From 2a9764ad3f48d50ec8399f3c9d371a1154af475b Mon Sep 17 00:00:00 2001 From: nmannall Date: Tue, 26 Nov 2024 13:36:01 +0000 Subject: [PATCH 18/19] Fix keep_files needs to be a list of strings --- reframe_tests/tests/base_tests.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/reframe_tests/tests/base_tests.py b/reframe_tests/tests/base_tests.py index e0c186e3..7b02648e 100644 --- a/reframe_tests/tests/base_tests.py +++ b/reframe_tests/tests/base_tests.py @@ -11,7 +11,6 @@ from typing import Literal, Optional, Union import reframe.utility.sanity as sn import reframe.utility.typecheck as typ -from numpy import prod from reframe import RunOnlyRegressionTest, simple_test from reframe.core.builtins import ( parameter, @@ -267,7 +266,7 @@ class GprMaxBaseTest(RunOnlyRegressionTest): "--hide-progress-bars", ] - regression_output_files = [r.output_file for r in self.regression_checks] + regression_output_files = [str(r.output_file) for r in self.regression_checks] self.keep_files += [input_file, output_file, *regression_output_files] """ From 4830153ffaa6c04867269ec303bfb1adf1a71a8a Mon Sep 17 00:00:00 2001 From: nmannall Date: Tue, 26 Nov 2024 13:37:45 +0000 Subject: [PATCH 19/19] Use double dash for long arguments --- reframe_tests/utilities/plotting.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reframe_tests/utilities/plotting.py b/reframe_tests/utilities/plotting.py index da4b8709..84973cd4 100644 --- a/reframe_tests/utilities/plotting.py +++ b/reframe_tests/utilities/plotting.py @@ -97,7 +97,7 @@ if __name__ == "__main__": parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument("input_file", help="Path to input file") parser.add_argument("reference_file", help="Path to reference file") - parser.add_argument("-model-name", "-name", "-n", help="Name of the model", default="model") + parser.add_argument("--model-name", "--name", "-n", help="Name of the model", default="model") args = parser.parse_args()