A Caltech Library Service

Coherent parallel C

Felten, Edward W. and Otto, Steve W. (1988) Coherent parallel C. In: C3P Proceedings of the third conference on Hypercube concurrent computers and applications: Architecture, software, computer systems, and general issues. Vol.1. ACM , New York, NY, pp. 440-450. ISBN 0-89791-278-0.

Full text is not posted in this repository. Consult Related URLs below.

Use this Persistent URL to link to this item:


Coherent Parallel C (CPC) is an extension of C for 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.

Item Type:Book Section
Related URLs:
URLURL TypeDescription
Additional Information:© 1988 ACM. We thank G. Fox for his interest and comments. This work is partially funded by the Department of Energy under grant number DE-FG03-85ER25009.
Funding AgencyGrant Number
Department of Energy (DOE)DE-FG03-85ER25009
Record Number:CaltechAUTHORS:20161019-141555792
Persistent URL:
Official Citation:E. W. Felten and S. W. Otto. 1988. Coherent parallel C. In Proceedings of the third conference on Hypercube concurrent computers and applications: Architecture, software, computer systems, and general issues - Volume 1 (C3P), Geoffrey Fox (Ed.), Vol. 1. ACM, New York, NY, USA, 440-450. DOI=
Usage Policy:No commercial reproduction, distribution, display or performance rights in this work are provided.
ID Code:71288
Deposited By: Kristin Buxton
Deposited On:19 Oct 2016 21:23
Last Modified:11 Nov 2021 04:42

Repository Staff Only: item control page