Starting in the spring 2013, I videotaped the lectures for my MATH 676: Finite element methods in scientific computing course at the KAMU TV studio at Texas A&M. These are lectures on many aspects of scientific computing, software, and the practical aspects of the finite element method, as well as their implementation in the deal.II software library. Support for creating these videos was also provided by the National Science Foundation and the Computational Infrastructure in Geodynamics.

Note 1: In some of the videos, I demonstrate code or user interfaces. If you can't read the text, change the video quality by clicking on the "gear" symbol at the bottom right of the YouTube player.

Note 2: deal.II is an actively developed library, and in the course of this development we occasionally deprecate and remove functionality. In some cases, this implies that we also change tutorial programs, but the nature of videos is that this is not reflected in something that may have been recorded years ago. If in doubt, consult the current version of the tutorial.

Lecture 41: Parallelization on a cluster of distributed memory machines — Part 1: Introduction to MPI

In the previous lectures, we discussed parallelization using multiple cores on a single machine, where each core had access to all memory on that machine. This only allows relatively limited levels of parallelism — limited by the number of cores you can get into a single machine. If you want to go beyond this, you need to have ways to communicate between machines. In scientific computing, this is almost always done using a software layer called Message Passing Interface (MPI) (see also here).

This lecture introduces the ideas behind and the philosophical framework of MPI.

Slides: click here