The Community for Technology Leaders
1999 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.PR00425) (1999)
Newport Beach, California
Oct. 12, 1999 to Oct. 16, 1999
ISSN: 1089-795X
ISBN: 0-7695-0425-6
pp: 192
Nicholas Mitchell , University of California at San Diego
Larry Carter , University of California at San Diego
Jeanne Ferrante , University of California at San Diego
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 computations. 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.
INDEX TERMS
locality, tiling, shackling, indirect memory references, inspector-executor, remapping, cache, TLB
CITATION

J. Ferrante, N. Mitchell and L. Carter, "Localizing Non-Affine Array References," 1999 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.PR00425)(PACT), Newport Beach, California, 1999, pp. 192.
doi:10.1109/PACT.1999.807526
93 ms
(Ver 3.3 (11022016))