MPI (Message Passing Interface) is the de facto standard for parallel programming, defining how concurrent processes can communicate and hence work together to complete a given task in a shorter time. This course will introduce the concepts and terminology of High Performance Computing (HPC), before providing a comprehensive and detailed introduction to programming HPC machines using MPI. After an in-depth look at point-to-point and collective communication, we will study some more advanced but potentially very useful topics:
- Cartesian topologies
- MPI derived data types
- User-defined binary operators
- Groups and communicators
Each section of the course is supported by practical exercises.
Anyone interested in writing parallel code.
Attendees should be able to program in either Fortran or C and be familiar with working in a UNIX environment (i.e., you should be able to connect to a machine remotely, use basic UNIX commands, edit a source file and understand the elementary steps in compiling object files and creating executables).
After Course Attendees Will:
Be able to parallelize an existing serial code, or write a parallel code from scratch, using MPI.
Please email us if you would like to attend this course.