| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Merging this PR will regress 1 benchmark⚠️ 1 benchmark measured no execution time⚠️ Different runtime environments detected
⚡ 1 improved benchmark Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent. Comparing wolfv:perf-upstream-master (68f5541) with master (d9a57b6) |
Sorry, something went wrong.
|
CodSpeed’s remaining failure is unrelated measurement noise: this PR does not touch xshape, the report warns that the compared runtime environments differ, and the paired xshape_access result moves by a similar amount in the opposite direction. A fresh benchmark workflow rerun also passed. All correctness, sanitizer, platform, xsimd, TBB, and benchmark jobs are green. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Summary
This PR improves assignment performance for dynamic-rank broadcast and permutation expressions, focusing on the stepper-heavy workloads reported in #2784, #2683, and #2859.
It adds two conservative execution paths:
Unsupported types, dimensions, layouts, views, and stride patterns retain the existing assignment path. The PR also adds comparison benchmarks for raw loops, Eigen, Armadillo (when available), dynamic shapes, fixed shapes, broadcasting, and transpose/cast expressions.
Runtime broadcast plan
For non-trivial three-dimensional row-major broadcasts with directly addressable arithmetic leaves:
This avoids rebuilding/reseeking recursive steppers for every short inner row.
Permutation kernels
For dense 3-D cast(transpose(...)) / scalar assignments:
Benchmarks
benchmark_compare.cpp covers dynamic contiguous fused arithmetic, dynamic N-D broadcasting, fixed-shape fused arithmetic, transpose/cast/scaling, raw loops, Eigen Array/Tensor, and optional Armadillo comparisons.
Measured with -O3 -march=native, xsimd 14, AVX-512, SIMD width 8:
Validation