Data dependence information, in some form, is used in compilers and environments for parallel computers to decide what transformations and optimizations can be applied to a program. Here we focus on loop optimizations, also called loop restructuring; loop restructuring is often used to automatically (or manually) improve the performance of scientific programs on high performance computer systems. The benchmarking process undertaken by the Perfect Club is one of identifying software transformations that improve performance; many of the transformations used are loop restructuring transformations. Generally, the most commonly used such transformation is loop interchanging, which can improve parallelism and memory hierarchy performance. Our research program is exploring the potential of loop restructuring transformations from three points of view: (1) What kinds of transformations can be performed? (2) What information is necessary to decide when a transformation is legal? (3) What performance improvement can be attained from each transformation? To support this research we have begun implementation of a loop restructuring tool. This paper describes our experiences with the second question above; in particular, we will describe somewhat disappointing results with respect to current data dependence abstractions and more advanced loop restructuring transformations.
CITATION STYLE
Wolfe, M. (1991). Experiences with data dependence abstractions. In Proceedings of the International Conference on Supercomputing (pp. 321–329). Association for Computing Machinery. https://doi.org/10.1145/109025.109104
Mendeley helps you to discover research relevant for your work.