Title :
Toward Abstracting the Communication Intent in Applications to Improve Portability and Productivity
Author :
Mintz, Tiffany M. ; Hernandez, Oscar ; Kartsaklis, Christos ; Bernholdt, David E. ; Eisenbach, Markus ; Pophale, Swaroop
Author_Institution :
Oak Ridge Nat. Lab., Oak Ridge, TN, USA
Abstract :
Programming with communication libraries such as the Message Passing Interface (MPI) obscures the high-level intent of the communication in an application and makes static communication analysis difficult to do. Compilers are unaware of communication libraries´ specifics, leading to the exclusion of communication patterns from any automated analysis and optimizations. To overcome this, communication patterns can be expressed at higher-levels of abstraction and incrementally added to existing MPI applications. In this paper, we propose the use of directives to clearly express the communication intent of an application in a way that is not specific to a given communication library. Our communication directives allow programmers to express communication among processes in a portable way, giving hints to the compiler on regions of computations that can be overlapped with communication and relaxing communication constraints on the ordering, completion and synchronization of the communication imposed by specific libraries such as MPI. The directives can then be translated by the compiler into message passing calls that efficiently implement the intended pattern and be targeted to multiple communication libraries. Thus far, we have used the directives to express point-to-point communication patterns in C, C++ and Fortran applications, and have translated them to MPI and SHMEM.
Keywords :
C++ language; FORTRAN; message passing; parallel processing; C application; C++ application; Fortran application; MPI applications; communication patterns; compiler; high-level communication intent; message passing interface; multiple communication libraries; static communication analysis; Arrays; Libraries; Message passing; Optimization; Parallel processing; Program processors; communication; directives; global address space; parallel computing; passing; remote data transfer; scientific computing;
Conference_Titel :
Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2013 IEEE 27th International
Conference_Location :
Cambridge, MA
Print_ISBN :
978-0-7695-4979-8
DOI :
10.1109/IPDPSW.2013.66