skip to main content

Course Websites

CS 484 - Parallel Programming

Spring 2021

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.

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


A course in Data Structures (CS 225) and a Computer Architecture II course (such as CS 232).

Parallel ProgrammingPP360443ONL31100 - 1215 T R    Lawrence Rauchwerger
Parallel ProgrammingPP460444ONL41100 - 1215 T R    Lawrence Rauchwerger