# U.C. Berkeley CS267/EngC233

## Applications of Parallel Computers

*Spring 2010*

## Tentative Syllabus

##
High-Level Description

This syllabus may be modified during the semester,
depending on feedback from students and the availability
of guest lecturers. Topics that we have covered
before and intend to cover this time too are shown in standard font below,
and possible extra topics (some presented in previous classes, some new)
are in *italics*.

After this high level description, we give
the currently planned schedule of lectures
(**Updated Jan 26**)(subject to change).

##
Detailed Schedule of Lectures (**updated Jan 26**)(subject to change)
(lecturers shown in parentheses)

Jan 19 (Tuesday): Introduction
(Horst Simon)
Jan 21 (Thursday): Single processor machines: Memory hierarchies and processor features
(Horst Simon)
Jan 26 (Tuesday): Introduction to parallel machines and programming models
(Horst Simon)
Jan 28 (Thursday): Shared memory programming: OpenMP and Threads
(Horst Simon)
Feb 2 (Tuesday): Distributed memory machines and programming
(James Demmel)
Feb 4 (Thursday): Sources of parallelism and locality in simulation: Part 1
(James Demmel)
Feb 9 (Tuesday): Sources of parallelism and locality in simulation: Part 2
(James Demmel)
Feb 11 (Thursday): Graph Partitioning
(James Demmel)
Feb 16 (Tuesday): Floating point arithmetic issues
(Horst Simon)
Feb 18 (Thursday): GPUs, and programming them with CUDA and OpenCL
(Bryan Catanzaro)
Feb 23 (Tuesday): Architecting parallel software with patterns
(Kurt Keutzer)
Feb 25 (Thursday): Programming in UPC (Unified Parallel C)
(Kathy Yelick)
Mar 2 (Tuesday): Dense Linear Algebra: Part 1
(James Demmel)
Mar 4 (Thursday): Dense Linear Algebra: Part 2
(James Demmel)
Mar 9 (Tuesday): Automatic performance tuning, and sparse matrix-vector multiplication
(James Demmel)
Mar 11 (Thursday): Automatic performance tuning of memory intensive kernels on multicore
(Sam Williams)
Mar 16 (Tuesday): Parallel sparse direct methods for solving Ax=b
(Sherry Li)
Mar 18 (Thursday): Structured grids
(Horst Simon)
Mar 23-25: Spring Break
Mar 30 (Tuesday): Performance analysis tools
(Karl Fuerlinger)
Apr 1 (Thursday): FFTs
(James Demmel)
Apr 6 (Tuesday): Hierarchical methods for N-body problems
(Horst Simon)
Apr 8 (Thursday): Clouds computing with MapReduce and Hadoop
(Matei Zaharia)
Apr 13 (Tuesday): Dynamic load balancing, and parallel sorting
(James Demmel)
Apr 15 (Thursday): Parallel graph algorithms
(Kamesh Madduri)
Apr 20 (Tuesday): Astrophysical calculations
(Julian Borrill)
Apr 22 (Thursday): Parallelism in music and audio applications
(David Wessel)
Apr 27 (Tuesday): Parallel brain simulation
(Ananth Rajagopal)
Apr 29 (Thursday): The future of parallel computing: Exascale
(Horst Simon)
**Changed:** May 6 (Thursday): Student poster presentations and class survey