Detailed Syllabus (tentative)

Lectures

9/7: Intro, Shopping Day

9/14: Processor Design

HW1: Better know a processor

Motivation:

9/21: Software strategies for single-core

(Andreas at GTC?)

(essentially [Ye07], lec. 2)

HW1 due

HW2:

9/28: Coarse-grain shared memory machines

10/5: Programming coarse-grain shared-memory machines

HW2 due

HW3:

Final project preliminary proposals due

10/12: Very many cores (GPUs)

(similar to the GPU lecture I've given a few times)

HW3 due

HW4: GPU matmul

10/19: Distributed Memory Machines

HW4 due

HW5: MPI microbenchmarks

10/26: Tools and Libraries

11/2: Common patterns of Parallel Programming

HW 5 due

Final project final proposals due

HW6: GPU+MPI scan (two parts: write MPI scan until next week, GPU scan the week after, then combine)

Thoughts:

11/9: Implementation Concerns

11/16: Applications I

HW6 due

Thoughts:

11/23: Applications II

HW7: An OpenCL regular-grid Laplace finite-difference code (GPU-targeted, extra credit for good CPU perf)

11/30: Applications III

12/7: Overflow

HW7 due

12/14

(No class?--Academic Calendar says "Legislative Day - Classes will run on a Thursday schedule")

12/21: Final Project Presentations

5:10 -- 7:00pm in room CIWW 317.

Leftover Topics

Thoughts

References

[Ye07] Yelick, CS267, Srping 2007.