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

 

 

 

 

 

 

24

Wed

Mar 14

Lecture 24: Linearizability of Concurrent Objects (contd)

 

 

 

 

 

 

25

Fri

Mar 16

Lecture 25: Safety and Liveness Properties

 

 

 

 

 

 

26

Mon

Mar 19

Lecture 26: Map Reduce

 

 

 

 

 

 

27

Wed

Mar 21

Lecture 27: Map Reduce (contd)

 

 

 

 

HW5 (Written Assignment)

HW4

-

Fri

Mar 23

Midterm Recess

 

 

 

 

 

 

28

Mon

Mar 26

Lecture 28: Parallel Bitonic Sort

 

 

 

 

 

 

29

Wed

Mar 28

Lecture 29: Java Threads, 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: CUDA

 

 

 

 

 

 

36

Fri

Apr 13

Lecture 36: Liveness and Progress Guarantees

 

 

 

 

 

 

37

Mon

Apr 16

Lecture 37: Introduction to MPI

 

 

 

 

 

 

38

Wed

Apr 18

Lecture 38: Introduction to MPI (contd)

 

 

 

 

 

 

39

Fri

Apr 20

Lecture 39: Course Summary

 

 

 

 

Exam 2 (Take-home)

HW6

-

Fri

Apr 27

Exam 2 due

 

 

 

 

 

Exam 2

...

Lab #

Date (2011)

Topic

Handouts

Code Examples

Solutions

1

Jan 10, 11, 12

DrHJ setup, Async-Finish Parallel Programming

lab1-handout

HelloWorld.hjReciprocalArraySum.hjPrimeSieve.hj

TwoWayParallelPrimeSieve.hj

2

Jan 17, 18, 19

Abstract performance metrics with async & finish

lab2-handout

Search.hj

 

3

Jan 23, 25, 26

Data race detection and repair

lab3-handout

RacyArraySum1.hjRacyFib.hjRacyNQueens.hjRacyFannkuch.hj

 

4

Jan 30 Feb 01, 02

Real performance, work-sharing and work-stealing runtimes, futures

lab4-handout

nqueens.hjArraySum2.hj

 

5

Feb 07, 08, 09

Data-driven futures

lab5-handout

MatrixEval.hj, test0.txt, test.txtDDFEx.hj

MatrixEvalDDF.hj

6

Feb 14, 15, 16

Barriers and Phasers

lab6-handout

OneDimAveraging.hj

OneDimAveragingSoln.hj

-

Feb 21, 22, 23

No lab (Exam 1 week)

 

 

 

7

Mar 06, 07, 08

Atomic Variables and Isolated Statement

lab7-handout

spanning_tree_isolated.hjSortedListExampleGbl.hj

 

8

Mar 13, 14, 15

Actors

  

HJ Actor Examples

 

9

Mar 20, 21, 22

Map Reduce

 

 

 

10

Mar 27, 28, 29

Java Concurrency I

 

 

 

11

Apr 03, 04, 05

Java Concurrency II

 

 

 

12

Apr 10, 11, 12

CUDA

 

 

 

13

Apr 17, 18, 19

MPI

 

 

 

...