Address review feedback for Python tooling scripts

Tighten missing-dependency install hints so compare-only dependencies point
to cuda-bench[compare] and plotting/dataframe dependencies point to
cuda-bench[plot], instead of defaulting every script to the broader tools
extra.

Also harden nvbench_compare_legacy by reporting missing or skipped state
summaries as UNKNOWN rows instead of silently dropping them, and by converting
missing axis metadata into the existing JSON-structure error path rather than
leaking StopIteration.

Finally, consolidate duplicate finite-number predicates in both compare
scripts so duration formatting and numeric validation share the same helper.
This commit is contained in:
Oleksandr Pavlyk
2026-07-09 16:50:36 -05:00
parent cc17e96c3b
commit 25005fc9c4
5 changed files with 108 additions and 53 deletions

View File

@@ -30,22 +30,26 @@ def load_nvbench_histogram_tooling():
if plt is None:
plt = require_tooling_dependency(
ToolingDependency("matplotlib.pyplot", "matplotlib", "histogram plotting"),
ToolingDependency(
"matplotlib.pyplot", "matplotlib", "histogram plotting", extra="plot"
),
tool_name="nvbench-histogram",
)
if np is None:
np = require_tooling_dependency(
ToolingDependency("numpy", "numpy", "sample loading"),
ToolingDependency("numpy", "numpy", "sample loading", extra="plot"),
tool_name="nvbench-histogram",
)
if pd is None:
pd = require_tooling_dependency(
ToolingDependency("pandas", "pandas", "sample table construction"),
ToolingDependency(
"pandas", "pandas", "sample table construction", extra="plot"
),
tool_name="nvbench-histogram",
)
if sns is None:
sns = require_tooling_dependency(
ToolingDependency("seaborn", "seaborn", "histogram plotting"),
ToolingDependency("seaborn", "seaborn", "histogram plotting", extra="plot"),
tool_name="nvbench-histogram",
)