2012 · 30 citations · 11 references
ComputingComputer EngineeringComputer ScienceCompilersParallel ComputingProgramming LanguagesData ParallelismDistributed ComputingDistributed Data ProcessingParallel Programming ModelsDirective-based Programming ModelsParallel Computation MappingParallel Performance Optimization
XcalableMP (XMP) is a PGAS parallel language with a directive-based extension of C and Fortran. While it sup- ports “coarray” as a local-view programming model, an XMP global-view programming model is useful when parallelizing data-parallel programs by adding directives with minimum code modification. This paper considers the productivity and performance of the XMP global-view programming model. In the global-view programming model, a programmer describes data distributions and work-mapping to map the computations to nodes, where the computed data are located. Global-view communication directives are used to move a part of the distributed data globally and to maintain consistency in the shadow area. Rich sets of XMP global-view programming model can reduce the cost for parallelization significantly, and optimization of “privatization” is not necessary. For productivity and performance study, the Omni XMP compiler and the Berkeley Unified Parallel C compiler are used. Experimental results show that XMP can implement the benchmarks with a smaller programming cost than UPC. Furthermore, XMP has higher access performance for global data, which has an affinity with own process than UPC. In addition, the XMP coarray function can effectively tune the application's performance.
11
Philippe Charles, Christian Grothoff, Vijay Saraswat et al. · 2005 · 1.3K citations
Co-array Fortran for parallel programming
Robert W. Numrich, John Reid · ACM SIGPLAN Fortran Forum · 1998 · 671 citations
The High Performance Fortran Handbook
Charles Koelbel, David B. Loveman, Robert Schreiber et al. · Computers in Physics · 1994 · 577 citations