Week |
Date |
What |
Topic |
|
Week 1 |
Tues |
No class |
|
|
Wed |
No class |
|
||
Thurs |
Lecture 1 |
First Lecture: Intro,
Background, Course Objectives |
||
Fri |
No class |
|
||
|
||||
Week 2 |
Tues |
Lecture 2 |
A programers introduction to
parallel computing: Amdahl's law, Concurrency vs. Parallelism, and the
jargon of parallel computing. Getting started with OpenMP and
Pthreads. |
|
Wed |
Discussion 1 |
Intro to the Lab Environment. |
||
Thurs |
Lecture 3 |
Parallel programing on shared
memory computers: complete the introduction to OpenMP and pthreads.
Along the way address granularity, parallel overhead, load balancing, and
Weak vs. strong scaling. |
||
Fri |
No class |
|
||
|
||||
Week 3 |
Tues |
Lecture 4 |
Shared Memory Concurrency
Issues: Races, Livelock, Deadlock, Dining Philosophers |
|
Wed |
Discussion 2 |
C++ for Java/C Programmers; Working with OpenMP and Pthreads. |
||
Thurs |
Lecture 5 |
|
||
Fri |
Intro_1 due |
|
||
|
||||
Week 4 |
Tues |
Lecture 6 |
Sequential Processor
Performance: Notions of performance: Insufficiency of Big-O, Matrix-Multiply
Example; Pipelining, Superscalar, etc.; Compiler Optimizations; Processor
"Speed of Light" |
|
Wed |
Discussion 3 |
pthreads examples. Assign Intro2 |
||
Thurs |
Lecture 7 |
Memory System Performance:
Caches, Cache Hierarchies, benchmarking; Optimizing Matrix Multiplication |
||
Fri |
|
|
||
|
||||
Week 5 |
Tues |
Lecture 8 |
Parallel Processor Architectures: Multi-Core, Cache Coherence, Memory Consistency; SIMD / SIMT; Vectors; NUMA--Keutzer/Allen |
|
Wed |
Discussion 4 |
Interactive session exploring performance issues in pthreads and openMP. They've been thinking about cache coherence É let's use the discussion section to bring up a discussion of vectorization. |
||
Thurs |
Lecture 9 |
Memory System Performance:
Caches, Cache Hierarchies, benchmarking; Optimizing Matrix Multiplication |
||
Fri |
intro_2 due |
|
||
|
||||
Week 6 |
Tues |
Lecture 10 |
Parallel Processor
Architectures: Multi-Core, Cache Coherence, Memory Consistency; SIMD / SIMT;
Vectors; NUMA |
|
Wed |
Discussion 5 |
Assign MP1: Discuss the CUDA and OpenCL environments in the lab. Help studetns where appropriate install them on their own laptops. |
||
Thurs |
Lecture 11 |
Heterogeneous computing: GPUs, CUDA and OpenCL. |
||
|
|
|
||
|
||||
Week 7 |
Tues |
Lecture 12 |
The Roofline Model |
|
Wed |
Discussion 6 |
CUDA and data parallel programming. |
||
Thurs |
Lecture 13 |
Distributed Memory Systems,
Supercomputing, and MPI |
||
Sun |
|
MP1 due |
||
|
||||
Week 8 |
Tues |
Midterm review |
Announce final project details and review for midterm |
|
Wed |
Discussion 7 |
Midterm review |
||
Thurs |
MIDTERM |
|||
|
||||
Week 9 |
Tues |
Lecture 14 |
Design patterns, pattern
languages, PLPP overview |
|
Wed |
Discussion 8 |
Discuss some exemplar projects from the past. |
||
Thurs |
Lecture 15 |
PLPP algorithm structure and
supporting structures |
||
|
||||
Week 10 |
Tues |
Lecture 16 |
Structural patterns and software
architecture |
|
Wed |
Discussion 9 |
Project meetings: show up with evidence of work! Q and A session on GPGPU programming |
||
Thurs |
Lecture 17 |
Graph algorithms, dynamic
programming, and speech recognition |
||
Fri |
MP2 due |
|
||
|
||||
Week 11 |
Tues |
Lecture 18 |
Speech - part2 |
|
Wed |
Discussion 10 |
Project meetings: show up with evidence of work! |
||
Thurs |
Lecture 19 |
Sparse linear algebra and image
contour detection |
||
|
||||
Week 12 |
Tues |
Lecture 20 |
Principle component analysis and
3D reconstruction |
|
Wed |
Discussion 11 |
Project meetings: show up with evidence of work! |
||
Thurs |
Lecture 21 |
Object recognition |
||
|
||||
Week 13 |
Tues |
Lecture 22 |
Optimization patterns |
|
Wed |
Discussion 12 |
Project meetings: show up with evidence of work! |
||
Thurs |
Lecture 23 |
Future of parallel computing |
||
|
||||
Week 14 |
Tues |
Lecture 24 |
Use class time to talk about projects |
|
|
||||
Week 15 |
Tues |
Lecture 25 |
Project presentations |
|
Wed |
Discussion 13 |
Final exam review |
||
Thurs |
Lecture 26 |
Project presentations |
||
|
||||
Final Exam: December 12th,
2012. 8 to 11 AM |
||||