Versions Compared

Key

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

...

 

Day

Date (2011)

Topic

Handouts

Slides

Homework Assigned

Homework Due

1

Mon

Jan 10

Lecture 1: The What and Why of Parallel Programming

lec1-handout

lec1-slides

HW1 (Written Assignment)

 

2

Wed

Jan 12

Lecture 2: Task Creation & Termination using Async & Finish

lec2-handout

lec2-slides

 

 

3

Fri

Jan 14

Lecture 3: Computation Graphs, Abstract Performance Metrics

lec3-handout
(rev 1/14/2011)

lec3-slides

HW2 (Written Assignment)

HW1

-

Mon

Jan 17

School Holiday

 

 

 

 

4

Wed

Jan 19

Lecture 4: Futures --- Tasks with Return Values

lec4-handout

lec4-slides

 

 

5

Fri

Jan 21

Lecture 5: Parallel Array Sum and Array Reductions

lec5-handout

lec5-slides

 

HW2

6

Mon

Jan 24

Lecture 6: Data Races and How to Avoid Them

lec6-handout

lec6-slides

HW3 (Programming Assignment)

 

7

Wed

Jan 26

Lecture 7: Parallel Prefix Sum, Forall parallel loops

lec7-handout

lec7-slides

 

 

8

Fri

Jan 28

Lecture 8: Parallel Quicksort

lec8-handout
(rev 1/28/2011)

lec8-slides

 

 

9

Mon

Jan 31

Lecture 9: PRAM model, Amdahl's Law

lec9-handout

lec9-slides

 

 

10

Wed

Feb 02

Lecture 10: Critical sections and the Isolated statement

lec10-handout
(rev 2/3/2011)

lec10-slides

 

 

-

Fri

Feb 04

No Lecture, School closed due to inclement weather

 

 

 

 

11

Mon

Feb 07

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

lec11-handout

lec11-slides

 

HW3

12

Wed

Feb 09

Lecture 12: Barrier Synchronization in Forall Loops

lec12and13-handout

lec12-slides

HW4 (Written Assignment)

 

13

Fri

Feb 11

Lecture 13: Barrier  Barrier Synchronization in Forall Loops (contd)

[lec12and13-handouthttps://svn.rice.edu/r/comp322/course/comp322-s11-lec12and13.

lec12-slides

 

 

14

Mon

Feb 14

pdf]
| | | ||
|| 14 | Mon | Feb 14 | Lecture 14: Point-to-point Synchronization and Phasers

 

 

 

 

15

Wed

Feb 16

| | | | ||
|| 15 | Wed | Feb 16 | Lecture 15: Point-to-point Synchronization and Phasers (contd)

 

 

 

| | | | HW4 ||
|| 16 | Fri |

16

Fri

Feb 18

| Lecture 16: Guest Lecture (John Mellor-Crummey) | | | | ||
|| 17 | Mon | Feb 21 |

 

 

 

 

17

Mon

Feb 21

Lecture 17: Isolated statement vs Java Atomic Variables | | | | ||
|| 18 | Wed | Feb 23 |

 

 

 

 

18

Wed

Feb 23

Lecture 18: Midterm Summary

 

 

| | | Midterm Exam (Take-home) | ||
|| - | Fri | Feb 25 |

 

Fri

Feb 25

No lecture, Midterm Exam due today | | |

 

 

HW5 (Written Assignment)

| Midterm Exam (Take-home) || || - |

M-F

| Feb 28 - Mar 04 |

Spring Break

 

 

 

 

19

Mon

Mar 07

| | | | ||
|| 19 | Mon | Mar 07 | Lecture 19: Map Reduce | | | | ||
|

 

 

 

 

20

Wed

Mar 09

| 20 | Wed | Mar 09 | Lecture 20: Generalized Scan | | | | ||
|| 21 | Fri | Mar 11 |

 

 

 

 

21

Fri

Mar 11

Lecture 21: Task Affinity with Places | | |

 

 

HW6 (Programming Assignment) |

HW5 || ||

22

| Mon

| Mar 14

| Lecture 22: Task Affinity with Places, contd. | | | | ||
|| 23 | Wed | Mar 16 |

 

 

 

 

23

Wed

Mar 16

Lecture 23: Bounded Buffers

 

 

 

 

24

Fri

Mar 18

| | | | ||
|| 24 | Fri | Mar 18 | Lecture 24: Java Concurrent Collections | | | | ||

 

 

 

 

25

Mon

Mar 21

|| 25 | Mon | Mar 21 | Lecture 25: Data Flow Programming | | | | ||
|| 26 | Wed | Mar

 

 

 

 

26

Wed

Mar 23

23 | Lecture 26: Data Flow Programming, contd
| | | | ||
|| - | Fri | Mar 25 | Midterm Recess

 

 

 

 

Fri

Mar 25

Midterm Recess

 

 

 

 

27

Mon

Mar 28

| | | | ||
|| 27 | Mon | Mar 28 | Lecture 27: Java Threads and synchronized statement | | | | |

 

 

 

 

28

Wed

Mar 30

|
|| 28 | Wed | Mar 30 | Lecture 28: GUI Applications
| | | | ||
|| 29 | Fri

 

 

 

 

29

Fri

Apr 01

| Apr 01 | Lecture 29: Java Executors
| | |

 

 

HW7 (Programming Assignment) |

HW6 || ||

30

| Mon

| Apr 04

| Lecture 30: Java Locks & Conditions
| | | | ||
|| 31 | Wed | Apr 06 |

 

 

 

 

31

Wed

Apr 06

Lecture 31: Java Synchronizers

 

 

 

 

32

Fri

Apr 08


| | | | ||
|| 32 | Fri | Apr 08 | Lecture 32: Deadlock, Livelock, Liveness | | | |

 

 

 

 

33

Mon

Apr 11

||
|| 33 | Mon | Apr 11 | Lecture 33: Java Memory Model and Volatile Variables
| | | | ||

 

 

 

 

34

Wed

Apr 13

|| 34 | Wed | Apr 13 | Lecture 34: GPGPU programming with CUDA | | | | ||
|| 35 | Fri |

 

 

 

 

35

Fri

Apr 15

Apr 15 | Lecture 35: CUDA contd.

 

 

 

 

36

Mon

Apr 18

| | | | ||
|| 36 | Mon | Apr 18 | Lecture 36: Distributed-memory programming with MPI | | | |

 

 

 

 

37

Wed

Apr 20

||
|| 37 | Wed | Apr 20 | Lecture 37: MPI contd. | | | | ||
|| 38 |

 

 

 

 

38

Fri

Apr 22

Fri | Apr 22 | Lecture 38: Course Summary | | |

 

 

Final Exam (Take-home) |

HW7 || || - |

Fri

| Apr 29

 

 

 

 

| | | | | Final Exam (Take-home) || h2.

Lab Schedule ||

Lab #

Date (2011)

Topic

Handouts

1

Jan 11, 12

Infrastructure setup

lab1-handout

2

Jan 18, 19

Abstract performance metrics with async & finish

lab2-handout

3

Jan 25, 26

Data race detection

lab3-handout

4

Feb 01, 02

Points, regions, forall loops

lab4-handout

5

Feb 08, 09

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

lab5-handout

6

Feb 15, 16

Phasers

 

-

Feb 22, 23

No lab (midterm week)

 

7

Mar 08, 09

Map Reduce & Generalized Scan

 

8

Mar 15, 16

Places

 

9

Mar 22, 23

Data Flow Programming with CnC-HJ

 

10

Apr 05, 06

Java Concurrency

 

11

Apr 12, 13

CUDA

 

12

Apr 19, 20

MPI

 

...