High-Performance Design Patterns for Modern Fortran

Joint Authors

Morris, Karla
Radhakrishnan, Hari
Rouson, Damian W. I.
Haveraaen, Magne
Carson, Clayton

Source

Scientific Programming

Issue

Vol. 2015, Issue 2015 (31 Dec. 2015), pp.1-14, 14 p.

Publisher

Hindawi Publishing Corporation

Publication Date

2015-05-28

Country of Publication

Egypt

No. of Pages

14

Main Subjects

Mathematics

Abstract EN

This paper presents ideas for using coordinate-free numerics in modern Fortranto achieve code flexibility in the partial differential equation (PDE) domain.

Wealso show how Fortran, over the last few decades, has changed to become a languagewell-suited for state-of-the-art software development.

Fortran’s new coarraydistributed data structure, the language’s class mechanism, and its side-effect-free,pure procedure capability provide the scaffolding on which we implement HPCsoftware.

These features empower compilers to organize parallel computationswith efficient communication.

We present some programming patterns that supportasynchronous evaluation of expressions comprised of parallel operations ondistributed data.

We implemented these patterns using coarrays and the message passing interface (MPI).

We compared the codes’ complexity and performance.

The MPI code is much more complex and depends on external libraries.

The MPIcode on Cray hardware using the Cray compiler is 1.5–2 times faster than the coarraycode on the same hardware.

The Intel compiler implements coarrays atop Intel’s MPIlibrary with the result apparently being 2–2.5 times slower than manually codedMPI despite exhibiting nearly linear scaling efficiency.

As compilers mature andfurther improvements to coarrays comes in Fortran 2015, we expect this performancegap to narrow.

American Psychological Association (APA)

Haveraaen, Magne& Morris, Karla& Rouson, Damian W. I.& Radhakrishnan, Hari& Carson, Clayton. 2015. High-Performance Design Patterns for Modern Fortran. Scientific Programming،Vol. 2015, no. 2015, pp.1-14.
https://search.emarefa.net/detail/BIM-1076559

Modern Language Association (MLA)

Haveraaen, Magne…[et al.]. High-Performance Design Patterns for Modern Fortran. Scientific Programming No. 2015 (2015), pp.1-14.
https://search.emarefa.net/detail/BIM-1076559

American Medical Association (AMA)

Haveraaen, Magne& Morris, Karla& Rouson, Damian W. I.& Radhakrishnan, Hari& Carson, Clayton. High-Performance Design Patterns for Modern Fortran. Scientific Programming. 2015. Vol. 2015, no. 2015, pp.1-14.
https://search.emarefa.net/detail/BIM-1076559

Data Type

Journal Articles

Language

English

Notes

Includes bibliographical references

Record ID

BIM-1076559