# Schedule (Fall 2021)

Acknowledgement

This class follows the collaborative course: *"Applications of Parallel Computers"*, sponsored by XSEDE taught by the faculty at the University of California, Berkeley. Students enrolled in this course will have access to teaching materials and computing resources from UC Berkeley and XSEDE.

## Lectures

- Introduction to CSC 415 [PDF]
- Introduction to Parallel Computing [PDF]
- Memory Hierarchies and Matrix Multiplication [PDF]
- Cache Oblivious MatMul and the Roofline Model [PDF]
- Shared Memory Programming, OpenMP [PDF]
- additional reading:
*"A Modern Multi-Core Processor"*from CS 149 @ Stanford [HTML]

- additional reading:
- Sources of Parallelism and Locality (Part 1) [PDF]
- Sources of Parallelism and Locality (Part 2) [PDF]
- Communication-optimal
*MatMul*[PDF] - An Introduction to CUDA and Graphics Processors (GPUs) [PDF]
- Data Parallel Algorithms [PDF]
- Distributed Memory Machines and Programming [PDF]
- Advanced MPI [PDF]
- Parallel Machine Learning (Supervised) [PDF]
- Parallel Machine Learning (Unsupervised) [PDF]
- Cloud Computing [PDF]

## Quizzes

- Quizz 1 (due Sep 20)
- Quizz 2 (due Sep 27)
- Quizz 3 (due Oct 4)
- Quizz 4 (due Oct 18)
- Quizz 5 (due Oct 18)
- Quizz 6 (due Oct 29)
- Quizz 7 (due Nov 1)
- Quizz 8 (due Nov 22)
- Quizz 9 (due Dec 13)
- Quizz 10 (due Dec 13)

## Assignments

- Assignment 1 (due Oct 8)
- Assignment 2 (due Oct 27)
- Assignment 3 (due Nov 28)
- Presentations (from 11/12 to 12/10)
- Project Proposal (due Nov 10)
- Project Report (due Dec 13)
- Project Presentation (Dec 15, 3pm)