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 (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 Driven Tasks

 

 

 

 

 

 

9

Mon

Jan 30

Lecture 9: Parallel Prefix Sum, Forall parallel loops

 

 

 

 

HW3

HW2

10

Wed

Feb 01

Lecture 10: Critical sections and the Isolated statement

 

 

 

 

 

 

11

Fri

Feb 03

Lecture 11: Abstract vs Real Performance, Work-sharing & Work-stealing schedulers

 

 

 

 

 

 

12

Mon

Feb 06

Lecture 12: Barrier Synchronization in Forall Loops

 

 

 

 

 

 

13

Wed

Feb 08

Lecture 13: Barrier Synchronization in Forall Loops (contd)

 

 

 

 

HW4  

HW3  

14

Fri

Feb 10

Lecture 14: Point-to-point Synchronization and Phasers

 

 

 

 

 

 

15

Mon

Feb 13

Lecture 15: Point-to-point Synchronization and Phasers (contd)

 

 

 

 

 

 

16

Wed

Feb 15

Lecture 16: Advanced Phaser topics

 

 

 

 

 

 

17

Fri

Feb 17

Lecture 17: Parallel Sorting Algorithms

 

 

 

 

 

 

18

Mon

Feb 20

Lecture 18: Parallel Sorting Algorithms (contd)

 

 

 

 

  

HW3

19

Wed

Feb 22

Lecture 19: Midterm Summary

 

 

 

 

 

HW4  

-

Fri

Feb 24

Exam 1 (in class)

 

 

 

 

 

 

-

M-F

Feb 27 - Mar 02

Spring Break

 

 

 

 

 

 

20

Mon

Mar 05

Lecture 20: Java Atomic Variables

 

 

 

 

HW5 HW4

 

21

Wed

Mar 07

Lecture 21: Java Concurrent Collections

 

 

 

 

 

 

22

Fri

Mar 09

Lecture 22: Linearizability of Concurrent Objects

 

 

 

 

 

 

23

Mon

Mar 12

Lecture 23: Task Affinity with Places

 

 

 

 

 

 

24

Wed

Mar 14

Lecture 24: Task Affinity with Places, contd.

 

 

 

 

 

 

25

Fri

Mar 16

Lecture 25: Map Reduce

 

 

 

 

 

 

26

Mon

Mar 19

Lecture 26: Map Reduce, contd.

 

 

 

 

 

HW5 HW4

27

Wed

Mar 21

Lecture 27: Dataflow Programming with Intel Concurrent Collections

 

 

 

 

HW6 HW5

 

-

Fri

Mar 23

Midterm Recess

 

 

 

 

 

 

28

Mon

Mar 26

Lecture 28: Java Threads

 

 

 

 

 

 

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

 

 

 

 

 

HW6 HW5

33

Fri

Apr 06

Lecture 33: Volatile Variables and Java Memory Model

 

 

 

 

HW7 HW6

 

34

Mon

Apr 09

Lecture 34: GPGPU programming with CUDA

 

 

 

 

 

 

35

Wed

Apr 11

Lecture 35: CUDA contd.

 

 

 

 

 

 

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)

HW7 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

Points, regions, forall loops

 

 

 

5

Feb 07, 08, 09

Abstract vs Real Performance, Work-sharing & Work-stealing schedulers

 

 

 

6

Feb 14, 15, 16

Barriers and Phasers

 

 

 

-

Feb 21, 22, 23

No lab (midterm week)

 

 

 

7

Mar 06, 07, 08

Atomic Variables

 

 

 

8

Mar 13, 14, 15

Places

 

 

 

9

Mar 20, 21, 22

Data Driven Tasks

 

 

 

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

 

 

 

...