General
The course introduces the basics of parallel programming with the message-passing interface (MPI) and OpenMP paradigms. MPI is the dominant parallelization paradigm in high performance computing and enables one to write programs that run on distributed memory machines, such as Puhti and Taito. OpenMP is a threading based approach which enables one to parallelize a program over a single shared memory machine, such as a single node in Puhti. The course consists of lectures and hands-on practical exercises on parallel programming.
Course will be given in the online form, lectures are given in the mornings (third day is exception with lectures also in the afternoon), and after that the participants can work on hands-on exercise on their own pace. During the self-study sessions participants can use a discussion forums for peer-to-peer learning and for assistance from lecturers.
Learning outcome
After the course the participants should be able to write simple parallel programs and parallelize existing programs with basic features of MPI or OpenMP. This course is also a prerequisite for the PTC course "Advanced Parallel Programming" in 2021.
Prerequisites and content level
The participants are assumed to have a working knowledge of Fortran and/or C programming languages. In addition, fluent operation in a Linux/Unix environment will be assumed.
The content level of the course is broken down as: beginner's - 60%, intermediate - 40%, advanced - 0%, community-targeted content - 0%.
Schedule
- Zoom sessions at https://cscfi.zoom.us/j/65788276369
- Chat room for hands-on exercise sessions https://chat.csc.fi/invite/AZKqjf
Lecture times
- Tue 13.10. 09:00 - 11:30
- Wed 14.10. 09:00 - 10:30
- Wed 14.10. 15:30 - 16:00
- Q&A session + exercise walk through
- Thu 15.10. 09:00 - 10:00
- Thu 15.10. 13:30 - 14:45
- Exercise walk through and MPI summary
- Introduction to OpenMP
- Fri 16.10 09:00 - 10:30
- Fri 16.10 15:00 - 15:30
- Exercise walk through and summary