Automatic inversion generates divide-and-conquer parallel programs

Kazutaka Morita, Akimasa Morihata, Kiminori Matsuzaki, Zhenjiang Hu, Masato Takeichi

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

30 Citations (Scopus)

Abstract

Divide-and-conquer algorithms are suitable for modern parallel machines, tending to have large amounts of inherent parallelism and working well with caches and deep memory hierarchies. Among others, list homomorphisms are a class of recursive functions on lists, which match very well with the divide-and-conquer paradigm. However, direct programming with list homomorphisms is a challenge for many programmers. In this paper, we propose and implement a novel systemthat can automatically derive cost-optimal list homomorphisms from a pair of sequential programs, based on the third homomorphism theorem. Our idea is to reduce extraction of list homomorphisms to derivation of weak right inverses. We show that a weak right inverse always exists and can be automatically generated from a wide class of sequential programs. We demonstrate our system with several nontrivial examples, including the maximum prefix sum problem, the prefix sum computation, the maximum segment sum problem, and the line-of-sight problem. The experimental results show practical efficiency of our automatic parallelization algorithm and good speedups of the generated parallel programs.

Original languageEnglish
Title of host publicationPLDI'07
Subtitle of host publicationProceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation
Pages146-155
Number of pages10
DOIs
Publication statusPublished - 2007 Oct 30
EventPLDI'07: 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation - San Diego, CA, United States
Duration: 2007 Jun 102007 Jun 13

Publication series

NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

Other

OtherPLDI'07: 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation
CountryUnited States
CitySan Diego, CA
Period07/6/1007/6/13

Keywords

  • Divide-and-conquer parallelism
  • Inversion
  • Program transformation
  • Third homomorphism theorem

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'Automatic inversion generates divide-and-conquer parallel programs'. Together they form a unique fingerprint.

Cite this