Versions Compared

Key

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

...

 

Day

Date (2012)

Topic

Slides

Audio (Panopto)

Code Examples

Handouts

Homework Assigned

Homework Due

1

Mon

Jan 9

Lecture 1: The What and Why of Parallel Programming

lec1-slides

 

ArraySum0.hj

 

HW1 (Written Assignment)

 

2

Wed

Jan 11

Lecture 2: Async-Finish Parallel Programming and Computation Graphs

lec2-slides

lec2-audio

PrimeSieve.hj

 

 

 

3

Fri

Jan 13

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

lec3-slides

lec3-audio

ArraySum1.hj

 

HW2 (HJ Programming Assignment)

HW1

-

Mon

Jan 16

School Holiday

 

 

 

 

 

 

4

Wed

Jan 18

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

lec4-slides

lec4-audio

 

 

 

 

5

Fri

Jan 20

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

lec5-slides

lec5-audio

(See Lab 3)

 

 

 

6

Mon

Jan 23

Lecture 6: Memory Models, Atomic Variables

lec6-slides

lec6-audio

(See Lab 3)

 

 

 

7

Wed

Jan 25

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

lec7-slides

lec7-audio

ArraySum2.hj

 

 

 

8

Fri

Jan 27

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

lec8-slides

lec8-audio

binarytrees.hj

 

 

 

9

Mon

Jan 30

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

lec9-slides

lec9-audio

nqueens.hj

 

 

HW2

10

Wed

Feb 01

Lecture 10: Forasync Chunking, Parallel Prefix Sum algorithm

lec10-slides

lec10-audio


 


 

11

Fri

Feb 03

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

lec11-slides

lec11-audio

 

 

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

 

12

Mon

Feb 06

Lecture 12: Finish Accumulators, Forall Loops and Barrier Synchronization

lec12-slides

lec12-audio

 

 

 

 

13

Wed

Feb 08

Lecture 13: Forall Loops and Barrier Synchronization (contd)

lec13-slides

lec13-audio

 

 

 

 

14

Fri

Feb 10

Lecture 14: Point-to-point Synchronization and Phasers

lec14-slides

lec14-audio

 

 

 

 

15

Mon

Feb 13

Lecture 15: Phaser Accumulators, Bounded Phasers

lec15-slides

lec15-audio

 

 

 

 

16

Wed

Feb 15

Lecture 16: Summary of Barriers and Phasers

lec16-slides

lec16-audio

 

 

 

 

17

Fri

Feb 17

Lecture 17: Task Affinity with Places

lec17-slides

lec17-audio

 

 

 

 

18

Mon

Feb 20

Lecture 18: Task Affinity with Places (contd)

lec18-slides

lec18-audio

 

 

 

 

19

Wed

Feb 22

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

Mon

Mar 05

Lecture 20: Critical sections and the Isolated statement

lec20-slides

lec20-audio

 

 

 

 

21

Wed

Mar 07

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

lec21-slides

lec21-audio

 

 

HW4 (HJ Programming Assignment), hw_4.zip

 

22

Fri

Mar 09

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

 

 

 

 

 

27

Wed

Mar 21

Lecture 27: Introduction to Java Threads

 lec27-slides

 

 

 

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

HW4

-

Fri

Mar 23

Midterm Recess

 

 

 

 

 

 

28

Mon

Mar 26

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

 

 

 

 

 

 

29

Wed

Mar 28

Lecture 29: Java Threads (contd), synchronized statement

 

 

 

 

 

 

30

Fri

Mar 30

Lecture 30: Java synchronized statement with wait/notify

 

 

 

 

 

 

31

Mon

Apr 02

Lecture 31: Advanced locking in Java

 

 

 

 

 

 

32

Wed

Apr 04

Lecture 32: Java Executors and Synchronizers

 

 

 

 

 

 

33

Fri

Apr 06

Lecture 33: Volatile Variables and Java Memory Model

 

 

 

 

HW6 (Java Programming Assignment)

HW5

34

Mon

Apr 09

Lecture 34: GPGPU programming with CUDA

 

 

 

 

 

 

35

Wed

Apr 11

Lecture 35: GPGPU programming with CUDA (contd)

 

 

 

 

 

 

36

Fri

Apr 13

Lecture 36: Introduction to MPI

 

 

 

 

 

 

37

Mon

Apr 16

Lecture 37: Introduction to MPI (contd)

 

 

 

 

 

 

38

Wed

Apr 18

Lecture 38: Map reduce

 

 

 

 

 

 

39

Fri

Apr 20

Lecture 39: Course Summary

 

 

 

 

Exam 2 (Take-home)

HW6

-

Fri

Apr 27

Exam 2 due

 

 

 

 

 

Exam 2

...