Table of Contents Author Guidelines Submit a Manuscript
Scientific Programming
Volume 13, Issue 2, Pages 127-135

Execution Model of Three Parallel Languages: OpenMP, UPC and CAF

Ami Marowka

Software Engineering Department, Shenkar College of Engineering and Design, 12 Anna Frank, Ramat-Gan, 52526, Israel

Received 1 December 2005; Accepted 1 December 2005

Copyright © 2005 Hindawi Publishing Corporation. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


The aim of this paper is to present a qualitative evaluation of three state-of-the-art parallel languages: OpenMP, Unified Parallel C (UPC) and Co-Array Fortran (CAF). OpenMP and UPC are explicit parallel programming languages based on the ANSI standard. CAF is an implicit programming language. On the one hand, OpenMP designs for shared-memory architectures and extends the base-language by using compiler directives that annotate the original source-code. On the other hand, UPC and CAF designs for distribute-shared memory architectures and extends the base-language by new parallel constructs. We deconstruct each language into its basic components, show examples, make a detailed analysis, compare them, and finally draw some conclusions.