Versions Compared

Key

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

...

Week

Day

Date (2015)

Topic

Reading

Videos

In-class Worksheets

Slides

Code Examples

Work Assigned

Work Due

1

Mon

Jan 1312

Lecture 1: The What and Why of Parallel Programming, Task Creation and Termination (Async, Finish)

Module 1: Sections 0.1, 0.2, 1.1

Topic 1.1 Lecture, Topic 1.1 Demonstration

worksheet1lec1-slides

Demo File: ReciprocalArraySum.java

Topic 1.1 Lecture Quiz,  Topic 1.1 Demo Quiz

 

 

Wed

Jan 1514

Lecture 2:  Computation Graphs, Ideal Parallelism

Module 1: Sections 1.2, 1.3Topic 1.2 Lecture, Topic 1.2 Demonstration, Topic 1.3 Lecture, Topic 1.3 Demonstrationworksheet2lec2-slidesDemo File: Search.java

Topic 1.2 Lecture Quiz , Topic 1.2 Demo Quiz , Topic 1.3 Lecture Quiz , Topic 1.3 Demo Quiz

 

 

Fri

Jan 1716

Lecture 3: , Abstract Performance Metrics, Multiprocessor Scheduling

Module 1: Section 1.4Topic 1.4 Lecture, Topic 1.4 Demonstrationworksheet3lec3-slides

Worksheet File: Search.java

Homework 1 Files: QuicksortUtil.java , QuicksortSeq.java , QuicksortPar.java

Homework 1, Topic 1.4 Lecture Quiz , Topic 1.4 Demo Quiz, Topic 1.6 Lecture Quiz , Topic 1.6 Demo Quiz

2

Mon

Jan 2019

No lecture, School Holiday (Martin Luther King, Jr. Day)

       

 

Wed

Jan 2221

Lecture 4:   Parallel Speedup and Amdahl's Law

Module 1: Section 1.5Topic 1.5 Lecture, Topic 1.5 Demonstrationworksheet4lec4-slidesDemo File: VectorAdd.javaTopic 1.5 Lecture Quiz , Topic 1.5 Demo Quiz 

 

Fri

Jan 2423

No lecture (inclement weather)

      All 12 lecture & demo quizzes in Unit 1 are due by 5pm CST today

3

Mon

Jan 2726

Lecture 5: Future Tasks, Functional Parallelism

Module 1: Section 2.1Topic 2.1 Lecture , Topic 2.1 Demonstrationworksheet5lec5-slidesDemo File(s): ReciprocalArraySumFutures.java, BinaryTreesSeq.java, BinaryTrees.java  

 

Wed

Jan 2928

Lecture 6: Finish Accumulators

Module 1: Section 2.3Topic 2.3 Lecture , Topic 2.3 Demonstration  worksheet6lec6-slides

Demo File: Nqueens.java

Worksheet5.java, nqueens.java

 

 

 

Fri

Jan 3130

Lecture 7: Data Races, Functional & Structural Determinism

Module 1: Sections 2.5, 2.6Topic 2.5 Lecture , Topic 2.5 Demonstration, Topic 2.6 Lecture , Topic 2.6 Demonstration   lec7-slidesDemo File: ReciprocalArraySum.java Homework 1

4

Mon

Feb 0302

Lecture 8: Map Reduce

Module 1: Section 2.4Topic 2.4 Lecture , Topic 2.4 Demonstration  worksheet8lec8-slides

Demo File(s): WordCount.java, words.txt

Worksheet Files: WordCount.java , words.txt

Homework 2 Files: GeneralizedReduce.java, GeneralizedReduceApp.java, SumReduction.java, TestSumReduction.java

Homework 2 

 

Wed

Feb 0504

Lecture 9: Memoization

Module 1: Section 2.2Topic 2.2 Lecture , Topic 2.2 Demonstrationworksheet9lec9-slides

Demo File: PascalsTriangleWithFuture.java

Worksheet File: PascalsTriangleMemoized.java

Worksheet Solution: PascalsTriangleMemoizedSolution.java

  

 

Fri

Feb 0706

Lecture 10: Abstract vs. Real Performance

  worksheet10lec10-slides   

5

Mon

Feb 1009

Lecture 11: Loop-Level Parallelism, Parallel Matrix Multiplication

 Topic 3.1 Lecture, Topic 3.1 Demonstration, Topic 3.2 Lecture , Topic 3.2 Demonstration  worksheet11lec11-slidesDemo File: ForallWithIterable.java, VectorAddForall.java, MatrixMultiplicationMetrics.java  

 

Wed

Feb 1211

Lecture 12: Iteration Grouping (Chunking), Barrier Synchronization

 Topic 3.3 Lecture , Topic 3.3 Demonstration , Topic 3.4 Lecture , Topic 3.4 Demonstration  worksheet12lec12-slidesDemo File: MatrixMultiplicationPerformance.java, BarrierInForall.java  

 

Fri

Feb 1413

Lecture 13: Iterative Averaging Revisited

 Topic 3.5 Lecture , Topic 3.5 Demonstration , Topic 3.6 Lecture , Topic 3.6 Demonstration  worksheet13lec13-slides

Demo File: OneDimAveragingGrouped.java, OneDimAveragingBarrier.java

Worksheet File: OneDimAveragingBarrier.java

 

 

6

Mon

Feb 1716

