Abstract
Register Blocking (RB), also known as ‘Register-level Tiling’ or ‘unroll-and-jam,’ is a key compiler optimizationfor developing efficient micro-kernels. However, applying RB effectively is a complex task due to severalchallenges. First, the exploration space of possible RB configurations is vast. Second, RB and loop permutationare interdependent; therefore, addressing both optimizations simultaneously further inflates the explorationspace. Third, the effectiveness of RB is highly dependent on the target hardware platform and the specific loopkernel being optimized. As a result, an extensive and time-consuming fine-tuning process is necessary forachieving an efficient implementation.To address these challenges, a source-to-source analytical modelling approach is proposed. The RB factors,the loops to apply RB, the number of allocated variables/registers per array reference, and the loops’ orderingare generated by an analytical model, leveraging the target hardware architecture details and loop kernelcharacteristics. The proposed methodology has been evaluated on both embedded and general-purpose CPUs,using seven well-known loop kernels and three machine learning applications. The results show significantspeedups over the GCC compiler, the Pluto tool, and related work.
| Original language | English |
|---|---|
| Article number | 80 |
| Pages (from-to) | 1-24 |
| Journal | ACM Transactions on Embedded Computing Systems |
| Volume | 24 |
| Issue number | 5 |
| DOIs | |
| Publication status | Published - 13 Sept 2025 |
ASJC Scopus subject areas
- Software
- Hardware and Architecture
Keywords
- CPUs
- Compiler optimizations
- data reuse
- high performance computing
- register blocking
- register tiling
- unroll-and-jam
Fingerprint
Dive into the research topics of 'Register Blocking: A Source-to-Source Analytical Modelling Approach for Affine Loop Kernels'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver