CS240A: Applied Parallel Computing: Spring 2005
Interdisciplinary introduction to applied parallel computing
on modern supercomputers. Topics include applications oriented
architecture, software systems, MPI, data parallel systems,
parallel MATLAB, caches and vector processors, and parallel
algorithms for numerical algorithms such as linear algebra,
N-body problems, multigrid, fast multipole, wavelets and
Fourier transforms, mesh generation, and partitioning. The
course includes a project with hands-on emphasis on
understanding the realities and myths of what is possible
on the world's fastest machines.
Class Meeting
Mondays and Wednesdays 09:00-10:30, Trailer 932.
Instructor
Prof. John R. Gilbert
Email: gilbert@cs.ucsb.edu
Office: Phelps 3220
Office hours: see my web page.
Assistants
Vikram Aggarwal
Office: Phelps 3218
Email: vik@cs.ucsb.edu
Office hours: Thursday 9:00am-11:00am, Room 3218, Phelps
Viral Shah
Office: Phelps 3218
Email: viral@cs.ucsb.edu
Office hours: Tuesday 2:00pm-4:00pm, Phelps 3218 or by appointment (Call 6123).
Discussion and Announcements
There is a Google discussion group for the class at
http://groups-beta.google.com/group/UCSB-Computer-Science-240A-spring-2005.
All students are expected to join this group and to watch it for course
announcements. You may also use it to post questions
(of general interest to the class) for the instructor and t.a.
The mailing address for posting to the group is
UCSB-Computer-Science-240A-spring-2005@googlegroups.com.
The mailing address for just the instructor and assistants is
cs240a@cs.ucsb.edu.
Course Requirements
- Programming homeworks (probably 3): 45%
- Final project: 45%
- Class participation: 10%
Homework
Final Project
Documentation and Machine Setup Information
Visit the documentation and machine information page.
Class Schedule and Lecture Slides
- Mon Mar 28: Introduction
[ppt] [pdf]
- Wed Mar 30: Parallel programming models (same
ppt, pdf as Monday;
Horst Simon talk [ppt] [pdf]).
Productivity and workflows
[ppt] [pdf].
- Mon Apr 4: Parallel language survey: MPI, OpenMP, Matlab*P, UPC.
[ppt]
[Pi programs:
sequential,
mpi,
openmp]
Homework 1 assigned
- Wed Apr 6: Dense linear algebra: memory locality issues
[ppt]
- Mon Apr 11: Dense linear algebra: parallel issues [same
ppt as Apr 6]
- Wed Apr 13: Global address space languages, Co-Array Fortran, and the Cray X1 (Bob Numrich, U. Minnesota)
[slides;
examples on the Minnesota Cray in directory /home/resh/numrich/public]
- Mon Apr 18: Parallelism in physical simulation I
[Lecture slides;
Sharks and fishes
]
Homework 1 due midnight Tue Apr 19
- Wed Apr 20: Parallelism in physical simulation II
[Same
ppt as Apr 18]
Homework 2 assigned
- Mon Apr 25: Parallelism in physical simulation III
[Same
ppt
as Apr 18;
Final project schedule]
- Wed Apr 27: Trees, scans, PRAMs, and log n
[ppt]
- Mon May 2: Linear systems: dense Gaussian elimination, iterative methods
[part 1,
part 2]
- Wed May 4: Sparse matrix-vector multiplication (Viral Shah) [ppt]
Homework 2 due
- Mon May 9: Simple conjugate gradient; sparse direct methods
[same ppt
as May 2, part 2]
Homework 3 assigned
- Wed May 11: Sparse direct methods; preconditioning
[same ppt
as May 9; Sherry Li's
SuperLU-dist slides]
- Mon May 16: Multigrid
[ppt;
Mark Adams's multigrid
talk and
paper
from SC2004]
Final project progress report due
- Wed May 18: Graph and mesh partitioning
[Slides:
Kathy Yelick's,
Alan Edelman's,
mine]
- Mon May 23: Parallel graph algorithms
[SSCA2 slides,
web page; papers on
maximal independent sets
and connected components]
- Wed May 25: Parallel languages and systems panel discussion
[questions]
- (Mon May 30: Memorial Day, no class)
- Wed Jun 1: Final project presentations
- Mon Jun 6: Final project demos in GSL
- Wed Jun 8:
Final project paper due
Interesting Links
Similar Courses Elsewhere and Elsewhen
- Applied Parallel Computing, MIT
(link)
- Applications of Parallel Computers, UC Berkeley
(link)
- CS240A, Spring 2004, UCSB
(link)