Abstract
Storage mapping optimization is a flexible approach to folding array dimensions in numerical codes. It is designed to reduce the memory footprint after a wide spectrum of loop transformations, whether based on uniform dependence vectors or more expressive polyhedral abstractions. Conversely, few loop transformations have been proposed to facilitate register promotion, namely loop fusion, unroll-and-jam or tiling. Building on array data-flow analysis and expansion, we extend storage mapping optimization to improve opportunities for register promotion. Our work is motivated by the empirical study of a computational biology benchmark, the approximate string matching algorithm BPR from NR-grep, on a wide issue micro-architecture. Our experiments confirm the major benefit of register tiling (even on non-numerical benchmarks) but also shed the light on two novel issues: prior array expansion may be necessary to enable loop transformations that finally authorize profitable register promotion, and more advanced scheduling techniques (beyond tiling and unrolland-jam) may significantly improve performance in fine-tuning register usage and instruction-level parallelism.
| Original language | English |
|---|---|
| Pages | 247-256 |
| Number of pages | 10 |
| DOIs | |
| Publication status | Published - 1 Jan 2004 |
| Externally published | Yes |
| Event | 2004 International Conference on Supercomputing - Saint-Malo, France Duration: 26 Jun 2004 → 1 Jul 2004 |
Conference
| Conference | 2004 International Conference on Supercomputing |
|---|---|
| Country/Territory | France |
| City | Saint-Malo |
| Period | 26/06/04 → 1/07/04 |
Keywords
- Array Contraction
- Array Folding
- Blocking
- Itanium
- Pattern Matching
- Register Promotion
- Scheduling
- String Matching
- Tiling
Fingerprint
Dive into the research topics of 'Applications of storage mapping optimization to register promotion'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver