Course Description:This course covers advanced design of parallel algorithms, performance modeling, parallel hardware, language support for parallel programming, and programming models for shared- and distributed-memory systems ranging from handheld multicore devices to large-scale clusters and accelerators. The students will gain applied knowledge and skills by developing parallel software for multiple platforms.
CS 5351 or equivalent with a grade of B or higher, or consent of the instructor.
The students will be able to:
describe various parallel architectures
name standard synchronization primitives
identify common parallelism errors
apply various parallel programming approaches
analyze the performance of parallel programs
design scalable parallel algorithms
implement massively-parallel programs
Course effective Fall 2017. Available only for computer science majors.