This online course is targeted at scientists who wish to extend their knowledge of Fortran to cover advanced features of the language.
Topics covered include (still preliminary)
- 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
- 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
- PGAS concepts and coarray basics
- dynamic entities
- advanced synchronization
- parallel programming patterns
- recent enhancements: collectives, events, teams, atomic subroutines
- performance aspects of coarray programming
The course combines lectures and hands-on sessions.
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).
Please use your own laptop or institute cluster for the hands-on sessions. On your laptop or PC you should run either a Linux distribution, or a Microsoft Linux for Windows subsystem.
A recent version of the gfortran compiler should be installed. Finally, the GSL (GNU scientific library) and its header files should be installed.
Dr. R. Bader, Dr. G. Brietzke, Ivan Pribec (LRZ)
Prices and Eligibility
The course is open and free of charge for people from academia and industry from the Member States (MS) of the European Union (EU) and Associated Countries to the Horizon 2020 programme.