Add nvbench-compare-robust --plot-output/--plot-along-output options - #433
Conversation
The intent is to allow producing plotting artifacts in headless environments. Closes NVIDIA#395
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (5)
📝 WalkthroughSummary by CodeRabbit
WalkthroughChangesThe PR adds explicit output paths for summary and Plot output handling
Assessment against linked issues
Comment |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
…related data Introduced _nvbench_compare_plotting.py helper that contains class PlotCollector. PlotCollector owns plotting-related state and rendering, and compare_benches() interacts with plotting through that collector. compare_benches() still produces comparison facts, but delegates plotting state management and rendering to PlotCollector.
06becf1 to
e37d351
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
| - `{benchmark}`: benchmark name | ||
| - `{device}`: compare-device id | ||
| - `{axis}`: selected plot axis name | ||
| - `{pair}`: zero-based positional device-pair index |
There was a problem hiding this comment.
{pair} is the zero-based index of (reference_device_id, compare_device_id) pairs that specification of --reference-devices/--compare-devices implies as specified. For example, specifying --reference-devices 0,1 --compare-devices 0,0, the pair (0, 0) would have index 0, and the pair (1, 0) would have index 1.
The intent is to allow producing plotting artifacts in headless environments without relying on Linux-centric
"DISPLAY"environment variable and allowing user to select matplotlib's backend via environment variables.--plot-output PATHfor summary plots (i.e.,--plotwas specified).--plot-along-output PATH_OR_TEMPLATEfor--plot-along.plt.show().fig.savefig(..., dpi=150)and skipplt.show().--plot-along-outputsupports{benchmark},{device},{axis},{pair}templates.In addition, plotting data and their manipulation have been decoupled from
compare_benchesare now performed usingPlotCollectorclass. All plotting-related functionality has been move to helper source file_nvbench_compare_plotting.pyresiding next tonvbench_compare_robust.py.Closes #395