Skip to content

Commit d6f8246

Browse files
committed
fix order
1 parent 070830f commit d6f8246

File tree

2 files changed

+33
-9
lines changed

2 files changed

+33
-9
lines changed

onnx_diagnostic/_command_lines_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -680,7 +680,7 @@ def get_parser_agg() -> ArgumentParser:
680680
parser.add_argument(
681681
"--views",
682682
default="agg-suite,disc,speedup,time,time_export,err,cmd,"
683-
"bucket-speedup,raw-short,counts",
683+
"bucket-speedup,raw-short,counts,peak-gpu",
684684
help="Views to add to the output files.",
685685
)
686686
parser.add_argument(

onnx_diagnostic/helpers/log_helper.py

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@ def __init__(
228228
ignored: Sequence[str] = (),
229229
recent: bool = False,
230230
formulas: Optional[Dict[str, Callable[[pandas.DataFrame], pandas.Series]]] = None,
231+
fill_missing: Optional[Sequence[Tuple[str, Any]]] = None,
231232
):
232233
self._data = data
233234
self._time = time
@@ -236,6 +237,7 @@ def __init__(
236237
self._ignored = ignored
237238
self.recent = recent
238239
self._formulas = formulas
240+
self.fill_missing = fill_missing
239241

240242
def load(self, verbose: int = 0):
241243
"""Loads and preprocesses the data. Returns self."""
@@ -992,6 +994,12 @@ def post_load_process_piece(
992994
Postprocesses a piece when a cube is made of multiple pieces
993995
before it gets merged.
994996
"""
997+
if not self.fill_missing:
998+
return df
999+
missing = dict(self.fill_missing)
1000+
for k, v in missing.items():
1001+
if k not in df.columns:
1002+
df[k] = v
9951003
return df
9961004

9971005

@@ -1027,6 +1035,7 @@ def __init__(
10271035
"^ITER",
10281036
"^onnx_.*",
10291037
"^op_onnx_.*",
1038+
"^peak_gpu_.*",
10301039
),
10311040
ignored: Sequence[str] = ("version_python",),
10321041
recent: bool = True,
@@ -1062,14 +1071,18 @@ def __init__(
10621071
"peak_gpu_nvidia",
10631072
"time_export_unbiased",
10641073
),
1074+
fill_missing: Optional[Sequence[Tuple[str, Any]]] = (("model_attn_impl", "eager"),),
10651075
):
1066-
self._data = data
1067-
self._time = time
1068-
self._keys = keys
1069-
self._values = values
1070-
self._ignored = ignored
1071-
self.recent = recent
1072-
self._formulas = formulas # type: ignore[assignment]
1076+
super().__init__(
1077+
data=data,
1078+
time=time,
1079+
keys=keys,
1080+
values=values,
1081+
ignored=ignored,
1082+
recent=recent,
1083+
formulas=formulas,
1084+
fill_missing=fill_missing,
1085+
)
10731086

10741087
def _process_formula(
10751088
self, formula: Union[str, Callable[[pandas.DataFrame], pandas.Series]]
@@ -1240,7 +1253,9 @@ def first_err(df: pandas.DataFrame) -> pandas.Series:
12401253
if formula == "peak_gpu_torch":
12411254
return lambda df: gdf(df, "mema_gpu_5_after_export") - gdf(df, "mema_gpu_4_reset")
12421255
if formula == "peak_gpu_nvidia":
1243-
return lambda df: gdf(df, "memory_gpu0_peak") - gdf(df, "memory_gpu0_begin")
1256+
return (
1257+
lambda df: (gdf(df, "memory_gpu0_peak") - gdf(df, "memory_gpu0_begin")) * 2**20
1258+
)
12441259
if formula == "time_export_unbiased":
12451260

12461261
def unbiased_export(df):
@@ -1425,6 +1440,14 @@ def mean_geo(gr):
14251440
name="counts",
14261441
order=order,
14271442
),
1443+
"peak-gpu": lambda: CubeViewDef(
1444+
key_index=index_cols,
1445+
values=self._filter_column(["^peak_gpu_.*"], self.values),
1446+
ignore_unique=True,
1447+
keep_columns_in_index=["suite"],
1448+
name="peak-gpu",
1449+
order=order,
1450+
),
14281451
"time": lambda: CubeViewDef(
14291452
key_index=index_cols,
14301453
values=self._filter_column(
@@ -1489,6 +1512,7 @@ def mean_geo(gr):
14891512
def post_load_process_piece(
14901513
self, df: pandas.DataFrame, unique: bool = False
14911514
) -> pandas.DataFrame:
1515+
df = super().post_load_process_piece(df, unique=unique)
14921516
if unique:
14931517
return df
14941518
cols = self._filter_column(self._keys, df)

0 commit comments

Comments
 (0)