Current maintainer |
In relation to lecture by |
youwuyou (youwuyou@ethz.ch) |
CSC Finnland |
CSC Summer School in High-Performance Computing 2022
This is the material repository for the high-performance computing summer school by CSC - Finnish IT Center for Science.
Once forked to yourself, you can sync with the original repository (in case of updates) by running:
git pull https://github.com/csc-training/summerschool.git
Topic |
Name |
Finished |
Introduction |
Hello world |
✔️ |
Point-to-point communication |
simple message exchange |
✔️ |
Point-to-point communication |
simple parallel pi |
✔️ |
Communication patterns |
message chain |
✔️ |
Communication patterns |
parallel pi |
✅ |
Communication patterns |
broadcast and scatter |
|
Collective operations |
collective operations |
✔️ |
Custom communicators |
communicators and collectives |
|
Heat equation |
parallel heat equation solver |
|
Heat equation |
heat equation solver with sendrecv |
|
Heat equation |
collective communication in heat equation solver |
|
Simple derived types |
simple datatypes |
✅ |
advanced derived types |
communicating struct/derived type |
✔️ |
advanced derived types |
modifying extent |
|
process topologies |
cartesian grid process topology |
✔️ |
process topologies |
message chain with Cartesian communicator |
|
Non-blocking communication |
Non-blocking message chain |
|
Non-blocking communication |
message chain with persistent communication |
|
Heat equation |
heat equation with cartesian communicator |
|
Heat equation |
non-blocking communication in heat equation |
|
Heat equation |
2D-decomposed heat equation |
|
Topic |
Name |
Finished |
Intermediate level |
Parallel I/O with Posix |
✅ |
Intermediate level |
Simple MPI-IO |
|
High-level |
HDF5 example |
|
|
Bonus: Checkpoint + restart with MPI-IO |
|
![image](https://user-images.githubusercontent.com/82619264/176366882-a0745170-2416-4fa1-9c1d-be8ca1c37be3.png)
Chapter 3: Hybrid MPI/OpenMP
Topic |
Name |
Finished |
Intro OpenMP |
hello world |
✔️ |
Intro OpenMP |
work sharing and vector addition |
✔️ |
Library functions |
OpenMP library functions |
✔️ |
Data sharing |
Data sharing and parallel regions |
✔️ |
Data sharing |
race condition in parallel sum |
✔️ |
Reductions and execution controls |
reduction |
✔️ |
Reductions and execution controls |
execution controls |
✔️ |
Heat equation |
fine grain parallelization |
|
Heat equation |
coarse grain parallelization |
|
Hybrid MPI+OpenMP programming |
hybrid hello world |
|
Hybrid MPI+OpenMP programming |
multiple thread communication |
|
OpenMP tasks |
simple tasking |
|
OpenMP tasks |
Parallelizing Mandelbrot with tasks |
|
OpenMP tasks |
Parallel Fibonacci |
|
Hybrid heat equation |
hybrid heat equation |
|
Chapter 4: GPU programming with OpenMP
Topic |
Name |
Finished |
Intro to GPUs in HPC |
device query |
✅ |
Basics of OpenMP offloading |
Hello world |
✔️ |
Basics of OpenMP offloading |
vector addition |
|
Basics of OpenMP offloading |
simple offloading for Laplace equation |
|
Controlling data movement |
dot product |
|
Controlling data movement |
sum and dot product |
|
Controlling data movement |
offloading the heat equation |
|
Unstructed data |
unstructed data in heat equation |
|
Device functions |
device functions |
|
Interoperability with libraries |
using CUDA library |
|
Asynchronous operations |
Asynchronous operations |
|
Using multiple GPUS |
multi-GPU parallelization for heat equation |
|
Chapter 5: GPU programming with HIP
Topic |
Name |
Finished |
Basics of HIP programming |
hello world |
✔️ |
Basics of HIP programming |
Kernel: saxpy |
✔️ |
Basics of HIP programming |
Kernel: copy2d |
✔️ |
Synchronisation and streams |
investigating streams and events |
✔️ |
Memory management |
memory management strategies |
✅ |
Memory management |
unified memory and structs |
✔️ |
Fortran and HIP |
Hipfort: saxpy |
✔️ |
Multi-GPU programming |
vector sum on two GPUs without MPI |
✔️ |
Multi-GPU programming |
ping-pong with multiple GPUs and MPI |
|
Multi-GPU programming |
peer to peer device access |
|
Multi-GPU programming |
Bonus: Heat equation with HIP |
|
for more theoretical aspects see my side-notes