Extensions to the C Programming Language for SIMD/MIMD Parallelism
نویسندگان
چکیده
A superset of the C programming language that is applicable to the SIMD/MIMD mode processing environment of PASM is described. The language extensions for SIMD mode include the definition of parallel variables, functions, and expressions; a scheme for accessing parallel variables; and extended control structure semantics. Extensions for MIMD mode are realized by defining a preprocessor to convert a generalized CSP-like language to standard C with operating system calls inserted to support the parallelism. Extensions to the libraries of I/O and operating systems functions used in parallel mode are also discussed. The PASM parallel processing system is used as an example target machine.
منابع مشابه
Data Management and Control-Flow Aspects of an SIMD/SPMD Parallel Language/Compiler
Features of an explicitly parallel programming language targeted for reconfigurable parallel processing systems, where the machine's -1processing elements (PE's) are capable of operating in both the SIMD and SPMD modes of parallelism, are described. The SPMD (Single Program-Multiple Data) mode of parallelism is a subset of the MIMD mode where all processors execute the same program. By providin...
متن کاملParallel Image Processing on Heterogeneous SIMD-MIMD Machines
From a hardware standpoint a heterogeneous architecture such as an SIMD array coupled onto a MIMD system, will yield a powerful solution for real time embedded vision tasks. From a software standpoint there is a need to approach this heterogeneous system in a homogeneous way. We investigated the feasibility of a uniform parallel programming approach on a heterogeneous machine. Using the paralle...
متن کاملDesign and Implementation of the CCC Parallel Programming Language
CCC is a high-level parallel programming language that aims to provide a coherent integration of various parallel programming paradigms. CCC supports both data and task parallelism. In CCC, data parallelism is specified in SIMD model, while task parallelism is specified in MIMD model. Task parallelism in CCC supports both message-passing communication abstraction and shared-variables synchroniz...
متن کاملCompiling Rewriting onto SIMD and MIMD/SIMD Maschines
We present compilation techniques for Simple Maude, a declarative programming language based on Rewriting Logic which supports term, graph, and object-oriented rewriting. We show how to compile various constructs of Simple Maude onto SIMD and MIMD/SIMD massively parallel architectures, and in particular onto the Rewrite Rule Machine, a special purpose MIMD/SIMD architecture for rewriting. We sh...
متن کاملBraid: Integrating Task and Data Parallelism]
Archetype data parallel or task parallel applications are well served by contemporary languages. However, for applications containing a balance of task and data parallelism the choice of language is less clear. While there are languages that enable both forms of parallelism, e.g., one can write data parallel programs using a task parallel language, there are few languages which support both. We...
متن کامل