Parallel Computing#
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 threads and processes.
Course Objectives#
Be able to explain what is meant by distributed and shared-memory parallelism.
Be able to write Python code that utilizes multithreading and multiprocessing for parallel execution.
Know how to write Python software that can run across multiple processors using MPI.
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.