Tiling as a Durable Abstraction for Parallelism and Data Locality
Didem Unat, CP Chan, W Zhang, James T. Bell, John M. Shalf · eScholarship (California Digital Library) · 2013
Tiling is a useful loop transformation for expressing parallelism and data locality.Automated tiling transformations that preserve data-locality are increasingly important due to hardware trends towards massive parallelism and the increasing costs of data movement relative to the cost of computing.We propose TiDA as a durable tiling abstraction that centralizes parameterized tiling information within array data types with minimal changes to the source code.The data layout information can be used by the compiler and runtime to automatically manage parallelism, optimize data locality, and schedule tasks intelligently.In this paper, we present the design features and early interface of TiDA along with some preliminary results.