CSE 160 Schedule
This schedule is subject to change, so check frequently
References to Pacheco refer to
An Introduction to Parallel Programming,
by Peter Pacheco, Morgan Kaufmann, 2011.
1/7/13 (Mon) Introduction
1/9/13 (Weds)
Address space organization,
shared memory hierarchies, threads programming model
- Lecture slides
posted
- Today's reading:
- Pacheco: Chapter 2: pp. 15-25, 29-34
-
For background reading on memory hierarchies, including virtual memory, see
one of
|
1/11/13 (Fri)
A first application;
characterizing and measuring performance
1/14/13 (Mon)
Workload Distribution; Cache Coherence and Consistency
1/16/13 (Weds)
Synchronization; thread safety
- Lecture slides
posted
- Today's reading:
-
Pacheco. pp. 49-53, 162-171, 176-181, 195-200.
|
1/18/13 (Fri)
Image smoothing application; Synchronization
1/21/13 (Mon)
MLK Day: no class.
1/23/13 (Wed)
C++11 Threading; Memory model
- Lecture slides
posted
- Today's reading
-
C++11 multithreading tutorial, parts 1 and 2.
-
Synchronization and the Java Memory Model,
(Book supplement to
Concurrent Programming in Java: Design Principles and Patterns,
by Doug Lea,
2nd ed., Addison-Wesley, Nov. 1999, previously handed out in class)
-
C++ Concurrency in Action,
by Anthony Williams, Chapter 2, §2.1.1, 2.2, 2.4-2.6.
- To explore further (optional)
|
1/25/13 (Fri)
OpenMP
- Lecture slides
posted
- Today's reading:
- Pacheco, Chapter 5: pp. 209-225 (through The parallel for Directive)
- To probe further (optional)
|
1/28/13 (Mon)
Load balancing; Parallel Sorting
- Lecture slides
updated
- Today's reading:
- Pacheco, Chapter 5: pp. 225-241, 259-262
|
1/30/13 (Wed)
Instruction level parallelism (ILP), vectorization, SSE, vector instructions.
2/1/13 (Fri)
Floating point arithmetic
- Lecture slides
posted
- Quiz #2
- Today's reading:
- To read further about IEEE Floating Point Arithmetic
|
2/4/13 (Mon)
Application Study: Protein sequence querying
- Lecture slides
posted
- Today's reading:
-
Reader from
Building Parallel Programs: SMPs, Clusters, and Java,
by Alan Kaminsky, Cengage Course Technology, 2010.
(Handed out in class, also available outside my office door)
-
Worked example (uses DNA rather than amino acids)
- To explore further
|
2/6/13 (Wed)
Sorting
2/8/13 (Fri)
Sorting (continued), accelerated particle methods
2/11/13 (Mon)
The CilK parallel programming language.
Wednesday, 2/13.
Midterm review
Friday, 2/15.
Midterm
|
The midterm will be held in
CENTR 222 rather than in our
regularly scheduled room.
|
2/18/13 (Mon)
No class. President's day.
Wednesday, 2/20
Introduction to Message Passing
Friday, 2/22
Programming with
Message Passing
- Lecture slides
posted
- Today's reading:
- Pacheco. Chapter 3: pp. 94-110.
-
A User’s Guide to MPI, by Peter Pacheco, pp. 1-17.
This is a partial draft of Pacheco's MPI text
Parallel Programming with MPI (Morgan Kaufmann Pub., 1997)
and is avialble for free download. The material expands on and amplifies similar material
in our course text.
|
Monday, 2/25
Under the hood of MPI;
immediate mode communication;
Message Passing Peformance;
Stencil methods with message passing
- Lecture slides
posted
- Today's reading:
- Pacheco. Chapter 3: pp. 119-127.
|
Wednesday, 2/27
Matrix Multiplication;
Parallel Print Function;
Gather/Scatter
Friday, 3/1
Gather and Scatter Collectives
- Lecture slides
re-posted to include new broadcast algorithm
- Quiz #3
- Today's reading:
- To probe further.
MPI: The Complete Reference, by Marc Snir et al.
Detailed reference material on collective communications.
|
Monday, 3/4
Parallel sorting with message passing.
Optimizing for the memory hierarchy
3/6/13 (Wed)
Computing with Graphical Processing Units
- Lecture slides
posted
- Today's reading:
-
CUDA Supercomputing for the Masses, by Rob Farber.
Part I of a 20-part series. (Optional, describes how to set up CUDA)
|
3/8/13 (Fri)
Computing with Graphical Processing Units (II)
To dig more deeply (optional)
- CUDA Supercomputing for the Masses, by Rob Farber. Part II of a 20-part series.
- Kirk and Hwu, Chapter 3 (CUDA Threading Model).
Draft Form.
|
- Lecture slides
posted
- Today's reading:
The future of
microprocessors, by Shekhar Borkar and Andrew A. Chien,
Commun. ACM 54(5):67-77, May 2011.
- To read further
- Overview of the IBM Blue Gene/P project, IBM J. of Research and Development, Vol. 52, Isssue 1/2, January 2008.
- Also see
Wikipedia article on Blue Gene. Gives a longer term history of the project.
-
Exascale computing
study: technology challenges in achieving exascale systems, by P. Kogge et
al, September 2008, DARPA, 297 pp.
The "Kogge report" is an encyclopedic source source of information with many
references.
-
"Software challenges in extreme scale systems,"
V. Sarkar, W. Harrod and A. E. Snavely.
J. of Physics: Conference Series, 180(1):012045 (2009). IOP Publishing.
A good overview of the software issues. For more details see the report, the
next reading.
-
"Exascale software study: Software challenges in extreme scale systems,"
V. Sarkar et al, DARPA IPTO, Air Force Research Labs, Tech. Rep, 159 pp.
(2009).
- International Technology Roadmap for Semiconductors
web site
|
Weds, 3/13, 1pm to 3pm
Lecture + Final Exam Review.
|
Double lecture (2 hours).
- Lecture slides
posted
-
First half is is the final exam review.
Location:
Rady School 1S114 (Otterson Hall).
Map. Rady School is
marked with a red pin, RIMAC with a blue "A".
-
We will make our way to SDSC at the end of class. (SDSC is to the South and
slightly East of the Rady school). We'll meet in
the SDSC auditorium, see the attached map.
The auditorium is in the left wing of the building, at street level.
|
Friday, March 23rd, 11.30a to 2.30p, PETER 104.
Final Exam.
|
The final exam will be held in
PETER 104 rather than in our
regularly scheduled room.
|