Lecture 14: Data-Driven Tasks and Data-Driven Futures

 Topic 4.5 Lecture , Topic 4.5 Demonstrationworksheet14lec14-slidesDemo File: DataDrivenFutures4.java Homework 2

 

Wed

Feb 1918

Lecture 15: Review of Module-1 HJ-lib API's

  worksheet15lec15-slidesHomework 3 Files: SeqScoring.java Homework 3 

 

Fri

Feb 2120

Lecture 16: Point-to-point Synchronization with Phasers

 Topic 4.2 Lecture , Topic 4.2 Demonstrationworksheet16lec16-slidesDemo File: Phaser3Asyncs.java  

7

Mon

Feb 2423

Lecture 17: Phasers (contd), Signal Statement, Fuzzy Barriers

 Topic 4.1 Lecture , Topic 4.1 Demonstrationworksheet17lec17-slidesDemo File: PhaserSignal.java  

 

Wed

Feb 2625

Lecture 18: Midterm Summary, Take-home Exam 1 distributed

   lec18-slides Exam 1 

 

F

Feb 2827

No Lecture (Exam 1 due by 4pm today)

      Exam 1

-

M-F

Feb 28- Mar 0908

Spring Break

 

 

  

 

 

 

8

Mon

Mar 1009

Lecture 19: Critical sections, Isolated construct, Parallel Spanning Tree algorithm

 Topic 5.1 Lecture, Topic 5.1 Demonstration, Topic 5.2 Lecture, Topic 5.2 Demonstration, Topic 5.3 Lecture, Topic 5.3 Demonstrationworksheet19lec19-slides  

 

 

Wed

Mar 1211

Lecture 20: Speculative parallelization of isolated constructs (Guest lecture by Prof. Swarat Chaudhuri)

  worksheet20lec20-slides  

Homework 3

 

Fri

Mar 1413

Lecture 21: Read-Write Isolation, Atomic variables

 Topic 5.4 Lecture , Topic 5.4 Demonstration , Topic 5.5 Lecture, Topic 5.5 Demonstration, Topic 5.6 Lecture, Topic 5.6 Demonstrationworksheet21lec21-slides  

 

9

Mon

Mar 1716

Lecture 22: Actors

 Topic 6.1 Lecture, Topic 6.1 Demonstration, Topic 6.2 Lecture, Topic 6.2 Demonstration, Topic 6.3 Lecture, Topic 6.3 Demonstrationworksheet22lec22-slides

Homework 4 Files: hw4_files.zip  

Homework 4

 

 

Wed

Mar 1918

Lecture 23: Actors (contd)

 Topic 6.4 Lecture , Topic 6.4 Demonstration , Topic 6.5 Lecture, Topic 6.5 Demonstration, Topic 6.6 Lecture, Topic 6.6 Demonstrationworksheet23lec23-slides 

 

 

 

Fri

Mar 2120

Lecture 24: Monitors, Java Concurrent Collections, Linearizability of Concurrent Objects

 Topic 7.4 Lectureworksheet24lec24-slides

 

 

 

10

Mon

Mar 2423

Lecture 25: Linearizability (contd), Intro to Java Threads

 Topic 7.1 Lectureworksheet25lec25-slides

 

 

 

 

Wed

Mar 2625

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

 Topic 7.2 Lectureworksheet26lec26-slides  

 

 

Fri

Mar 2827

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

 Topic 7.3 Lectureworksheet27lec27-slides

 

 

 

11

Mon

Mar 3130

Lecture 28: Safety and Liveness Properties

 Topic 7.5 Lectureworksheet28lec28-slides

 

 

 

 

Wed

Apr 0201

Lecture 29: Dining Philosophers Problem

 Topic 7.6 Lectureworksheet29lec29-slides

 

 

Homework 4 (due by 11:55pm on April 2nd)

-

Fri

Apr 0403

Midterm Recess

       

12

Mon

Apr 0706

Lecture 30: Message Passing Interface (MPI)

  worksheet30lec30-slidesHomework 5 files: hw5_files.zipHomework 5

 

 

Wed

Apr 0908

Lecture 31: Partitioned Global Address Space (PGAS) languages (Guest lecture by Prof. John Mellor-Crummey)

  worksheet31lec31-slides

 

 

 

 

Fri

Apr 11 10

Lecture 32: Message Passing Interface (MPI, contd)

  worksheet32lec32-slides

 

 

 

13

Mon

Apr 1413

Lecture 33: Task Affinity with Places

  worksheet33lec33-slides  

 

 

Wed

Apr 1615

Lecture 34: GPU Computing

  worksheet34lec34-slides

 

 

 

 

Fri

Apr 1817

Lecture 35: Memory Consistency Models

  worksheet35

lec35-slides

Homework 6 (written only)

 

14

Mon

Apr 2120

Lecture 36: Comparison of Parallel Programming Models

  worksheet36lec36-slides 

 

Homework 5 (due by 11:55pm on Monday, April 21st)

 

Wed

Apr 2322

NO CLASS (time allocated to work on homeworks)

    

 

 

 

 

Fri

Apr 2524

Lecture 37: Course Review (lectures 19-35), Take-home Exam 2 distributed, Last day of classes

   lec37-slides Exam 2Homework 6 (due by 11:55pm on April 25th, penalty-free extension till May 2nd)

-

Fri

May 0201

Exam 2 due by 4pm today

 

 

  

 

 

Exam 2

...