Course Detail
Units:
3.0
Course Components:
Lecture
Enrollment Information
Enrollment Requirement:
Prerequisites: Programming in C/C++.
Description
This course provides an overview of parallel computing including processors, communications, topologies and languages; the use of workstation networks as parallel computers; the design of parallel programs, including data composition, load balancing, communications, and synchronization. It will cover both distributed memory and shared memory programming models, MPI, and threads. Students will be introduced to performance models and practical performance analysis, and case studies of parallel applications. A basic knowledge of Scientific Computing such as that provided by an introductory class is assumed as many of the motivating examples are taken from that area.