Title :
Localizing non-affine array references
Author :
Mitchell, Nicholas ; Carter, Larry ; Ferrante, Jeanne
Author_Institution :
California Univ., San Diego, La Jolla, CA, USA
Abstract :
Existing techniques can enhance the locality of arrays indexed by affine functions of induction variables. This paper presents a technique to localize non-affine array references, such as the indirect memory references common in sparse-matrix computation. Our optimization combines elements of tiling, data-centric tiling, data remapping and inspector-executor parallelization. We describe our technique, bucket tiling, which includes the tasks of permutation generation, data remapping, and loop regeneration. We show that profitability cannot generally be determined at compile-time, but requires an extension to run-time. We demonstrate our technique on three codes: integer sort, conjugate gradient, and a kernel used in simulating a beating heart. We observe speedups of 1.91 on integer sort, 1.57 on conjugate gradient, and 2.69 on the heart kernel
Keywords :
conjugate gradient methods; parallel processing; sparse matrices; affine functions; beating heart simulation kernel; bucket tiling; conjugate gradient; data remapping; data-centric tiling; indirect memory references; induction variables; inspector-executor parallelization; integer sort; loop regeneration; nonaffine array reference localisation; optimization; permutation generation; profitability; run-time; sparse-matrix computation; speedup; tiling; Algebra; Character generation; Electronic mail; Heart; Identity-based encryption; Parallel processing; Profitability; Runtime; Sorting; Sparse matrices;
Conference_Titel :
Parallel Architectures and Compilation Techniques, 1999. Proceedings. 1999 International Conference on
Conference_Location :
Newport Beach, CA
Print_ISBN :
0-7695-0425-6
DOI :
10.1109/PACT.1999.807526