Compiling for a hybrid programming model using the LMAD representation

Jiajing Zhu, Jay Hoeflinger, David Padua

Research output: Chapter in Book/Report/Conference proceedingChapter

Abstract

There are two typical ways for a compiler to generate parallel code for distributed memory multiprocessors. One is to generate explicit message passing code and the other is to generate code for a distributed shared memory software layer. In this paper, we propose a new compiler design that combines message passing and distributed shared memory for a single program, depending on how data is accessed. The Linear Memory Access Descriptor (LMAD) is used to represent data distribution and data accesses in our compiler. The LMAD can represent complex distribution and access patterns accurately. We show how LMADs may be used to generate message passing operations. Experimental results indicate that our technique is useful for programs with both regular and irregular access patterns.

Original languageEnglish (US)
Title of host publicationLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
EditorsHenry G. Dietz
PublisherSpringer
Pages321-335
Number of pages15
ISBN (Print)3540040293
DOIs
StatePublished - 2003

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume2624
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Compiling for a hybrid programming model using the LMAD representation'. Together they form a unique fingerprint.

Cite this