21-765. Introduction to Parallel Computing and Scientific Computation

Florin Manolache
florin@andrew.cmu.edu
Wean Hall, Room 6218


Lecture 1: Slide 1 - Introduction
Slide 2 - Module 1: software package structure

Homework 1
Lecture 2: Slide 17 - Module 2: parallel computing basic concepts and programming techniques
Homework 1a
Lecture 3: Slide 18
Slide 3 - Module 3: from real life problem to computer algorithm

Lecture 4: Slide 15z - Module 4: Tools for programming and cluster management
Slide 15a
Slide 32
Slide 33

Lecture 5: Slide 4 - Module 5: computer hardware basics
Homework 2
Lecture 6: Slide 6 - Module 6: structural information organization Homework 3
Lecture 7: Slide 7 - Module 7: time dimension - processes, communication, shell Homework 4
Lecture 8: Slide 8 - Module 8: programming
Slide 9
Slide 10
Slide 10a
Homework 6
Lecture 9: Slide 11 - Module 8: programming
Slide 12
Slide 13
Homework 5
Homework 7
Lecture 10: Slide 16 - Module 9: Networking Homework 8
Lecture 11: Slide 19 - Module 10: multi-threading and OpenMP
Slide 20
Slide 21
Slide 21a
Slide 21b
Homework 9
Lecture 12: Slide 26 - Module 11: MPI and implementation
Slide 26a
Slide 27
Slide 29 
Homework 10
Lecture 13: Slide 30 - Module 12: the PETSC library
Lecture 14: Slide 35 - Module 13: GPU computing: CUDA and OpenACC
Slide 36

Lecture 15: Slide 37 - Module 14: modern developments: Big Data, AI
Slide 38