Lectures
Course syllabus:
Lecture slides (pdf)
- Introduction to parallel computing
- Petascale computing examples
- Message Passing Interface) point-to-point communication, avoiding deadlocks; What is Parallel Computing? (MON 16.September, exchanged with the computer class);
- MPI & mpi4py continued - collective communication (MON). Instruction Level Parallelism (ILP); Memory and Cache effects (WED);
- Parallel Computer Architectures; Flynn's taxonomy, Flynn-Johnson classification
- Designing Parallel programs; performance metrics and analysis
- Amdahl's law, Gustafson-Barsis law; Methods for increasing efficiency; Parallel Algorithm Design Principles
- Parallel Algorithm Design Principles
- Apache Spark framework - slides (pdf)
- Parallel programming models
- Parallel Computing using Numba: A High-Performance Python Compiler (Tek Raj Chhetri)- Google Colab Notebook and Students Chosen project topic presentations
- General Purpose GPU Programming (Mohammad Anagreh) - slides (pdf)
- Benchmarking
- Final project presentations