Dr. Pawel Pomorski
SHARCNET HPC Programming Specialist
Department of Physics and Astronomy
University of Waterloo
Waterloo, Ontario, N2L 3G1
|| 1-519-888-4567, ext. 38458
Information about the course I am teaching at McMaster in 2013
CES713, The Message Passing Interface for Parallel Applications
Time: Wednesdays 2:30-5:30, first class January 9th, 2013, last class Feb. 13th, 2013
Place: MMC ITB 139
Students in the course will need an account with SHARCNET for their assignments. These can be obtained through their supervisor. If that is not feasible, the course instructor will be able to provide the student a temporary SHARCNET account.
The course will start with covering the basics of MPI programming, then proceed to more advanced MPI topics, including: non-blocking and collective communications,
communicators and topology.
Parallel matrix multiplication will be studied as a particular example.
Also, I will spend some time on the topic of designing efficient parallel algorithms, and on testing parallel programs.
Course notes and code examples will be posted here as the course goes on.
Course evaluation will be based on two assignments (25% each) plus a course project (50%).
Project due date: Monday, February 25th, 2013. Please submit project package by email.
Lecture notes (PDF format) for last year's (2012) course
Lecture 1 - Introduction to MPI, collective communications, blocking and non-blocking communications
Lecture 1 - Code examples (.tar.gz file) and also (.zip file) Please email me if you encounter any difficulties when running these and I will try to help.
Lecture 2a - Communicators
Lecture 2b - Topologies
Lecture 2c - Matrix Multiplication
Lecture 2d - Performance
Lecture 2 - Code examples (.tar.gz file) and also (.zip file)
Lecture 3a - Grouping Data for Communications
Lecture 3b - Advanced Point to Point Communications
Lecture 3c - Input/Output
Lecture 3 - Code examples (.tar.gz file) and also (.zip file)
Lecture 4a - Design and Coding Parallel Programs: Sorting Example
Lecture 4b - Designing Parallel Algorithms
Lecture 4c - Advanced Communications : Coding Allgather
Lecture 4 - Code examples (.tar.gz file) and also (.zip file)
Lecture 5a - Parallel Libraries
Lecture 5b - MPI2 - I/O
Lecture 5c - Tree Search
Lecture 5 - Code examples (.tar.gz file) and also (.zip file)
Lecture 6a - Process Creation
Lecture 6b - Remote Memory Access