An efficient algorithm for communication set generation of data parallel programs with block-cyclic distribution

Gwan Hwan Hwang*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

4 Citations (Scopus)

Abstract

Data parallel programming languages, such as High Performance Fortran, are widely regarded as a promising means for writing portable programs for distributed-memory machines. In this paper, we present a new algorithm for computing the communication sets in array section movements with block-cyclic (cyclic (k) in HPF) distribution. Our framework can handle multi-level alignments, multi-dimensional arrays, array intrinsic functions, affine indices and axis exchanges in the array subscript. Instead of employing the linear diophantine equation solver, a new algorithm which does not rely on the linear diophantine equation solver to calculate communication sets is proposed. We use formal proof and experimental results to show that it is more efficient than previous solutions to the same problem. Another important contribution of this paper is that we prove that the compiler is able to compute efficiently the communication sets of block-cyclic distribution as long as the block sizes of the arrays are set to be identical or the lowest common multiple (LCM) of block sizes is not a huge integer. We demonstrate it by thorough complexity analyses and extensive experimental results.

Original languageEnglish
Pages (from-to)473-501
Number of pages29
JournalParallel Computing
Volume30
Issue number4
DOIs
Publication statusPublished - 2004 Apr

Keywords

  • Block-cyclic distributions
  • Data parallel programs
  • Distributed memory machines
  • HPF compiler
  • Parallelizing compiler

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 'An efficient algorithm for communication set generation of data parallel programs with block-cyclic distribution'. Together they form a unique fingerprint.

Cite this