Versions Compared

Key

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

...

13

 

Day

Date (2012)

Topic

Slides

Audio (Panopto)

Code Examples

Assignment

   Module 1: Deterministic Shared-Memory Parallelism    

1

Wed

Sep 05

Lecture 1: Introduction, Async-Finish Parallel Programming, Computation Graphs, Abstract Performance Metrics, Amdahl's Law

 

 

 

HW1 (due by 11:59pm on Sep 11th)

2

Mon

Sep 10

Lecture 2: Data Races and Determinism, Finish Accumulators, Futures (Tasks with Return Values), Dataflow Programming, Data-Driven Tasks

 

 

 

 

3

Wed

Sep 12

Lecture 3: Abstract vs. Real Performance, Seq clause, Forasync Loops, Loop Chunking, Forall Loops and Barrier Synchronization

 

 

 

HW2 (due by 11:59pm on Sep 18th)

4

Mon

Sep 17

Lecture 4: Parallel Prefix Sum algorithm, Parallel QuickSort, Point-to-point Synchronization, Phasers

 

 

 

 

5

Wed

Sep 19

Lecture 5: Parallel MergeSort, Parallel BitonicSort

lec4-slides

lec4-audio

 

HW3 (due by 11:59pm on Sep 25th)

6

Mon

Sep 24

Lecture 6: Point-to-point Synchronization and Phasers, Phaser Accumulators, Bounded Phasers, Memory Consistency Models, Summary of Deterministic Shared-Memory Parallelism

lec5-slides

lec5-audio

 

 

   Module 2: Nondeterministic Shared-Memory Parallelism    

7

Wed

Sep 26

Lecture 7: Actors

lec6-slides

lec6-audio

 

HW4 (due by 11:59pm on Oct 2nd)

8

Mon

Oct 01

Lecture 8: Systolic arrays, systolic algorithmsSystolic algorithms (*Module 3 topic)

lec7-slides

lec7-audio

 

 

9

Wed

Oct 03

Lecture 9: Critical sections and the Isolated statement, Monitors, Atomic Variables, Linearizability of Concurrent Objects

lec8-slides

lec8-audio

 

HW5 (due by 11:59pm on Oct 9th)

10

Mon

Oct 08

Lecture 10: Linearizability of Concurrent Objects (contd), Safety and Liveness Properties

lec9-slides

lec9-audio

 

 

   Module 3: Distributed-Memory Parallelism    

11

Wed

Oct 10

Lecture 11: Task Affinity with Places, Message Passing Interface (MPI)

lec10-slides

lec10-audio

 

HW6 (due by 11:59pm on Oct 16h)

12

Mon

Oct 15

Lecture 12: Memory Models,  Cloud Computing, MapReduce, GPU Programming

lec11-slides

lec11-audio

 

 

Wed

Oct 17

Lecture 12:

lec12-slides

lec12-audio

 

Take-home Final Exam (3-hour duration, due by 5pm on Oct 19th)

14

Mon

Oct 22

Lecture 13:

lec13-slides

lec13-audio

 

 

15

Wed

Oct 24

Lecture 14: 

lec14-slides

lec14-audio

 

 

16

Mon

Oct 29

Lecture 15: 

lec15-slides

lec15-audio

 

 

17

Wed

Oct 31

Lecture 16:

lec16-slides

lec16-audio

 

 

18

Mon

Nov 05

Lecture 17:

lec17-slides

lec17-audio

 

 

19

Wed

Nov 07

Lecture 18: Task Affinity with Places (contd)

lec18-slides

lec18-audio

 

 

20

Mon

Nov 12

Lecture 19: Midterm Summary

lec19-slides

 

 

 

21

Wed

Nov 14

Lecture 20:

lec20-slides

lec20-audio

 

 

22

Mon

Nov 19

Lecture 21:

lec21-slides

lec21-audio

 

HW4 (HJ Programming Assignment), hw_4.zip

23

Wed

Nov 21

Lecture 22:

lec22-slides

lec22-audio

HJ Actor Examples

 

24

Mon

Nov 26

Lecture 23: 

lec23-slides

lec23-audio

 

 

25

Wed

Nov 28

Lecture 24: 

lec24-slides

lec24-audio

 

 

26

Mon

Mar 16

Lecture 25:

lec25-slides

lec25-audio

 

 

27

Wed

Mar 19

Lecture 26: Parallel Programming Patterns

lec26-slides

lec26-audio

 

 

28

Mon

Mar 21

Lecture 27: Introduction to Java Threads

lec27-slides

lec27-audio

 

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

29

Wed

Mar 26

Lecture 28:

lec28-slides

 

 

 

30

Mon

Mar 28

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

lec29-slides

lec29-audio

 

 

31

Wed

Mar 30

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

lec30-slides

lec30-audio

 

 

32

Mon

Apr 02

Lecture 31: Java Executors and Synchronizers

lec31-slides

lec31-audio

 

 

33

Wed

Apr 04

Lecture 32: Volatile Variables and Java Memory Model

lec32-slides

lec32-audio

 

 

34

Mon

Apr 06

Lecture 33: 

lec33-slides

lec33-audio

 

 

35

Wed

Apr 09

Lecture 34: Message Passing Interface (MPI, contd)

lec34-slides

lec34-audio

 

HW6 (Java Programming Assignment) , hw_6.zip

36

Mon

Apr 11

Lecture 35: Cloud Computing, Map Reduce

lec35-slides

lec35-audio

 

 

37

Wed

Apr 13

Lecture 36: Map Reduce (contd)

lec36-slides

lec36-audio

 

 

38

Mon

Apr 16

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

lec37-slides

 

 

 

39

Wed

Apr 18

Lecture 38: Comparison of Parallel Programming Models

lec38-slides

lec38-audio

 

 

  Module 4: Real-world Parallel Programming Models and Challenges    

13

Wed

Oct 17

Lecture 13: Real-World Parallel Programming Models, Course Review

lec12-slides

lec12-audio

 

Take-home Final Exam (3-hour duration, due by 5pm on Oct 19th

40

Mon

Apr 20

Lecture 39: Course Review

lec39-slides

lec39-audio

 

Exam 2 (Take-home)

Lab Schedule

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

spanning_tree_atomic.hjspanning_tree_isolated_object.hjSortedListExampleObj.hj

8

Mar 13, 14, 15

Actors

lab8-handout

HJ Actor Examples

solutions.zip

-

Mar 20, 21, 22

No lab (HW4 deadline, midterm recess)

 

 

 

9

Mar 27, 28, 29

Java Threads

lab9-handout

nqueens.hj spanning_tree_atomic.hj

nqueens.java spanning_tree_atomic.java

10

Apr 03, 04, 05

Java Locks

lab10-handout

lab10.zip

 

11

Apr 10, 11, 12

Message Passing Interface (MPI)

lab11-handout

lab11.zip

MatrixMult-solution.java

12

Apr 17, 18, 19

Map Reduce

lab12-handout

WordCount.hj  MapReduce.hjwords.txt Index.hj

 

...