@inproceedings{060264c37dbc4eea883d43b7ca101448,
title = "Programming for parallelism, and locality with hierarchically tiled arrays",
abstract = "Tiling has proven to be an effective mechanism to develop high performance implementations of algorithms. Tiling can be used to organize computations so that communication costs in parallel programs are reduced and locality in sequential codes or sequential components of parallel programs is enhanced. In this paper, a data type - Hierarchically Tiled Arrays or HTAs - that facilitates the direct manipulation of tiles is introduced. HTA operations are overloaded array operations. We argue that the implementation of HTAs in sequential OO languages transforms these languages into powerful tools for the development of high-performance parallel codes and codes with high degree of locality. To support this claim, we discuss our experiences with the implementation of HTAs for MATLAB and C++ and the rewriting of the NAS benchmarks and a few other programs into HTA-based parallel form.",
keywords = "Data-parallel, Locality enhancement, Parallel programming, Tiling",
author = "Ganesh Bikshandi and Guo Jia and Daniel Hoeflinger and Gheorghe Almasi and Fraguela, {Basilio B.} and Garzar{\'a}n, {Mar{\'i}a J.} and David Padua and {Von Praun}, Christoph",
year = "2006",
doi = "10.1145/1122971.1122981",
language = "English (US)",
isbn = "1595931899",
series = "Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP",
publisher = "Association for Computing Machinery",
pages = "48--57",
booktitle = "Proceedings of the 2006 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP'06",
address = "United States",
note = "2006 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP'06 ; Conference date: 29-03-2006 Through 31-03-2006",
}