Applications of storage mapping optimization to register promotion

Research output: Contribution to conferencePaperpeer-review

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 languageEnglish
Pages247-256
Number of pages10
DOIs
Publication statusPublished - 1 Jan 2004
Externally publishedYes
Event2004 International Conference on Supercomputing - Saint-Malo, France
Duration: 26 Jun 20041 Jul 2004

Conference

Conference2004 International Conference on Supercomputing
Country/TerritoryFrance
CitySaint-Malo
Period26/06/041/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