Modern Fortran: Building Efficient Parallel Applications

  • 7h 34m
  • Milan Curcic
  • Manning Publications
  • 2020

Modern Fortran: Building efficient parallel applications teaches you how to develop fast, efficient parallel applications with Fortran. To warm up, you'll start by building a simple application in modern Fortran, with a focus on reusable modules, functions, and subroutines. Next, you'll dive into Fortran's unique approach to parallel programming with coarrays. As you work through this practical guide, you'll systematically explore all the really interesting stuff: how to overload operators and generic functions, work with a variety of different inputs and outputs, and much more. Finally, you'll take on advanced parallelism with teams and events, and interoperability with C.

Packed with practical examples, tasks to practice, cookbook-style recipes, Modern Fortran is guaranteed to make you see this powerful language in a new light.

About the Author

Milan Curcic is a scientist, founder, and author. A Fortran programmer since 2006, he has worked with teams from United States Navy and NASA on developing and improving Earth system prediction models. He has also built a SaaS platform for numerical weather prediction (cloudrun.co), porting a million lines of Fortran to the cloud. Milan has authored several general-purpose Fortran libraries and is a founding member of the open source Fortrancommunity project (fortran-lang.org).

In this Book

  • Foreword
  • About This Book
  • Introducing Fortran
  • Getting Started—Minimal Working App
  • Writing Reusable Code with Functions and Subroutines
  • Organizing Your Fortran Code Using Modules
  • Analyzing Time Series Data with Arrays
  • Reading, Writing, and Formatting Your Data
  • Going Parallel with Fortran Coarrays
  • Working with Abstract Data Using Derived Types
  • Generic Procedures and Operators for Any Data Type
  • User-Defined Operators for Derived Types
  • Interoperability with C—Exposing Your App to the Web
  • Advanced Parallelism with Teams, Events, and Collectives
SHOW MORE
FREE ACCESS