[Docs] RoPE gets its own Benchmarks page, after Elementwise - #44
Merged
Conversation
Positional encoding sat in `Other` alongside FFT, MHC and Top-k. Six ops and 13 workloads is enough to carry a page, and the rotation is applied to one tensor in place, so the page goes right after Elementwise: `Elementwise`, `RoPE`, `Reduction`, `Normalization`, `Conv & Pool`, `GEMM`, `Quantization`, `Attention`, `MoE`, `Linear Attention`, `SSM`, `Other`. The family is titled `RoPE`, matching the API reference's nav label for the same ops. `Other` now holds FFT, MHC, Top-k and Scan — 4 ops, 11 workloads.
There was a problem hiding this comment.
🟢 Approval recommended
The updates are consistent across the renderer and MkDocs nav hook, and the new page is only included when actually generated (present on disk).
Pull request overview
This PR refactors the Benchmarks section’s generated page grouping so RoPE (previously under the positional family) is promoted from the “Other” page into its own dedicated data page, keeping Benchmarks navigation aligned with the API reference’s RoPE labeling.
Changes:
- Renamed the
positionalfamily title to RoPE and added a newropedata page that contains thepositionalfamily. - Removed
positionalfrom the “Other” Benchmarks page’s family list so “Other” now holds FFT/MHC/Top-k/Scan (+ truly “other”). - Updated the MkDocs hook Benchmarks nav ordering to place
rope.mdimmediately afterelementwise.md.
File summaries
| File | Description |
|---|---|
| scripts/gen_bench_pages.py | Introduces the new rope Benchmarks data page and moves the positional family out of “Other”. |
| hooks.py | Inserts rope.md into the Benchmarks navigation order after elementwise.md. |
Review details
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problems
Othernext to FFT, MHC and Top-k, which is where a family goes when it is too small to carry a page. Six ops and 13 workloads is not that.Othertherefore read as a page about RoPE with three other families appended.Changes
ropedata page, titledRoPEto match the API reference's nav label for the same ops. Page order: Elementwise, RoPE, Reduction, Normalization, Conv & Pool, GEMM, Quantization, Attention, MoE, Linear Attention, SSM, Other.FAMILY_TITLE["positional"]is nowRoPE.Otherholds FFT, MHC, Top-k and Scan.hooks.pylistsrope.mdin nav order.mkdocs.ymlneeds no change:nav_translationsalready carriesRoPE.Rendered against the newest snapshot (182 ops, 1063 workloads):
The fixture snapshot declares no positional op, so
tests/golden/is unchanged. Seven tests, unchanged in number.Not changed
The vector norms (
L1NormFwd,L2NormFwd,InfNormFwd), the logical reductions (AllFwd,AnyFwd) and the softmax family stay on the Reduction page. All of them are exported astileops.reduction.<Op>and subclass the reduction base, and PyTorch listsall,anyandnormunder Reduction Ops while ONNX names the vector normsReduceL1andReduceL2. Softmax is the one op PyTorch files elsewhere —torch/nn/modules/activation.py, notnormalization.py— but there is no activation family here, and a row-wise op does not belong on the Elementwise page.