Selected topics in high-performance systems, including contemporary
architectures, interconnection topologies, shared memory and
message-passing systems, multi-threaded kernels, latency avoidance and
hiding techniques, methods for data and workload partitioning,
performance profiling, debugging.
Prerequisites
CMSC 411 and CMSC 412 or equivalent.
Topics
Introduction (1 week)
Applications (2 weeks)
Programming Languages (1 week)
Parallel Architectures (3 weeks)
Operating systems for parallel computing (2 weeks)
Runtime Libraries (1 week)
Debugging Tools (2 weeks)
Performance Tools (2 weeks)
Course Text
Highly Parallel Computing 2nd Edition, Almasi and Gottlieb,
Benjamin/Cummings 1994.
Workload
The class will include term projects to investigate some aspect of
high performance computing in more depth. The projects are intended to be
"mini-research" projects. Part of the projects will be to define a
specific project from sample ideas I supply you. The project will also
include a written and oral report to convey what you have learned.