Skip to content

bench(datapipes): mesh memmap vs zarr benchmark suite#1829

Draft
negin513 wants to merge 1 commit into
NVIDIA:mainfrom
negin513:feat/zarr-mesh-benchmarks
Draft

bench(datapipes): mesh memmap vs zarr benchmark suite#1829
negin513 wants to merge 1 commit into
NVIDIA:mainfrom
negin513:feat/zarr-mesh-benchmarks

Conversation

@negin513

Copy link
Copy Markdown
Member

Description

Split out of #1798 per review: the benchmark harness behind that PR's performance numbers (~1,060 lines).

What's included

  • benchmark_mesh_vs_zarr.py: reader-level benchmark — .pmsh/memmap MeshReader vs self-contained zarr prototypes (zarr-python and tensorstore), synthetic and real (DrivAerML) modes, cold/warm passes, multi-worker scaling. Includes the pmsh soup layout-control store that separates soup-relayout effects from storage-format effects — the control the review asked to see numbers for.
  • benchmark_recipe_pipeline_mesh_vs_zarr.py: end-to-end recipe DataLoader comparison (benchmark_io).
  • profile_recipe_stages.py: per-stage (read / transform / collate) profiling.

Dependencies

benchmark_mesh_vs_zarr.py is self-contained and runs on main today (its zarr readers are the prototypes that predate and motivated the library's ZarrMeshReader). The recipe-pipeline and per-stage scripts load the zarr dataset configs from #1828 at runtime, so the full suite needs #1798#1828 merged first. Draft until then.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes (benchmark scripts; not collected by CI's pytest scope).
  • The documentation is up to date with these changes (module docstrings document usage).
  • The CHANGELOG.md is up to date with these changes (no library-facing change).
  • An issue is linked to this pull request.

🤖 Generated with Claude Code

Split out of NVIDIA#1798 per review: the reader-level (self-contained
prototypes incl. the pmsh-soup layout control), recipe-pipeline, and
per-stage profiling scripts behind that PR's performance numbers.
benchmark_mesh_vs_zarr.py runs standalone on main; the recipe-pipeline
and per-stage scripts additionally need the zarr dataset configs from
the recipe follow-up PR at runtime.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@copy-pr-bot

copy-pr-bot Bot commented Jul 10, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant