CS 7332 - Advanced Parallel Computing

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.

Prerequisite:

CS 5351 or equivalent with a grade of B or higher, or consent of the instructor.

Course Objectives:

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 Notes:

Course effective Fall 2017.  Available only for computer science majors.