Fundamentals of Parallel Programming#
This course 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 continual development, please report issues to the workshop repository.
If you see a subject you would like to contribute to, submit a pull request!
Prerequisites
Students should be familiar with opening the Terminal window and creating and navigating files in bash.
Workshop Lessons#
Set-Up#
Lesson Title |
Questions |
Objectives |
---|---|---|
How do I set up my environment? |
Download files required for the lesson |
Introduction#
Lesson Title |
Questions |
Objectives |
---|---|---|
What is parallelization and how does it work? |
|
Distributed-Memory Parallelization#
Lesson Title |
Questions |
Objectives |
---|---|---|
What is distributed-memory parallelization? |
Understand the advantages and limitations of distributed-memory parallelization. |
|
How can I use MPI to parallelize a Python code? |
|
|
How can I use MPI to parallelize a compiled code? |
|