Course Websites
CS 484 - Parallel Programming
Last offered Fall 2024
Official Description
Techniques for the programming of all classes of parallel computers and devices including shared memory and distributed memory multiprocessors, SIMD processors and co-processors, and special purpose devices. Key concepts in parallel programming such as reactive and transformational programming, speculation, speedup, isoefficiency, and load balancing. Synchronization primitives, libraries and languages for parallel programming such as OpenMP and MPI, performance monitoring, program tuning, analysis and programming of numerical and symbolic parallel algorithms. Course Information: 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 241 or CS 341.
Related Faculty
Course Description
This is an introduction to Parallel Programming for Computer Scientists and Computer Engineers. Parallel programming notations for shared and distributed memory machines, memory models, atomic operations, race conditions, synchronous and asynchronous computations, performance evaluation, parallel algorithms including graph algorithms, sorting, numerical linear algebra, and FFT are all covered in this course.
Credit Hours
3 or 4 hours
Prerequisites
A course in Data Structures (CS 225) and a Computer Architecture II course (such as CS 232).
Title | Section | CRN | Type | Hours | Times | Days | Location | Instructor |
---|---|---|---|---|---|---|---|---|
Parallel Programming | DSO | 71093 | ONL | 4 | - | Lawrence Rauchwerger | ||
Parallel Programming | PP3 | 80027 | ONL | 3 | - | Lawrence Rauchwerger | ||
Parallel Programming | PPG | 67876 | ONL | 4 | - | Lawrence Rauchwerger | ||
Parallel Programming | PPU | 67875 | ONL | 3 | - | Lawrence Rauchwerger |