Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques (2004)
Antibes Juan-les-Pins, France
Sept. 29, 2004 to Oct. 3, 2004
Yuri Dotsenko , Rice University, Houston, TX
Cristian Coarfa , Rice University, Houston, TX
John Mellor-Crummey , Rice University, Houston, TX
Co-array Fortran (CAF)-a small set of extensions to Fotran 90-is an emerging model for scalable, global address space parallel programming. CAF's global address space programming model simplifies the development of single-program-multiple-data parallel programs by shifting the burden for managing the details of communication from developers to compilers. This paper describes cafc-a prototype implementation of an open-source, multiplication CAF compiler that generates code well-suited for today's commodity clusters. The cafc compiler translates CAF into Fortran 90 plus calls to one-sided communication primitives. The paper describes key details of cafc's approach to generating efficient code for multiple platforms. Experiments compare the performance of CAF and MPI versions of several NAS parallel benchmarks on an Alpha cluster with a Quadrics interconnect, an Itanium 2 cluster with a Myrinet 2000 interconnect and an Itanium 2 cluster with a Quadrics interconnect. These experiments show that cafc compiles CAF programs into code that delivers performance roughly equal to that of hand-optimized MPI programs.
Yuri Dotsenko, Cristian Coarfa, John Mellor-Crummey, "A Multi-Platform Co-Array Fortran Compiler", Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques, vol. 00, no. , pp. 29-40, 2004, doi:10.1109/PACT.2004.10022