Optimization techniques for efficient HTA programs

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

Research output: Contribution to journalArticlepeer-review

Abstract

Object oriented languages can be easily extended with new data types, which facilitate prototyping new language extensions. A very challenging problem is the development of data types encapsulating data parallel operations, which could improve parallel programming productivity. However, the use of class libraries to implement data types, particularly when they encapsulate parallelism, comes at the expense of performance overhead. This paper describes our experience with the implementation of a C++ data type called hierarchically tiled array (HTA). This object includes data parallel operations and allows the manipulation of tiles to facilitate developing efficient parallel codes and codes with high degree of locality. The initial performance of the HTA programs we wrote was lower than that of their conventional MPI-based counterparts. The overhead was due to factors such as the creation of temporary HTAs and the inability of the compiler to properly inline index computations, among others. We describe the performance problems and the optimizations applied to overcome them as well as their impact on programmability. After the optimization process, our HTA-based implementations run only slightly slower than the MPI-based codes while having much better programmability metrics.

Original languageEnglish (US)
Pages (from-to)465-484
Number of pages20
JournalParallel Computing
Volume38
Issue number9
DOIs
StatePublished - Sep 2012

Keywords

  • Data-parallel
  • Libraries
  • Locality
  • Optimization
  • Parallel programming
  • Programmability
  • Runtime overheads
  • Tiling

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Networks and Communications
  • Computer Graphics and Computer-Aided Design
  • Artificial Intelligence

Fingerprint

Dive into the research topics of 'Optimization techniques for efficient HTA programs'. Together they form a unique fingerprint.

Cite this