PRACE PATC Course: Advanced Fortran Topics


Date: Monday, September 12 - Friday, September 16, 2016, 9:00-18:00
Location: LRZ Building, Garching/Munich, Boltzmannstr. 1


© Alessandro Podo, LRZ

This course, partly a PRACE Advanced Training Center (PATC) course, is targeted at scientists who wish to extend their knowledge of Fortran to cover advanced features of the language.

Topics covered include:

Days 1-3:

  • Best Practices
    • global objects and interfaces
    • abstract interfaces and the IMPORT statement
    • object based programming
  • Object-Oriented Programming
    • type extension, polymorphism and inheritance
    • binding of procedures to types and objects
    • generic type-bound procedures
    • abstract types and deferred bindings
  • IEEE features and floating point exceptions
  • Interoperability with C
    • mixed language programming patterns
  • Fortran 2003 I/O extensions

Days 4-5 (PATC course, support by PRACE still has to be approved):

  • OO Design Patterns: application of object-oriented programming
    • creation and destruction of objects
    • polymorphic objects and function arguments
    • interacting objects
    • dependency inversion: submodules and plugins
  • Coarrays
    • PGAS concepts and coarray basics
    • dynamic entities
    • advanced synchronization
    • parallel programming patterns
    • recent enhancements: collectives, events, teams, atomic subroutines
    • performance aspects of coarray programming

To consolidate the lecture material, each day's approximately 4 hours of lecture are complemented by 3 hours of hands-on sessions. The last 2 days of the course are a PATC event.


non-PATC days (Mon-Wed) PATC-days (Thu-Fri) (preliminary)


Course participants should have good knowledge of the Fortran 95 standard (such as covered in the February course at LRZ), and also basic UNIX/Linux knowledge (e.g. shell commands, simple scripts, editors like vi or emacs).

Language: English
Teachers: R. Bader, G. Brietzke
Registration: Via Please contact us if you only want to participate in the final 2-day PATC part of the course.
Hands-on: The PATC part of the exercises will be done on the SuperMIC system at LRZ.
Contact: Dr. Volker Weinberg (LRZ)