Reproduce “HPTT: A High-Performance Tensor Transposition C++ Library” on OpenResearch
Turn your favorite coding agents into research agents that review literature, develop hypotheses, and run experiments.
Universal app for Apple silicon and Intel. Requires macOS 11 or later.
About this paper
Paul Springer, Tong Su, Paolo Bientinesi
HPTT is a C++ library delivering high-performance N-dimensional tensor transpositions with runtime flexibility and optional autotuning for modern CPU architectures. It achieves near-optimal memory bandwidth utilization, demonstrating up to 27.4x faster performance than Eigen and improving tensor contraction speeds in the Cyclops Tensor Framework by up to 3.1x.
Key insights
- Decomposing N-dimensional transpositions into a hierarchical structure of 2D operations, with a portable micro-kernel, enables both high performance and architectural adaptability.
- Runtime plan generation, incorporating both performance heuristics and empirical autotuning, effectively addresses the vast search space for optimal execution plans in dynamic environments.
- Optimizations like non-temporal stores and careful parallelization strategies (e.g., avoiding parallelizing stride-1 indices) are crucial for maximizing memory bandwidth utilization in tensor operations.
Summary by alphaXiv.
Tip: change arxiv.org to autoarxiv.org in any arXiv abstract link to open the paper here.