diff --git a/src/hpc_multibench/run_configuration.py b/src/hpc_multibench/run_configuration.py index c0c4135..51f93b8 100755 --- a/src/hpc_multibench/run_configuration.py +++ b/src/hpc_multibench/run_configuration.py @@ -69,7 +69,7 @@ def sbatch_contents(self) -> str: sbatch_file += "\n".join(self.build_commands) + "\n" sbatch_file += "\necho '===== RUN ====='\n" - sbatch_file += f"time {self.run_command} {self.args}\n" + sbatch_file += f"time -p {self.run_command} {self.args}\n" return sbatch_file diff --git a/yaml_examples/example.yaml b/yaml_examples/example.yaml index 6379a6a..24af2ac 100644 --- a/yaml_examples/example.yaml +++ b/yaml_examples/example.yaml @@ -31,10 +31,11 @@ benches: "Mesh z size": "nz: (\\d+)" "MPI Ranks": "=== RUN INSTANTIATION ===\n\\{.*run_command: mpirun -np (\\d+).*\\}" "Total time (s)": "Time Summary:[\\s\\S]*Total\\s*: ([\\d\\.]+)[\\s\\S]*\nFLOPS Summary" + "Wall time (s)": "real\\s([\\d\\.]+)\nuser" line_plots: - title: "Strong Scaling Plot" x: "Mesh z size" - y: "Total time (s)" + y: "Wall time (s)" # roofline_plots: # - title: "Strong Scaling Roofline" # gflops_per_sec: "Mesh z size" @@ -67,7 +68,8 @@ benches: metrics: "MPI Ranks": "=== RUN INSTANTIATION ===\n\\{.*run_command: mpirun -np (\\d+).*\\}" "Total time (s)": "Time Summary:[\\s\\S]*Total\\s*: ([\\d\\.]+)[\\s\\S]*\nFLOPS Summary" + "Wall time (s)": "real\\s([\\d\\.]+)\nuser" line_plots: - title: "Weak Scaling Plot" x: "MPI Ranks" - y: "Total time (s)" + y: "Wall time (s)" diff --git a/yaml_examples/kudu/cpp_kokkos_rust.yaml b/yaml_examples/kudu/cpp_kokkos_rust.yaml index 9a5084e..6a6686a 100644 --- a/yaml_examples/kudu/cpp_kokkos_rust.yaml +++ b/yaml_examples/kudu/cpp_kokkos_rust.yaml @@ -123,7 +123,8 @@ benches: "ddot mflops": "MFLOPS Summary:[\\s\\S]*DDOT\\s*: ([\\d\\.]+)" "waxpby mflops": "MFLOPS Summary:[\\s\\S]*WAXPBY\\s*: ([\\d\\.]+)" "sparsemv mflops": "MFLOPS Summary:[\\s\\S]*SPARSEMV\\s*: ([\\d\\.]+)" + "Wall time (s)": "real\\s([\\d\\.]+)\nuser" line_plots: - title: "C++, Kokkos, and Rust Version Comparison" x: "Mesh x size" - y: "Total time (s)" + y: "Wall time (s)" diff --git a/yaml_examples/kudu/original_versions.yaml b/yaml_examples/kudu/original_versions.yaml index 3dddc4b..c583f0c 100644 --- a/yaml_examples/kudu/original_versions.yaml +++ b/yaml_examples/kudu/original_versions.yaml @@ -70,26 +70,15 @@ benches: matrix: args: - "100 100 100" - # - "300 300 300" - # - "500 500 500" + - "150 150 150" + - "200 200 200" + - "250 250 250" analysis: metrics: "Mesh x size": "nx: (\\d+)" - "Mesh y size": "ny: (\\d+)" - "Mesh z size": "nz: (\\d+)" "Total time (s)": "Time Summary:[\\s\\S]*Total\\s*: ([\\d\\.]+)[\\s\\S]*\nFLOPS Summary" - "ddot time (s)": "Time Summary:[\\s\\S]*DDOT\\s*: ([\\d\\.]+)[\\s\\S]*\nFLOPS Summary" - "waxpby time (s)": "Time Summary:[\\s\\S]*WAXPBY\\s*: ([\\d\\.]+)[\\s\\S]*\nFLOPS Summary" - "sparsemv time (s)": "Time Summary:[\\s\\S]*SPARSEMV\\s*: ([\\d\\.]+)[\\s\\S]*\nFLOPS Summary" - "Total flops": "FLOPS Summary:[\\s\\S]*Total\\s*: ([\\d\\.]+)[\\s\\S]*\nMFLOPS Summary" - "ddot flops": "FLOPS Summary:[\\s\\S]*DDOT\\s*: ([\\d\\.]+)[\\s\\S]*\nMFLOPS Summary" - "waxpby flops": "FLOPS Summary:[\\s\\S]*WAXPBY\\s*: ([\\d\\.]+)[\\s\\S]*\nMFLOPS Summary" - "sparsemv flops": "FLOPS Summary:[\\s\\S]*SPARSEMV\\s*: ([\\d\\.]+)[\\s\\S]*\nMFLOPS Summary" - "Total mflops": "MFLOPS Summary:[\\s\\S]*Total\\s*: ([\\d\\.]+)" - "ddot mflops": "MFLOPS Summary:[\\s\\S]*DDOT\\s*: ([\\d\\.]+)" - "waxpby mflops": "MFLOPS Summary:[\\s\\S]*WAXPBY\\s*: ([\\d\\.]+)" - "sparsemv mflops": "MFLOPS Summary:[\\s\\S]*SPARSEMV\\s*: ([\\d\\.]+)" + "Wall time (s)": "real\\s([\\d\\.]+)\nuser" line_plots: - title: "C++ Versions Comparison" x: "Mesh x size" - y: "Total time (s)" + y: "Wall time (s)" diff --git a/yaml_examples/kudu/parallelism_strategies.yaml b/yaml_examples/kudu/parallelism_strategies.yaml index ed65745..f0ce804 100644 --- a/yaml_examples/kudu/parallelism_strategies.yaml +++ b/yaml_examples/kudu/parallelism_strategies.yaml @@ -147,10 +147,11 @@ benches: "ddot mflops": "MFLOPS Summary:[\\s\\S]*DDOT\\s*: ([\\d\\.]+)" "waxpby mflops": "MFLOPS Summary:[\\s\\S]*WAXPBY\\s*: ([\\d\\.]+)" "sparsemv mflops": "MFLOPS Summary:[\\s\\S]*SPARSEMV\\s*: ([\\d\\.]+)" + "Wall time (s)": "real\\s([\\d\\.]+)\nuser" line_plots: - title: "Reference Implementation Comparison" x: "Mesh x size" - y: "Total time (s)" + y: "Wall time (s)" "parallel": run_configurations: @@ -184,10 +185,11 @@ benches: "ddot mflops": "MFLOPS Summary:[\\s\\S]*DDOT\\s*: ([\\d\\.]+)" "waxpby mflops": "MFLOPS Summary:[\\s\\S]*WAXPBY\\s*: ([\\d\\.]+)" "sparsemv mflops": "MFLOPS Summary:[\\s\\S]*SPARSEMV\\s*: ([\\d\\.]+)" + "Wall time (s)": "real\\s([\\d\\.]+)\nuser" line_plots: - title: "Parallel Implementation Comparison" x: "Mesh x size" - y: "Total time (s)" + y: "Wall time (s)" # "mpi": # run_configurations: @@ -215,10 +217,11 @@ benches: # "ddot mflops": "MFLOPS Summary:[\\s\\S]*DDOT\\s*: ([\\d\\.]+)" # "waxpby mflops": "MFLOPS Summary:[\\s\\S]*WAXPBY\\s*: ([\\d\\.]+)" # "sparsemv mflops": "MFLOPS Summary:[\\s\\S]*SPARSEMV\\s*: ([\\d\\.]+)" + # "Wall time (s)": "real\\s([\\d\\.]+)\nuser" # line_plots: # - title: "MPI Implementation Comparison" # x: "Mesh x size" - # y: "Total time (s)" + # y: "Wall time (s)" # "hybrid": # run_configurations: @@ -253,7 +256,8 @@ benches: # "ddot mflops": "MFLOPS Summary:[\\s\\S]*DDOT\\s*: ([\\d\\.]+)" # "waxpby mflops": "MFLOPS Summary:[\\s\\S]*WAXPBY\\s*: ([\\d\\.]+)" # "sparsemv mflops": "MFLOPS Summary:[\\s\\S]*SPARSEMV\\s*: ([\\d\\.]+)" + # "Wall time (s)": "real\\s([\\d\\.]+)\nuser" # line_plots: # - title: "MPI & Parallel Implementation Comparison" # x: "Mesh x size" - # y: "Total time (s)" + # y: "Wall time (s)" diff --git a/yaml_examples/kudu/strong_weak_scaling.yaml b/yaml_examples/kudu/strong_weak_scaling.yaml index bfcbec0..1e138d3 100644 --- a/yaml_examples/kudu/strong_weak_scaling.yaml +++ b/yaml_examples/kudu/strong_weak_scaling.yaml @@ -49,10 +49,11 @@ benches: "Mesh z size": "nz: (\\d+)" "MPI Ranks": "=== RUN INSTANTIATION ===\n\\{.*run_command: mpirun -np (\\d+).*\\}" "Total time (s)": "Time Summary:[\\s\\S]*Total\\s*: ([\\d\\.]+)[\\s\\S]*\nFLOPS Summary" + "Wall time (s)": "real\\s([\\d\\.]+)\nuser" line_plots: - title: "Strong Scaling Plot" x: "Mesh z size" - y: "Total time (s)" + y: "Wall time (s)" "weak-scaling": run_configurations: @@ -73,7 +74,8 @@ benches: metrics: "MPI Ranks": "=== RUN INSTANTIATION ===\n\\{.*run_command: mpirun -np (\\d+).*\\}" "Total time (s)": "Time Summary:[\\s\\S]*Total\\s*: ([\\d\\.]+)[\\s\\S]*\nFLOPS Summary" + "Wall time (s)": "real\\s([\\d\\.]+)\nuser" line_plots: - title: "Weak Scaling Plot" x: "MPI Ranks" - y: "Total time (s)" + y: "Wall time (s)"