Cristian Coarfa, Yuri Dotsenko, John Mellor-Crummey. Experiences with Sweep3D Implementations in Co-array Fortran. In Proceedings of the Los Alamos Computer Science Institute Fifth Annual Symposium (LACSI 2004) , Santa Fe, New Mexico, October 2004. [pdf]

As part of the recent focus on increasing the productivity of parallel application developers, Co-array Fortran (CAF) has emerged as an appealing alternative to the Message Passing Interface (MPI). CAF belongs to the family of global address space parallel programming languages; such languages provide the abstraction of globally addressable memory accessed using one-sided communication. At Rice University we are developing an open source, multiplatform CAF compiler. Our earlier studies show that CAF programs achieve similar performance to that of corresponding MPI codes for the NAS Parallel Benchmarks. In this paper, we present a study of several CAF implementations of Sweep3D on four cluster architectures. We analyze the impact of using one-sided communication in Sweep3D, identify potential sources of inefficiencies and suggest ways to address them. Our results show that we achieve comparable performance to that of the MPI version on three cluster-based architectures and outperform it by up to 10% on the SGI Altix 3000.