Models and languages for parallel computation
ACM Computing Surveys (CSUR)
Co-array Fortran for parallel programming
ACM SIGPLAN Fortran Forum
A Comparison of Co-Array Fortran and OpenMP Fortran for SPMD Programming
The Journal of Supercomputing
Communication Bandwidth of Parallel Programming Models on Hybrid Architectures
ISHPC '02 Proceedings of the 4th International Symposium on High Performance Computing
Performance Analysis of Multilevel Parallel Applications on Shared Memory Architectures
IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
OpenMP-oriented applications for distributed shared memory architectures: Research Articles
Concurrency and Computation: Practice & Experience
Extending OpenMP for NUMA machines
Scientific Programming
WOMPAT'04 Proceedings of the 5th international conference on OpenMP Applications and Tools: shared Memory Parallel Programming with OpenMP
Bsp2omp: A Compiler For Translating Bsp Programs To Openmp
International Journal of Parallel, Emergent and Distributed Systems - Advances in Parallel and Distributed Computational Models
HparC: a mixed nested shared memory and message passing programming style intended for grid
Proceedings of the 3rd Annual Haifa Experimental Systems Conference
Empirical analysis of parallelism overheads on CMPs
PPAM'09 Proceedings of the 8th international conference on Parallel processing and applied mathematics: Part I
Hi-index | 0.00 |
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.