Add permutedims! benchmark suite#71
Open
lkdvos wants to merge 4 commits into
Open
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 🚀 New features to boost your workflow:
|
BenchmarkTools suite covering the HPTT/TTC reference cases, small sizes (including the strided-rs cases), and non-SIMD-aligned sizes, over element types and thread counts, configurable via ArgParse. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Cases (and per-group sampling parameters) now live in benchmark/cases.toml; an alternative file can be passed with --cases. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…trided views Cases now fix a shape (dimension ratios) and permutation and sweep a list of total lengths, so each can be normalized against a same-length memory copy (auto-generated `copy` group) for a machine-independent efficiency. Adds a `strided` group whose inputs/outputs are genuinely non-contiguous strided views (non-unit leading and second-leading strides), replacing the explicit-size hptt/small/unaligned groups. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Your PR no longer requires formatting changes. Thank you for your contribution! |
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.
Adds a BenchmarkTools.jl suite at
benchmark/benchmarks.jl(definingSUITE) for trackingpermutedims!performance across revisions with AirSpeedVelocity.jl.Each case fixes a shape (dimension ratios) and a permutation and is swept over a list of total lengths, so its time can be divided by that of a same-length memory copy (the auto-generated
copygroup) for a machine-independent efficiency (≥ 1, approaching1when bandwidth-bound). Cases are defined incases.tomlin three groups, run forFloat64/ComplexF64and single/multi-threaded:balanced— equal dimensions across ranks 2–6skewed— one fat leading or trailing axis (the HPTT/TTC regime, as clean ratios)strided— genuinely non-contiguous strided views (non-unit leading and second-leading strides on input/output), which exercise the paths a dense array never hitsConfigurable through CLI options (ArgParse.jl) or a different
--casesTOML file; seebenchmark/README.mdfor usage.🤖 Generated with Claude Code