Portable Parallel Programs using architecture-aware libraries

  • Authors:
  • Fadi Zaraket;Mohamad Noureddine;Mohamed Sabra;Ameen Jaber

  • Affiliations:
  • American University of Beirut;American University of Beirut;American University of Beirut;American University of Beirut

  • Venue:
  • Proceedings of the 27th Annual ACM Symposium on Applied Computing
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Programs written for an architecture with n processors require a re-write when migrated to an m processor architecture {(m n)} to benefit from additional resources. Compiler based solutions do not match manual optimizations. Annotation based and api-based solutions such as the OpenMP and the Intel Array Building Blocks work well with data parallel programs and do not scale well with branching programs. We present Portable Parallel Programming (TripleP), a parallel programming methodology that is composed of a declarative programming language, a set of libraries of data structures and algorithms optimized per architecture, and a synthesizer. We evaluated TripleP with the computation of array median, and breadth first traversal of a graph. Our results show that TripleP enables portable programs that benefit from additional resources across architectures with near optimal performance gains.