Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 

Day

Date (2012)

Topic

Slides

Audio (Panopto)

Code Examples

Homework Assigned

Homework Due

1

MonWed

Jan 9Sep 05

Lecture 1: The What and Why of Parallel Programming

lec1-slides

 

ArraySum0.hj

HW1 (Written Assignment)

 

2

WedMon

Jan 11Sep 10

Lecture 2: Async-Finish Parallel Programming and Computation Graphs

lec2-slides

lec2-audio

PrimeSieve.hj

 

 

3

FriWed

Jan 13Sep 12

Lecture 3: Computation Graphs, Abstract Performance Metrics, Array Reductions

lec3-slides

lec3-audio

ArraySum1.hj

HW2 (HJ Programming Assignment)

HW1

-

MonJan

16Sep 17

School Holiday

 

 

 

 

 

4

WedJan

18Sep 19

Lecture 4: Parallel Speedup, Efficiency, Amdahl's Law

lec4-slides

lec4-audio

 

 

 

5

FriMon

Jan 20Sep 24

Lecture 5: Data & Control Flow with Async Tasks, Data Races

lec5-slides

lec5-audio

(See Lab 3)

 

 

6

MonWed

Jan 23Sep 26

Lecture 6: Memory Models, Atomic Variables

lec6-slides

lec6-audio

(See Lab 3)

 

 

7

WedMon

Jan 25Oct 01

Lecture 7: Memory Models (contd), Futures --- Tasks with Return Values

lec7-slides

lec7-audio

ArraySum2.hj

 

 

8

FriWed

Jan 27Oct 03

Lecture 8: Futures (contd), Dataflow Programming, Data-Driven Tasks

lec8-slides

lec8-audio

binarytrees.hj

 

 

9

MonJan

30Oct 08

Lecture 9: Abstract vs. Real Performance, seq clause, forasync loops

lec9-slides

lec9-audio

nqueens.hj

 

HW2

10

WedFeb

01Oct 10

Lecture 10: Forasync Chunking, Parallel Prefix Sum algorithm

lec10-slides

lec10-audio

 

 

 

11

FriMon

Feb 03Oct 15

Lecture 11: Parallel Prefix Sum (contd), Parallel Quicksort

lec11-slides

lec11-audio

 

HW3 (HJ Programming Assignment)SeqScoring.hjX.txtY.txtBigSeq.zip

 

12

MonWed

Feb 06Oct 17

Lecture 12: Finish Accumulators, Forall Loops and Barrier Synchronization

lec12-slides

lec12-audio

 

 

 

13

WedMon

Feb 08Oct 22

Lecture 13: Forall Loops and Barrier Synchronization (contd)

lec13-slides

lec13-audio

 

 

 

14

FriWed

Feb 10Oct 24

Lecture 14: Point-to-point Synchronization and Phasers

lec14-slides

lec14-audio

 

 

 

15

MonFeb

13Oct 29

Lecture 15: Phaser Accumulators, Bounded Phasers

lec15-slides

lec15-audio

 

 

 

16

WedFeb

15Oct 31

Lecture 16: Summary of Barriers and Phasers

lec16-slides

lec16-audio

 

 

 

17

FriMon

Feb 17Nov 05

Lecture 17: Task Affinity with Places

lec17-slides

lec17-audio

 

 

 

18

MonWed

Feb 20Nov 07

Lecture 18: Task Affinity with Places (contd)

lec18-slides

lec18-audio

 

 

 

19

WedMon

Feb 22Nov 12

Lecture 19: Midterm Summary

lec19-slides

 

 

 

 

-

F

Feb 24

No Lecture (Take-home Exam 1 due by 4pm today)

 

 

 

 

HW3

-

M-F

Feb 27 - Mar 02

Spring Break

 

 

 

 

 

20

MonWed

Mar 05Nov 14

Lecture 20: Critical sections and the Isolated statement

lec20-slides

lec20-audio

 

 

 

21

WedMon

Mar 07Nov 19

Lecture 21: Isolated statement (contd), Monitors, Actors

lec21-slides

lec21-audio

 

HW4 (HJ Programming Assignment), hw_4.zip

 

22

FriWed

Mar 09Nov 21

Lecture 22: Actors (contd)

lec22-slides

lec22-audio

HJ Actor Examples

 

 

23

Mon

Mar 12

Lecture 23: Linearizability of Concurrent Objects

lec23-slides

lec23-audio

 

 

 

24

Wed

Mar 14

Lecture 24: Linearizability of Concurrent Objects (contd)

lec24-slides

lec24-audio

 

 

 

25

Fri

Mar 16

Lecture 25: Safety and Liveness Properties

lec25-slides

lec25-audio

 

 

 

26

Mon

Mar 19

Lecture 26: Parallel Programming Patterns

lec26-slides

lec26-audio

 

 

 

27

Wed

Mar 21

Lecture 27: Introduction to Java Threads

lec27-slides

lec27-audio

 

HW5 (Written Assignment) --- HW5.pdf or HW5.doc

HW4

-

Fri

Mar 23

Midterm Recess

 

 

 

 

 

28

Mon

Mar 26

Lecture 28: Bitonic Sort (guest lecture by Prof. John Mellor-Crummey)

lec28-slides

 

 

 

 

29

Wed

Mar 28

Lecture 29: Java Threads (contd), Java synchronized statement

lec29-slides

lec29-audio

 

 

 

30

Fri

Mar 30

Lecture 30: Java synchronized statement (contd), advanced locking

lec30-slides

lec30-audio

 

 

 

31

Mon

Apr 02

Lecture 31: Java Executors and Synchronizers

lec31-slides

lec31-audio

 

 

 

32

Wed

Apr 04

Lecture 32: Volatile Variables and Java Memory Model

lec32-slides

lec32-audio

 

 

 

33

Fri

Apr 06

Lecture 33: Message Passing Interface (MPI)

lec33-slides

lec33-audio

 

 

HW5

34

Mon

Apr 09

Lecture 34: Message Passing Interface (MPI, contd)

lec34-slides

lec34-audio

 

HW6 (Java Programming Assignment) , hw_6.zip

 

35

Wed

Apr 11

Lecture 35: Cloud Computing, Map Reduce

lec35-slides

lec35-audio

 

 

 

36

Fri

Apr 13

Lecture 36: Map Reduce (contd)

lec36-slides

lec36-audio

 

 

 

37

Mon

Apr 16

Lecture 37: Speculative parallelization of isolated blocks (Guest lecture by Prof. Swarat Chaudhuri)

lec37-slides

 

 

 

 

38

Wed

Apr 18

Lecture 38: Comparison of Parallel Programming Models

lec38-slides

lec38-audio

 

 

 

39

Fri

Apr 20

Lecture 39: Course Review

lec39-slides

lec39-audio

 

Exam 2 (Take-home)

HW6

-

Fri

Apr 27

Exam 2 due

 

 

 

 

Exam 2

...