## EXPLOITING LOCALITY AND PARALLELISM WITH HIERARCHICALLY TILED ARRAYS

Citations: | 2 - 0 self |

### BibTeX

@MISC{Guo_exploitinglocality,

author = {Jia Guo},

title = {EXPLOITING LOCALITY AND PARALLELISM WITH HIERARCHICALLY TILED ARRAYS },

year = {}

}

### OpenURL

### Abstract

The importance of tiles or blocks in mathematics and thus computer science cannot be overstated. From a high level point of view, they are the natural way to express many algorithms, both in iterative and recursive forms. Tiles or sub-tiles are used as basic units in the algorithm description. From a low level point of view, tiling, either as the unit maintained by the algorithm, or as a class of data layouts, is one of the most effective ways to exploit locality, which is a must to achieve good performance in current computers given the growing gap between memory and processor speed. Finally, tiles and operations on them are also basic to express data distribution and parallelism. Despite the importance of this concept, which makes inevitable its widespread usage, most languages do not support it directly. Programmers have to understand and manage the low-level details along with the introduction of tiling. This gives place to bloated potentially error-prone programs in which opportunities for performance are lost. On the other hand, the disparity between the algorithm and the actual implementation enlarges. This thesis illustrates the power of Hierarchically Tiled Arrays (HTAs), a data type which