Fortran is used a lot in the context of HPC. For many, it has a reputation of being an old and ugly programming language. However, modern Fortran is a far cry from Fortran 77 that its detractors have in mind. Fortran 2003/2008 is a language that is well tailored towards scientific computing. This training introduces the language and its features.
Learning outcomes
When you complete this training you will be able to
- read and understand well-written Fortran code;
- write intermediate-level Fortran programs;
- have a good starting point to familiarize yourself with the more sophisticated aspects of Fortran by practicing.
- know about best practices and pitfalls for Fortran programmers.
Schedule
Total duration: 7 hours, split over two sessions.
Session one
Total duration session 1: 3.5 hours
| Subject | Duration |
|---|---|
| introduction and motivation | 5 min. |
| basics: control flow statements, data types | 85 min. |
| hands-on session 1 | 20 min. |
| coffee break | 10 min. |
| arrays and pointers | 30 min. |
| user defined types | 10 min. |
| procedures | 30 min. |
| hands-on session 2 | 20 min. |
Session two
Total duration, session 2: 3.5 hours
| Subject | Duration |
|---|---|
| modules and object oriented programming | 70 min. |
| hands-on session 3 | 20 min. |
| coffee break | 10 min. |
| file I/O | 50 min. |
| interacting with the environment | 10 min. |
| hands-on session 4 | 20 min. |
| discussion of more advanced topics (e.g., using BLAS/Lapack, HDF5) | 20 min. |
| wrap up | 10 min. |
Training materials
Slides are available in the GitHub repository, as well as example code and hands-on material. The exercises for the hands-on sessions are on the website.
Target audience
This training is for you if you need to use Fortran as a programming language.
Prerequisites
You will need experience programming in another programming language, This is not a training that starts from scratch.
If you plan to do Fortran programming in a Linux or HPC environment you should be familiar with these as well.
For following along hands-on, you need
- laptop or desktop with internet access.
- a Fortran compiler, either
- on a system set up so you can connect to an HPC system, an account on an HPC system (e.g., VSC, CECI, …), compute credits if that is required to run jobs on the HPC system if you want to use an HPC system, or
- on your own system.
Level
- Introductory: 40 %
- Intermediate: 40 %
- Advanced: 20 %
Trainer(s)
- Geert Jan Bex (geertjan.bex@uhasselt.be)