The Fork95 parallel programming language: Design, implementation, application

Christoph W. Keßler, Helmut Seidl
1997 International journal of parallel programming  
Fork95 is an imperative parallel programming language intended to express algorithms for synchronous shared memory machines (PRAMs). It is based on ANSI C and o ers additional constructs to hierarchically divide processor groups into subgroups and manage shared and private address subspaces. Fork95 makes the assembly-level synchronicity of the underlying hardware available to the programmer at the language level. Nevertheless, it supports locally asynchronous computation where desired by the
more » ... grammer. We present a one{pass compiler, fcc, which compiles Fork95 and C programs to the SB-PRAM machine. The SB-PRAM is a lock{step synchronous, massively parallel multiprocessor currently being built at Saarbr ucken University, w i t h a p h ysically shared memory and uniform memory access time. We examine three important types of parallel computation frequently used for the parallel solution of real{world problems. While farming and parallel divide{and{conquer are directly supported by F ork95 language constructs, pipelining can be easily expressed using existing language features an additional language construct for pipelining is not required.
doi:10.1007/bf02700045 fatcat:lwdi6u3qq5apjca7r2kjo3rrda