Programming with tiles

Jia Guo, Ganesh Bikshandit, Basilio B. Fraguela, María J. Garzarán, David Padua

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

Abstract

The importance of tiles or blocks in scientific computing cannot be overstated. Many algorithms, both iterative and recursive, can be expressed naturally if tiles are represented explicitly. From the point of view of performance, tiling, either as a code or a data layout transformation, is one of the most effective ways to exploit locality, which is a must to achieve good performance in current computers because of the significant difference in speed between processor and memory. Furthermore, tiles are also useful to express data distribution in parallel computations. However, despite the importance of tiles, most languages do not support them directly. This gives place to bloated programs populated with numerous subscript expressions which make the code difficult to read and coding mistakes more likely. This paper discusses Hierarchically Tiled Arrays (HTAs), a data type which facilitates the easy manipulation of tiles in objectoriented languages with emphasis on two new features, dynamic partitioning and overlapped tiling. These features facilitate the expression of locality and communication while maintaining the same performance of algorithms written using conventional languages.

Original languageEnglish (US)
Title of host publicationPPoPP'08 - Proceedings of the 2008 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Pages1-10
Number of pages10
StatePublished - 2008
Event13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP'08 - Salt Lake City, UT, United States
Duration: Feb 20 2008Feb 23 2008

Publication series

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

Conference

Conference13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP'08
Country/TerritoryUnited States
CitySalt Lake City, UT
Period2/20/082/23/08

Keywords

  • Data-parallel
  • Locality
  • Parallel programming
  • Tiling

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Programming with tiles'. Together they form a unique fingerprint.

Cite this