Math 447 - Introduction to Parallel Computing

Winter 2021 - Matthias K. Gobbert

Detailed Schedule - Last Updated 01/05/2021


The synchronous class meetings are online, on Tuesdays, Wednesdays, Thursdays, and Fridays, 01:00-04:10, January 05 to 22, 2021, in Blackboard Collaborate. Please, see the detailed schedule below for more information.
This schedule is designed to give you an overview of the material to be covered and is tentative in nature. It is a living document and will be updated throughout the semester.
The chapter numbers refer to Peter S. Pacheco, Parallel Programming with MPI, Morgan Kaufmann, 1997.
The numbers HW1a, HW1b, HW2a, etc. in the Class column indicate homeworks "HW" due as PDF upload to Blackboard on that day.
The numbers BQ0a, BQ0b, etc. in the Main Topic column indicate online Blackboard quizzes "BQ" due before that class.
The numbers GQ0a, GQ2a, GQ2b, etc. in the Main Topic column indicate in-class group quizzes "GQ" during that class due as PDF upload.
These numbers in the detailed schedule are designed to show the teaching philosophy and learning techniques associated with each class meeting.
See the Assignments area of the Blackboard site for our course for the precise due dates and times.
Cautions: Notice that some classes below consist of two lines of schedule. Class 0 is not a class at all, but a reminder that BQ0a, BQ0b, and HW1a are due one day before the first synchronous class meeting.
Class Date Main Topic
Week 1:
0, H1a Mo 01/04 No synchronous class meeting! Reading and Taped Lecture: Modules 0 and 1, BQ0a, BQ0b
1, H1b Tu 01/05 Module 1: Motivation for parallel computing and overview, GQ0a
Tu 01/05 Module 1: Linux, ANSI-C "Hello, world!", and running jobs in parallel
2, H2a We 01/06 Module 2: Chapter 3: Greetings!
3, H2b Th 01/07 Module 2: Chapter 4: An Application: Numerical Integration, GQ2a
4 Fr 01/08 Module 2: Chapter 9: Debugging Your Program
Fr 01/08 Module 2: Scientific computing: numerical error vs. accumulated round-off, GQ2b
Week 2:
5, H3a Tu 01/12 Module 3: Chapter 5: Collective Communication, Part 1
Tu 01/12 Module 3: Scientific computing tools: make utility, matrix representation
6, H3b We 01/13 Module 3: Chapter 5: Collective Communication, Part 2
We 01/13 Module 3: Chapter 10: Design and Coding of Parallel Programs (power method)
7, H4a Th 01/14 Module 4: Scientific computing tools: BLAS, LAPACK, BLACS, ScaLAPACK, PETSc (Chapter 15)
8, H4b Fr 01/15 Module 4: Chapter 11: Performance
Week 3:
9, H5a Tu 01/19 Module 5: Chapter 10: Design and Coding of Parallel Programs (Jacobi method)
Tu 01/19 Module 5: Chapter 10: Design and Coding of Parallel Programs (CG method)
10, H5b We 01/20 Module 5: Chapter 13: Advanced Point-to-Point Communication
11, H5c Th 01/21 Module 5: Chapter 10: Design and Coding of Parallel Programs (Sorting)
Th 01/21 Module 6: Chapter 2: An Overview of Parallel Computing
12, H5d Fr 01/22 Module 6: OpenMP Multi-Threading in Parallel Computing
Fr 01/22 Module 6: Project presentations

Copyright © 2001-2021 by Matthias K. Gobbert. All Rights Reserved.
This page version 1.1, January 2021.