High Performance Computing: FORTRAN, OpenMP and MPI

Overordnede kursusmål
FORTRAN et et af hoved programmeringssprogene indenfor de natur- og teknisks videnskaber og kendskab til FORTRAN er derfor en nødvenlig kompetence for såvel studerende, som forskere og ingeniøerer generelt.
Med de to sidste revisioner af sproget har FORTRAN fulgt med udviklingen og kravene til moderne programmeringssprog. De fleste harware udbydere (IBM, HP, SGI, Intel, Sun, Cray) tilbyder
effektive FORTRAN compilere, baseret på mere end 50 års erfaring.
MPI (Message Passing Interface) er de-facto standard til programmeting af kode til distributeret memory computer arkitekturer. MPI kan kaldes fra C/C++ og FORTRAN, og er porteret til alle massivt-parallel supercomputers.
OpenMP (Open Multi-Processing) er et standard Application Programming Interface (API) til programmering af shared memory multiprocessing i C/C++ and FORTRAN. OpenMP består af et sæt af compiler direktiver, biblioteksfunktioner, samt miljø variable som tillader og understøtter shared memory parallelisme.
Nuværende og fremtidens supercomputers bestaar typisk af klynger af computere (noder), hver med flere kerner (dual, quad, multi-kerner), som deler nodens hukommelsen.
Formålet med kurset er at skitsere strategier til portering, og udvikling af effektiv, portabel og veldokumentet kode til denne hybride computer arkitektur.
See course description in English
Læringsmål
- læse programmer skrevet i FORTRAN
- skrive programmer i FORTRAN
- læse programmer med OpenMP direktiver
- skrive programmer med OpenMP direktiver
- læse programmer med MPI
- skrive programmer med MPI
- forstå forskellen mellem share og distritubed memory parallelitet
- foretage seriel benchmarking af kode
- foretage debugging af kode
- måle parallel effektivitet
- benytte Amdahls regel
Kursusindhold
Phd. kurset består af 3 dele:
Del I: FORTRAN programmering
Del II: Introduktion til OpenMP
Del III: MPI
Undervisningsform
Phd. kurset bestaar af 2-3 timers forelæsning per dag, samt 2-3 timers øvelser.