Parallel Computing

Parallel Computing#

Please note that the content for this course is still in active development.

Overview#

This course will provide an introduction to parallel programming. Participants will gain practical experience in writing parallel software, understanding how to decompose problems for efficient execution across multiple processes and threads.

Course Objectives#

On completion of this series of workshops, participants will:

  • Be able to explain what is meant by distributed and shared-memory parallelism.

  • Know how to write software that can run across multiple processes using MPI.

  • Be able to write code that utilizes multithreading for parallel execution.

  • Be able to identify how a problem can be divided and parallelised effectively.

  • Gain hands-on experience writing and optimizing parallel code.

Pre-requisite Knowledge#

This course is for participants who already have some programming experience with Python. If you are not familiar with Python, our Introduction to Python course, is available here.