CSEP 524 Autumn 2016 - Parallel Computation (PMP)

Course Description

An introduction to parallel programming and computation via a combination of principles and practice. Topics to include styles of parallelism (data, task, pipelined); programming models (shared memory, message passing, PGAS); architectural implications (shared vs. distributed memory, multicore, accelerators, networks); programming issues and hazards (synchronization, memory consistency, race conditions, deadlock and livelock); performance tuning (scalability, locality); and algorithms.

Course Information

Lectures: Mondays 6:30-9:20 pm, Johnson Hall, Room 175
Instructor: Mark Oskin oskin[at]cs..., office hours TBD
TAs: Emily Furst eafurst[at]cs...,


Please use discussion board to discuss class-related topics: Class discussion board
If it is more convenient, you can also use UW CSE PMP Slack channel (log in with your UW email address): UW CSE PMP


Grading will be based on 4 projects, each equally contributing to the final grade. There will be no exams!


Submit via Dropbox, view grades in Gradebook.
You are allotted 2 grace days on assignments throughout the quarter.

Lecture Schedule

This tentative schedule will be updated as the quarter progresses. Slides will be posted as they become available.

  • Class #1 (Oct 3, 2016)
    Lecture: Shared Memory Multiprocessing (threads & locks)
    Slides: Click here.
    Examples: Click here.
  • Class #2 (Oct 10, 2016)
    Lecture: Shared Memory Multiprocessing (threads & locks) cont.
    Slides: Click here.
    Examples: See lecture 1 examples.
  • Class #3 (Oct 17, 2016) No class
  • Class #4 (Oct 24, 2016)
    Lecture: GPUs: Vectors, OpenCL, C++Amp, CUDAM
    Slides: Click here.
  • Class #5 (Oct 31, 2016)
    Lecture: GPUs Cont.
    Slides: Click here.
    Examples: Click here.
  • Class #6 (Nov 7, 2016)
    Lecture: No class
  • Class #7 (Nov 14, 2016)
    Lecture: MPI
    Slides: Click here.
  • Class #8 (Nov 21, 2016)
    Lecture: No class
  • Class #9 (Nov 28, 2016)
    Lecture: Map/Reduce and Spark!
    Slides: Click here.
  • Class #10 (Dec 5, 2016)
    Lecture: TBD (DSL’s?)