Efficient programming of modern HPC architectures
The course discusses programming techniques required to efficiently utilise high performance computing in a PhD-project in computational science and engineering. The course content includes developing modularised software in Fortran 95 and the scripting language Python. You will be taught how to conduct an object-oriented analysis of common problems in science and engineering. Parallel programming will be another focus point of the course. We will discuss shared memory and distributed memory programming. The course will introduce the application interfaces of OpenMP and MPI as well as the concepts behind these.
-
Course Schedule
-
Course Software Environment
-
Modern Fortran in Science and Technology (120903)
-
Fortran - Lectures part 1
-
Fortran - Lectures part 2
-
Fortran - Lectures part 3
-
Using the graphical debugger nemiver
-
Creating a Fortran project in Eclipse
-
Course material Python
-
Python assignments
-
particle_player.py
-
Python / Fortran assignment [UPDATED 1/10]
-
Slides for casestudy
-
Exercisesheet 2nd October
- Exercise sheet about OpenMP parallelisation
-
Exercisesheet 9th October
- Exercises on OpenMP and MPI
-
Exercisesheet 16th October
- Exercises and Casestudy for MPI

