Modern Fortran: Glossary

Key Points

Introduction to Modern Fortran
  • Fortran is one of the oldest programming languages still in active use

  • Many important scientific codes are written in Fortran

  • Fortran is a Programming Language especially suited to High-Performance numeric computation

  • Fortran has evolved over the years adding and removing features to accommodate the evolution of scientific computing

  • Fortran is a very expressive language when dealing with arrays

  • Using Fortran modules facilitate the creation of large software projects

Best Practices in Modern Fortran
  • Avoid old Fortran 77 style even if correct the code looks better if you use Modern Fortran

Exercises
Adjurn
Parallel Programming in Fortran
  • Use OpenMP for multiple cores, OpenACC and CUDA Fortran for GPUs and MPI for distributed computing.

OpenMP: Parallel Multiprocessing
  • OpenMP is a directive-based approach for parallelization.

Exercises
Adjurn
OpenACC: Parallel Accelerators
  • OpenACC is another directive-base model for parallel programming.

  • OpenACC is similar to OpenMP but take advantage of accelerators such as GPUs

CUDA Fortran
  • CUDA Fortran is a direct approach for controlling GPUs for numerical processing

Exercises
Adjurn
MPI: Message Passing Interface
  • MPI is a distributed programming model

Advanced Topics in MPI
  • Collective operations are usually more efficient than point-to-point messages

Exercises
Final

Glossary

MPI: Message Passing Interface