Catalogo Articoli (Spogli Riviste)

OPAC HELP

Titolo:
A compiler technique for improving whole-program locality
Autore:
Kandemir, MT;
Indirizzi:
Penn State Univ, Dept Comp Sci & Engn, University Pk, PA 16802 USA Penn State Univ University Pk PA USA 16802 n, University Pk, PA 16802 USA
Titolo Testata:
ACM SIGPLAN NOTICES
fascicolo: 3, volume: 36, anno: 2001,
pagine: 179 - 192
SICI:
1523-2867(200103)36:3<179:ACTFIW>2.0.ZU;2-P
Fonte:
ISI
Lingua:
ENG
Soggetto:
MASSIVELY-PARALLEL MACHINES;
Keywords:
optimizing compilers; memory layouts; static optimisations; cache locality; data reuse;
Tipo documento:
Article
Natura:
Periodico
Settore Disciplinare:
Engineering, Computing & Technology
Citazioni:
47
Recensione:
Indirizzi per estratti:
Indirizzo: Kandemir, MT Penn State Univ, Dept Comp Sci & Engn, University Pk, PA 16802 USA Penn State Univ University Pk PA USA 16802 Pk, PA 16802 USA
Citazione:
M.T. Kandemir, "A compiler technique for improving whole-program locality", ACM SIGPL N, 36(3), 2001, pp. 179-192

Abstract

Exploiting spatial and temporal locality is essential for obtaining high performance on modern computers. Writing programs that exhibit high localityof reference is difficult and error-prone. Compiler researchers have developed loop transformations that allow the conversion of programs to exploit locality. Recently, transformations that change the memory layouts of multi-dimensional arrays-called data transformations-have been proposed. Unfortunately, both data and loop transformations have some important drawbacks. In this work, we present an integrated framework that uses loop and data transformations in concert to exploit the benefits of both approaches while minimizing the impact of their disadvantages. Our approach works interprocedurally on acyclic call graphs, uses profile data to eliminate layout conflicts, and is unique in its capability of resolving conflicting layout requirements of different references to the same array in the same nest and in different nests for regular array-based applications. The optimization technique presented in this paper has been implemented ina source-to-source translator. We evaluate its performance using standard benchmark suites and several math libraries (complete programs) with large input sizes. Experimental results show that our approach reduces the overall execution times of original codes by 17.5% on the average. This reductioncomes from three important characteristics of the technique, namely, resolving layout conflicts between references to the same array in a loop nest, determining a suitable order to propagate layout modifications across loop nests, and propagating layouts between different procedures in the program - all in a unified framework.

ASDD Area Sistemi Dipartimentali e Documentali, Università di Bologna, Catalogo delle riviste ed altri periodici
Documento generato il 22/01/20 alle ore 06:40:32