next up previous contents
Next: Compositional C++ Up: Parallel C++ Previous: Parallel C++

pC++

pC++ [] is presently a preprocessor converting pC++ code into pure C++ code. Compared to C++ there are few syntactical differences. The differences that exists are mainly the restrictions on global variables, and the use of hidden parameters to certain functions. The preprocessor is used to enforce the special rules, and to insert the hidden parameters into the code before the program is compiled by the C++ compiler.

pC++ supports a SPMD computation model, where there is a single sequential control program calling parallel routines that are members of classes derived from a Thread Environment Class (TEClass). These routines cannot use global variables at all, only members of their class, and variables declared in the routine. This is done to avoid race conditions in shared memory, and to avoid trouble in a distributed environment. The parallel routines are started in a parallel configuration specified by a class Processors.

pC++ has a template library for creating distributed arrays, and alignments between arrays, using the same specification syntax as HPF, but in a different manner.