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 exercises on parallel
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 a chat room will be provided for peer-to-peer learning and for assistance from lecturers.
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%.