Skip to content

Commit 063c79d

Browse files
author
telemin
committed
improve cli robustness, add openmp helper
1 parent a97f0c1 commit 063c79d

File tree

2 files changed

+35
-3
lines changed

2 files changed

+35
-3
lines changed

pypop/cli.py

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
use("agg")
1010

1111
from .traceset import TraceSet
12-
from .metrics import MPI_Metrics, MPI_OpenMP_Metrics
12+
from .metrics import MPI_Metrics, MPI_OpenMP_Metrics, OpenMP_Metrics
1313
from .dimemas import dimemas_idealise
1414
from .config import set_dimemas_path, set_paramedir_path, set_tmpdir_path
1515

@@ -131,7 +131,38 @@ def mpi_cli_metrics():
131131

132132
statistics = TraceSet(config.traces)
133133

134-
metrics = MPI_Metrics(statistics.by_commsize())
134+
metrics = MPI_Metrics(statistics)
135+
136+
# Create and save table
137+
if not config.no_metric_table:
138+
metric_table = metrics.plot_table(title=config.metric_title)
139+
metric_table.savefig(config.metric_table)
140+
141+
# Create and save scaling plot
142+
if not config.no_scaling_plot:
143+
scaling_plot = metrics.plot_scaling(title=config.scaling_title)
144+
scaling_plot.savefig(config.scaling_plot)
145+
146+
# Save metrics as csv
147+
if not config.no_csv:
148+
metrics.metric_data.to_csv(config.csv, index=False)
149+
150+
151+
def openmp_cli_metrics():
152+
"""Entrypoint for pypop-hybrid-metrics script
153+
"""
154+
155+
config = _mpi_parse_args()
156+
157+
if config.paramedir_path:
158+
set_paramedir_path(config.paramedir_path)
159+
160+
if config.dimemas_path:
161+
set_dimemas_path(config.dimemas_path)
162+
163+
statistics = TraceSet(config.traces)
164+
165+
metrics = OpenMP_Metrics(statistics)
135166

136167
# Create and save table
137168
if not config.no_metric_table:
@@ -162,7 +193,7 @@ def hybrid_cli_metrics():
162193

163194
statistics = TraceSet(config.traces)
164195

165-
metrics = MPI_OpenMP_Metrics(statistics.by_commsize())
196+
metrics = MPI_OpenMP_Metrics(statistics)
166197

167198
# Create and save table
168199
if not config.no_metric_table:

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"console_scripts": [
2828
"pypop-mpi-metrics = pypop.cli:mpi_cli_metrics",
2929
"pypop-hybrid-metrics = pypop.cli:hybrid_cli_metrics",
30+
"pypop-openmp-metrics = pypop.cli:openmp_cli_metrics",
3031
"pypop-preprocess = pypop.cli:preprocess_traces",
3132
"pypop-idealise-prv = pypop.cli:dimemas_idealise",
3233
]

0 commit comments

Comments
 (0)