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):
- 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. A social event (self-paid dinner) for participant and instructor networking is planned for the evening on Tuesday, September 12, 2017.