The International Conference for High Performance Computing, Networking, Storage and Analysis
High-Performance Design Patterns for Modern Fortran.
Authors: Damian W. I. Rouson (Stanford University), Karla Morris (Sandia National Laboratories), Magne Haveraaen (University of Bergen), Jim Xia (IBM Canada), Sameer Shende (University of Oregon)
Abstract: HPC hardware is experiencing a flood of new technologies that promise higher performance and better energy utilization. Continuously adapting HPC codes for multicore processors and manycore accelerators, however, drains human resources and prevents utilization of more cost-effective hardware.
We propose some design patterns for Fortran 2008 addressing this problem. Fortran's new coarray distributed data structures provide our backdrop along with the Fortran's side-effect-free, pure function capability. These features empower compilers to organize the computation on many cores with efficient communication. The presented design patterns support asynchronous evaluation of expressions comprised of parallel operations on distributed data structures. We demonstrate the design patterns on the tensor calculus expressions common in computational physics. A solver for the Burgers partial differential equation illustrates the approach's performance and scalability.