Skip to main content

This online course is targeted at scientists who wish to extend their knowledge of Fortran to cover advanced features of the language.

The agenda is as follows:

Day 1 + 2:

  • Best Practices
    • global objects and interfaces
    • abstract interfaces
    • 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
    • creation and destruction of objects
    • polymorphic objects and function arguments
    • interacting objects
    • dependency inversion: submodules and plugins
    • parameterized derived types
    • derived-type I/O (tentative/optional)

Day 3

  • Interoperability with C
    • mixed language programming patterns
  • Recently added language features
  • Basics on porting Fortran onto GPU
    • directive based using OpenMP/OpenACC offload
    • do-concurrent GPU-offload
    • others

Day 4

  • Coarrays
    • PGAS concepts and coarray basics
    • dynamic entities
    • advanced synchronization
    • collectives, events, teams
    • patterns, performance aspects
    • program termination
Fees

This is a fee based course.

Pre-required logistics

Course participants should have good knowledge of the Fortran 95 standard (such as covered in the "Programming with Fortran" course at LRZ).
Also a basic UNIX/Linux knowledge, e.g. working on the command line, editing makefiles (e.g. using vi or emacs) etc., may be necessary.