ABSTRACT
We examine the scalability and performance of an open-source, coarray Fortran (CAF) mini-application (mini-app) that implements the parallel, numerical algorithms that dominate the execution of The Intermediate Complexity Atmospheric Research (ICAR) [4] model developed at the the National Center for Atmospheric Research (NCAR). The Fortran 2008 mini-app includes one Fortran 2008 implementation of a collective subroutine defined in the Committee Draft of the upcoming Fortran 2018 standard. The ability of CAF to run atop various communication layers and the increasing CAF compiler availability facilitated evaluating several compilers, runtime libraries and hardware platforms. Results are presented for the GNU and Cray compilers, each of which offers different parallel runtime libraries employing one or more communication layers, including MPI, OpenSHMEM, and proprietary alternatives. We study performance on multi- and many-core processors in distributed memory. The results show promising scaling across a range of hardware, compiler, and runtime choices on up to ~100,000 cores.
- 2016. MPI: A Message Passing Interfacew Standard. Standard. University of Kentucky, Knoxville, Tennessee USA.Google Scholar
- Alessandro Fanfarillo, Tobias Burnus, Valeria Cardellini, Salvatore Filippone, Dan Nagle, and Damian Rouson. 2014. OpenCoarrays: open-source transport layers supporting coarray Fortran compilers. In Proceedings of the 8th International Conference on Partitioned Global Address Space Programming Models. ACM, 4. Google ScholarDigital Library
- Sudip Garain, Dinshaw S Balsara, and John Reid. 2015. Comparing Coarray Fortran (CAF) with MPI for several structured mesh PDE applications. J. Comput. Phys. 297 (2015), 237--253. Google ScholarDigital Library
- Ethan Gutmann, Idar Barstad, Martyn Clark, Jeffrey Arnold, and Roy Rasmussen. 2016. The intermediate complexity atmospheric research model (ICAR). Journal of Hydrometeorology 17, 3 (2016), 957--973.Google ScholarCross Ref
- ISO/IEC 1539--1:2010 2010. Information technology -- Programming languages -- Fortran -- Part 1: Base language. Standard. International Organization for Standardization, Geneva, CH.Google Scholar
- George Mozdzynski, Mats Hamrud, and Nils Wedi. 2015. A partitioned global address space implementation of the European centre for medium range weather forecasts integrated forecasting system. The International Journal of High Performance Computing Applications 29, 3 (2015), 261--273. Google ScholarDigital Library
- Michael Pollan. 2006. The omnivore's dilemma: A natural history of four meals. Penguin.Google Scholar
- Robert Preissl, Nathan Wichmann, Bill Long, John Shalf, Stephane Ethier, and Alice Koniges. 2011. Multithreaded global address space communication techniques for gyrokinetic fusion applications on ultra-scale platforms. In Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis. ACM, 78. Google ScholarDigital Library
- P K Smolarkiewicz and L G Margolin. 1998. MPDATA: A finite-difference solver for geophysical flows. J. Comput. Phys. 140, 2 (1998), 459--480. Google ScholarDigital Library
- Monika ten Bruggencate, Matthew Baker, Barbara Chapman, Tony Curtis, Eduardo DâĂŹAzevedo, James Dinan, Karl Feind, Manjunath Gorentla Venkata, Jeff Hammond, Oscar Hernandez, David Knaak, Gregory Koenig, Jeff Kuehn, Jens Manser, Tiffany M. Mintz, Nicholas Park, Steve Poole, Wendy Poole, Swaroop Pophale, Michael Raymond, Pavel Shamis, Sameer Shende, Lauren Smith, and Aaron Welch. 2016. OpenSHMEM Application Programming Interface, Version 1.3. (February 2016). http://bit.ly/openshmem-1-3 Accessed on 3 October 2017.Google Scholar
- Gregory Thompson and Trude Eidhammer. 2014. A Study of Aerosol Impacts on Clouds and Precipitation Development in a Large Winter Cyclone. Journal of the Atmospheric Sciences 71, 10 (Sept. 2014), 3636--3658.Google ScholarCross Ref
Index Terms
- Performance portability of an intermediate-complexity atmospheric research model in coarray Fortran
Recommendations
Portable, MPI-interoperable coarray fortran
PPoPP '14: Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programmingThe past decade has seen the advent of a number of parallel programming models such as Coarray Fortran (CAF), Unified Parallel C, X10, and Chapel. Despite the productivity gains promised by these models, most parallel scientific applications still rely ...
Portable, MPI-interoperable coarray fortran
PPoPP '14The past decade has seen the advent of a number of parallel programming models such as Coarray Fortran (CAF), Unified Parallel C, X10, and Chapel. Despite the productivity gains promised by these models, most parallel scientific applications still rely ...
Hiding latency in Coarray Fortran 2.0
PGAS '10: Proceedings of the Fourth Conference on Partitioned Global Address Space Programming ModelIn Numrich and Reid's 1998 proposal [17], Coarray Fortran is a simple set of extensions to Fortran 95, principal among which is support for shared data known as coarrays. Responding to short-comings in the Fortran Standards Committee's addition of ...
Comments