Coherent parallel C

Edward W. Felten, Steve W. Otto

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

8 Scopus citations

Abstract

Coherent Parallel C (CPC) is an extension of C foi parallelism. The extensions are not simply parallel for loops; instead, a data parallel programming model is adopted. This means that one has an entire process for each data object. An example of an "object" is one mesh point in a finite element solver. How the processes are actually distributed on a parallel machine is transparent- the user is to imagine that an entire processor in a distributed-memory environment is dedicated to each process. This simplifies programming tremendously: complex if statements associated with domain boundaries disappear; problems which do not exactly match the machine size and irregular boundaries are all handled transparently. The usual communication calls are not seen at all at the user level. Variables of other processes (which may or may not be on another processor) are merely accessed (global memory). The first pass of the CPC compiler schedules the necessary communications in an efficient, coherent manner. Processes in CPC are insulated from one another and interact in a deterministic manner. This allows tractable debugging. Standard C I/O is provided, with simple extensions for parallelism. We currently have a CPC runtime system implemented on an NCUBE and have started implementing a true compiler for the language. CPC is not specific to distributed memory machines. Implementation of this language on other architectures is natural-for example, there seems to be no fundamental problem with CPC on shared-memory parallel computers.

Original languageEnglish (US)
Title of host publicationProceedings of the 3rd Conference on Hypercube Concurrent Computers and Applications
Subtitle of host publicationArchitecture, Software, Computer Systems, and General Issues, C3P 1988
EditorsGeoffrey Fox
PublisherAssociation for Computing Machinery, Inc
Pages440-450
Number of pages11
ISBN (Electronic)0897912780, 9780897912785
DOIs
StatePublished - Jan 1 1988
Externally publishedYes
Event3rd Conference on Hypercube Concurrent Computers and Applications, C3P 1988 - Pasadena, United States
Duration: Jan 19 1988Jan 20 1988

Publication series

NameProceedings of the 3rd Conference on Hypercube Concurrent Computers and Applications: Architecture, Software, Computer Systems, and General Issues, C3P 1988
Volume1

Other

Other3rd Conference on Hypercube Concurrent Computers and Applications, C3P 1988
Country/TerritoryUnited States
CityPasadena
Period1/19/881/20/88

All Science Journal Classification (ASJC) codes

  • Hardware and Architecture
  • Computer Graphics and Computer-Aided Design
  • Software
  • Computer Science Applications

Fingerprint

Dive into the research topics of 'Coherent parallel C'. Together they form a unique fingerprint.

Cite this