Programming for parallelism, and locality with hierarchically tiled arrays

Ganesh Bikshandi, Guo Jia, Daniel Hoeflinger, Gheorghe Almasi, Basilio B. Fraguela, María J. Garzarán, David Padua, Christoph Von Praun

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.

Original languageEnglish (US)
Title of host publicationProceedings of the 2006 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP'06
PublisherAssociation for Computing Machinery
Pages48-57
Number of pages10
ISBN (Print)1595931899, 9781595931894
DOIs
StatePublished - 2006
Event2006 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP'06 - New York, NY, United States
Duration: Mar 29 2006Mar 31 2006

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP
Volume2006

Conference

Conference2006 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP'06
CountryUnited States
CityNew York, NY
Period3/29/063/31/06

Keywords

  • Data-parallel
  • Locality enhancement
  • Parallel programming
  • Tiling

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'Programming for parallelism, and locality with hierarchically tiled arrays'. Together they form a unique fingerprint.

Cite this