Tiling is a well-known optimization that has been used to obtain orders of magnitude performance gains. Hierarchical Tiling explores the new issues that arise when tiling for multiple levels of parallelism and memory hierarchies. Our recent work is focused on the Coordinated Restructruing Of Programs and Storage (CROPS). The goal of the CROPS project is to extend tiling and related optimization techniques to obtain their advantages on a larger class of programs than perfectly nested loops with regular data dependences. We aim to extend coverage to unstructured applications and those with less regular memory accesses. We are working on tiling extensions for non-affine array references, coordination of storage mapping and tiling, and guidance and tradeoffs for parallel execution. Hierarchical tiling and CROPS are supported by NSF grants CCR-9504150 and CCR-9808946.

June 1999 CROPS Progress Report

April 2000 CROPS Progress Report

Publications and Technical Reports