To access and use supercomputers like Puhti and Mahti, you need to be able to work with text-based command line. This is a new challenge to many people more used to using graphical user interfaces like Windows and Mac OS. In many of our courses, we have "basic Linux skills" as a prerequisite. To help our course participants and users past this first barrier, we created this course.
Before participating our courses with the basic Linux skills prerequisite, please go through this material and skill tests -this way you'll make sure you and other participants get the most out of the course!
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%.