Reordering and storage optimizations for scientific programs

Geoff Pike, Paul N. Hilfinger · 2002

We present the design and implementation of compiler optimizations that choreograph the use of data in scientific programs. Scientific programs often include multiple loops over the same data, where completing each loop before starting the next discards opportunities for fine-grained data reuse. Interleaving parts of different loops may greatly improve performance. Our approach combines reordering optimizations such as loop fusion and tiling with storage optimizations such as eliminating or reducing the size of temporary arrays. The programmers

Read the paper · More papers on PaperTik