6220/4225: High Performance Computing
Term: Spring 2011
Course: CSE 6220/4225
Day/Time: Monday, Wednesday, & Friday 11:05--11:55 AM
Location: Love (MRDC II) 184
Office hours: Wednesday 12:00--2:00 PM
The class is full. If you want to register, please send an email to
Michael Terrell (mterrell@cc.gatech.edu) and CC me.
Instructor
George Biros
Class description
This is a graduate course in parallel
algorithms and high-performance computing. It is intended to be a
standard part of the Computational Science and Engineering curriculum
that have strong background in programming and algorithms. However,
students from other research areas with an interest in parallel
algorithm design are welcomed to attend.
Topics include parallel non-numerical and numerical algorithms for
shared and distributed memory architectures:
- Networks, communications, load balancing, data locality,
overlapping communication/computation
- Models: Work-Depth, PRAM
- Programming: GPUs, Message Passing Interface, OpenMP, Vectorization
- Non-numerical algorithms: reduction, sorting, searching, pointer jumping,
trees, graph partitioning
- Numerical algorithms: linarN-body algorithms,
FFT, linear algebra
Grading
- Midterm (15%)
- Final (15%)
- Five homeworks (30%)
- Semester-long project (40%)
Recommended texts
Textbook
Ananth Grama, George Karypis, Vipin Kumar, Anshul Gupta,
``An Introduction to Parallel Computing: Design and Analysis of Algorithms'', Second Edition, 2003
Available online
Recommended books
- Joseph Jaja, "Introduction to Parallel Algorithms",
- Thomson F. Leighton, ``Introduction to Parallel Algorithms and
Architectures: Arrays, Trees, Hypercubes''
- Gropp & Snir, ``MPI: The Complete Reference''
Prerequisites
C/C++ programming, sequential algorithms