SCHEDULE
IMPORTANT NOTE:The COMP481 schedule might change during the quarter! Watch this space frequently for any updates during the quarter).
Week 1 | ||||
Day | Class Topic | Reading | Due | Recommendations |
---|---|---|---|---|
M1 |
- Syllabus review - Introduction to parallel algorithms |
|||
W1 | #MakeClimateAClass - A little bit of history - What can parallelism do? |
Start Assignment #1 | ||
F1 | Preparing your machine for parallel computing | "Hints for Making Your Computer a Parallel Machine" | Discussion Question #1 | |
Week 2 | ||||
Day | Class Topic | Reading | Due | Recommendations |
M2 |
- Basic concepts - Parallel execution time - Speedup - Efficiency Exercise #1: Performance |
Section 2.1 and 2.6 | ||
W2 | - Amdahl's Law - Brent’s Theorem |
Section 2.6 | Discussion Question #2 | |
F2 | Quiz #1: Parallel Performance • [open book and notes] - Review of computational models - Models for parallel computing |
Section 2.2 and 2.3 | Assignment #1 | |
Week 3 | ||||
Day | Class Topic | Reading | Due | Recommendations |
M3 | - Interconnection networks and communication | Section 2.3.3 | Start Assignment #2 | |
W3 | - Parallel Programs | Section 2.4 | Discussion Question #3 | |
F3 |
Quiz #2: Interconnection Networks • [take home] - Setting up an account in Jigwé |
|||
Week 4 | ||||
Day | Class Topic | Reading | Due | Recommendations |
M4 |
- Shared-memory programing with OpenMP - Writing multi-threaded programs |
Sections 5.1, 5.3, and 5.4 | ||
W4 | OpenMP Practice: compiling and running a program | Quiz #2 | ||
F4 |
- Parallelizing for loops
|
Sections 5.5 and 5.6 | Discussion Question #4 | |
Week 5 | ||||
Day | Class Topic | Reading | Due | Recommendations |
M5 | - Scheduling Parallel Loops in OpenMP
|
Section 5.7 and | Assignment #2 | |
W5 | - Parallel tasks in OpenMP - Critical and atomic sections in OpenMP Quiz #3: OpenMP • [group quiz] |
Section 5.8 | ||
F5 | OpenMP Practice: Parallelizing a sequential program | Start Assignment #3 | ||
Week 6 | ||||
Day | Class Topic | Reading | Due | Recommendations |
M6 | - Distributed-Memory programing with MPI | Section 3.1 | Discussion Question #5 | |
W6 |
- Basic MPI operations - MPI Communication |
Section 3.4 | ||
F6 | MPI Practice: compiling and running a program | |||
Week 7 | ||||
Day | Class Topic | Reading | Due | Recommendations |
M7 | Work day (catch up) | |||
W7 |
- Massively Parallel Graphic Processors - NVidia GPUs and CUDA |
Start reviewing the Final Project. | ||
DoGLFriday of 7th Week: No Class. This day has been declared as "Day of Gracious Living." |
||||
Week 8 | ||||
Day | Class Topic | Reading | Due | Recommendations |
M8 |
CUDA Practice: compiling and running a program - Final Project discussion day |
- An Easy Introduction to CUDA C and C++ - An Even Easier Intorduction to CUDA |
||
W8 | Building an HPC Cluster with RPis: Initial Setup | Assignment #3 | ||
F8 | Building an HPC Cluster with RPis: Configuration & Testing | Final Project Proposal | ||
Week 9 | ||||
Day | Class Topic | Reading | Due | Recommendations |
M9 | Building an HPC Cluster with RPis: Parallel Programs & Benchmarks | |||
W9 | Special Topics: Deep Learning and Parallel Programming using GPUs Invited speaker Usman Tariq |
|||
F9 |
- Work Day
Quiz #4: Parallel Computing Concepts • [individual quiz] |
|||
Week 10 | ||||
Day | Class Topic | Reading | Due | Recommendations |
Memorial DayMonday of 10th Week: No Class. Take this time to prepare for your Final Project presentations. |
||||
W10 | Project Presentations
|
|||
F10 | Project Presentations
- Group report on Building an HPC Cluster with RPis due by 11:59 p.m. | |||
Finals Week | ||||
No final exam. Enjoy the summer time! |