CSC Autumn of HPC is a set of five two day modules teaching essential skills in parallel programming for modern GPU-accelerated supercomputers. Each module consists of lectures and hands-on exercises addressing different aspects of high-performance computing. The course set is aimed for for graduate students working in various fields of science, e.g., chemistry, physics, life sciences, engineering or economics. Also undergraduates as well as post-docs will find the course set very useful. Even though the course set is planned as entity, it is possible to participate only selected modules.
Course modules are organized as online events. If COVID-19 situation allows, the last two modules will have also an option for on-site participattion at CSC's premises in Espoo, Finland.
Learning outcome
-
Participants can read and reason about HPC programs parallelized with MPI and OpenMP
-
Participants can read and reason about HPC programs utilizing GPUs with OpenMP offload and HIP
-
Participants can write simple parallel programs combining MPI, OpenMP and HIP
Prerequisites and content level
-
Basic programming skills with modern Fortran or C/C++
-
Ability to operate on Linux command line. (Online resources at: https://docs.csc.fi/support/tutorials/env-guide/overview/)
-
Basic skills in version control with git. (Online resources at: https://coderefinery.github.io/git-intro/)
Note that some modules may have skills of previous modules as prerequisite if you do not participate all the modules, see the course pages of individual modules for more information.
Target audience
-
Users of parallel applications who need to understand the application better
-
New developers of parallel applications
-
Advanced modules target also existing developers
Module 1 (online): Parallel programming with MPI | completed
- Time: 2.-3. September
- Introduction to high-performance computing
- Basic MPI programming
- Debugging and performance analysis of parallel applications
- Course page @PRACE: https://events.prace-ri.eu/e/ParallelProgrammingMPI_CSC_SEP-2021
Module 2 (online): Advanced MPI and parallel I/O | completed
- Time: 16.-17. September
- Advanced topics in MPI
- Parallel I/O with MPI I/O and HDF5
- Course page @PRACE: https://events.prace-ri.eu/e/AdvancedMPIprogramming-parallelI/O_CSC_SEPT-2021
Module 3 (online): Hybrid CPU programming with OpenMP and MPI | completed
- Time: 4.-5. October
- Shared memory parallel programming with OpenMP
- Combining OpenMP with MPI
- Using OpenMP tasks
- Course page @PRACE: https://events.prace-ri.eu/e/HybridCPUprogramming_OpenMP-MPI_CSC_OCT-2021
Module 4 (online): GPU programming with OpenMP -> OpenMP Offload
- Time: 9.-10. November
- Single GPU programming with OpenMP offloading
- Integrating OpenMP with HIP(CUDA)
- OpenMP Offload course is part of the first OpenMP training organised by LUMI User Support Team (LUST) and replaces the course announced earlier. For more information please contact LUMI User Support Team
- Read more and register at: https://events.prace-ri.eu/e/OpenMPoffload_LUST_9-10NOV2021
Module 5: GPU programming with HIP
- Time: 9.-10. December
- Single GPU programming with HIP
- Using multiple GPUs with HIP and MPI
- Read more and register at: https://events.prace-ri.eu/e/GPUProgramming-HIP-CSC-DEC2021
Lecturers and organizers: Cristian Achim (CSC), Jussi Enkovaara (CSC), Jaro Hokkanen (CSC), Michael Klemm (AMD), Orian Louant (LUMI User Support Team), Nicolino Lo Gullo (LUMI User Support Team), Martti Louhivuori (CSC), Georgios Markomanolis (CSC), Christian Terboven (RWTH Aahen University)
Language: English
Price: Free of charge (2 training days per module)