Parallel Programming

This lesson by the Molecular Sciences Software Institute (MolSSI) teaches the fundamentals of parallel programming techniques, with an emphasis on MPI and OpenMP parallelization. It assumes basic familiarity with Python programming, which is the subject of the MolSSI Python Scripting for Computational Molecular Science lessons. Episodes 4 and 6 assume basic familiarity with C++. To see the full MolSSI’s education mission statement, please see here.

This lesson is under development, please report issues to the GitHub repository

Prerequisites

Students should be familiar with opening the Terminal window and creating and navigating files in bash.

Schedule

Setup Download files required for the lesson
00:00 1. Introduction What is parallelization and how does it work?
00:15 2. Introduction to Distributed-Memory Parallelization What is distributed-memory parallelization?
00:35 3. MPI Hands-On - mpi4py How can I use MPI to parallelize a Python code?
02:05 4. MPI Hands-On - C++ How can I use MPI to parallelize a compiled code?
03:35 5. Introduction to Shared-Memory Parallelization What is shared-memory parallelization?
03:55 6. OpenMP Hands-On How can I use OpenMP to parallelize a code?
05:25 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.