| Lecture |
Date |
Subject |
|
1 |
1/5 |
Introduction.
|
|
2 |
1/7 |
Introduction to programming with threads.
Download PJ and Program 1 (Program1.tgz) and Hello World (hello.tgz)
|
|
3 |
1/12 |
Embarrassingly parallel applications; parallel for loops;
data sharing; analyzing data dependencies.
Text: Chapters 5 and 7. Re-read chapter 6,pp. §6.3-6.4 (pp. 80-87)
|
|
4 |
1/14 |
Characterizing performance - speedup;
Parallel image processing and generation
Text: Chapters 8 and 11.
|
|
5 |
1/19 |
Revisiting the Java Memory Model; Weak scaling; Cache Interference.
|
|
6 |
1/21 |
Load balancing. Optimizing for Memory locality.
|
|
7 |
1/26 |
Reduction, synchronization in Java
|
|
8 |
1/28 |
Programming with Java Threads
|
|
9 |
2/2 |
More on synchronization. Application Study: Protein sequence querying
|
|
10 |
2/2 |
OpenMP; Image segementation
|
|
11 |
2/9 |
Midterm review. |
| 12 |
2/11 |
Midterm. |
|
13 |
2/16 |
Message passing: programming and performance
Text. Chapter 19 (all), Chapter 20 (In section 20.3 read about
broadcast and reduce only).
|
|
14 |
2/18 |
MPI, the Message Passing
Interface
|
|
15 |
2/23 |
Message passing application design
|
|
16 |
2/25 |
Collectives and their
applications, advanced message
passing techniques
|
|
17 |
3/2 |
Data
Decomposition and Irregular Problems
|
|
18 |
3/4 |
Bitonic sort; Graphical
Processing Units
|
|
19 |
3/8 |
GPU Applications and Performance
Programming
Scalable Parallel Programming with CUDA, J. Nickolls et al.,
ACM Queue, 6(2):40-53, March/April 2008. (Read about parallel
reduction)
|
|
20 |
3/11 |
Final Exam review.
|
| - |
3/16 |
Final Exam, 3pm to 6pm |