Versions Compared

Key

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

...

 

Day

Date (2012)

Topic

Handouts

Slides

Homework Assigned

Homework Due

1

Mon

Jan 9

Lecture 1: The What and Why of Parallel Programming

 

 

HW1 (Written Assignment)

 

2

Wed

Jan 11

Lecture 2: Task Creation & Termination using Async & Finish

 

 

 

 

3

Fri

Jan 13

Lecture 3: Computation Graphs, Abstract Performance Metrics

 


HW2

HW1

-

Mon

Jan 16

School Holiday

 

 

 

 

4

Wed

Jan 18

Lecture 4: Futures --- Tasks with Return Values



 

 

5

Fri

Jan 20

Lecture 5: Parallel Array Sum and Array Reductions



 

HW2

6

Mon

Jan 23

Lecture 6: Data Races and How to Avoid Them



HW3

 

7

Wed

Jan 25

Lecture 7: Parallel Prefix Sum, Forall parallel loops

 


 

 

8

Fri

Jan 27

Lecture 8: Parallel Quicksort

 


 

 

9

Mon

Jan 30

Lecture 9: PRAM model, Amdahl's Law

 

 

 

 

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


 

 

HW3

13

Wed

Feb 08

Lecture 13: Barrier Synchronization in Forall Loops (contd)

 


HW4

 

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

 

 

 

HW4 

17

Fri

Feb 17

Lecture 17: Dataflow Programming and Data-Driven Futures

 

 

  

HW4

18

Mon

Feb 20

Lecture 18: Dataflow Programming and Data-Driven Futures, contd.


 

 

 

19

Wed

Feb 22

Lecture 19: Midterm Summary

 

 

 

 

-

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

 

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

27

Wed

Mar 21

Lecture 27: Dataflow Programming with Intel Concurrent Collections

 

 

HW6 HW6

 

-

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

33

Fri

Apr 06

Lecture 33: Volatile Variables and Java Memory Model

 

 

HW7

 

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

-

Fri

Apr 27

Exam 2 due

 

 

 

Exam 2

...

You will be expected to follow the Honor Code in all homeworks and exams.  All submitted homeworks are expected to be the result of your individual effort. You are free to discuss course material and approaches to problems with your other classmates, the teaching assistants and the professor, but you should never misrepresent someone else’s work as your own. If you use any material from external sources, you must provide proper attribution .  Take-home exams([as shown here|http://www.dartmouth.edu/~writing/sources/]).  Exams 1 and 2, which are pledged under the Honor Code, test your individual understanding and knowledge of the material. Collaboration on exams is strictly forbidden.  Finally, it is also your responsibility to protect your homeworks and exams from unauthorized access. The work you submit for this class is expected to be the result of your own work and that of your homework partner. You are free to discuss course material and approaches to problems with your other classmates, the teaching assistants and the professor, but you should never misrepresent someone else’s work as your own. If you use any material from online sources, you must provide proper attribution (as shown here) in your homework/programming assignment turnins. A tutorial on how and when to cite sources is here. You should explain what value you have added to work taken from online sources. Finally, it is also your responsibility to protect your work from unauthorized access. I will expect you to follow the Honor Code in this course.

Graded homeworks will be returned to you via email, and exams as marked-up hardcopies. If you believe we have made an error in grading your homework or exam, please bring the matter to our attention within one week.

Past Offerings of COMP 322

...