Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques (2000)
Oct. 15, 2000 to Oct. 19, 2000
T. Kisuki , Leiden University
P.M.W. Knijnenburg , Leiden University
M.F.P. O'Boyle , Edinburgh University
Loop tiling and unrolling are two important program transformations to exploit locality and expose instruction level parallelism, respectively. In this paper, we address the problem of how to select tile sizes and unroll factors simultaneously. We approach this problem in an architecturally adaptive manner by means of iterative compilation, where we generate many versions of a program and decide upon the best by actually executing them and measuring their execution time. We evaluate several iterative strategies. We compare the levels of optimization obtained by iterative compilation to several well-known static techniques and show that we outperform each of them on a range of benchmarks across a variety of architectures. Finally, we show how to quantitatively trade-off the number of profiles needed and the level of optimization that can be reached.
T. Kisuki, P.M.W. Knijnenburg, M.F.P. O'Boyle, "Combined Selection of Tile Sizes and Unroll Factors Using Iterative Compilation", Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques, vol. 00, no. , pp. 237, 2000, doi:10.1109/PACT.2000.888348