© 1997 by British Computer Society
Linear and Extended Linear Transformations for Shared-Memory Multiprocessors
1 Parallel Compiler Development, IBM Toronto Laboratory, Toronto, Canada M3C 1H7 Email: dkulki{at}vnet.ibm.com, 2 Department of Electrical and Computer Engineering, University of Toronto, Toronto, Canada M5S 3G4
Advances in program transformation frameworks have significantly advanced compiler technology over the past few years. Program transformation frameworks provide mathematical abstractions of loop and data structures and formal methods for manipulating these structures. It is these frameworks that have allowed the development of algorithms capable of automatically tailoring an application for a target architecture. In this paper, we focus on the utility of these frameworks in improving the performance of mainly parallel applications on shared-memory multiprocessors. Data locality-oriented program optimizations are a key to good performance on shared-memory multiprocessors, since these optimizations can often improve performance by a factor of 10 or more. In this paper, we show the effectiveness of three key loop and data transformation frameworks in optimizing parallel programs on shared-memory multiprocessors. In particular, we describe our computation decomposition and alignment (CDA) framework, which can modify both the composition and the execution order of the re-composed iterations. We show how fine-grain transformations within the CDA framework enable new optimizations such as local optimizations that are otherwise achieved by global data transformations.
Received October, 1996, 1997. revised September, 1997.