Academics / Courses / DescriptionsCOMP_SCI 358: Intro to Parallel Computing
VIEW ALL COURSE TIMES AND SESSIONS
Prerequisites
CS 213 or (CE 205 & CS 211)Description
CS 358 serves as an introduction to the field of parallel computing. Topics include common parallel architectures (shared memory, distributed memory, CPU vs. GPU, multicore vs. multiprocessor), programming models (shared memory, message-passing, SIMD / SIMT, SPMD / MIMD), and programming languages and frameworks (pthreads, OpenMP, MPI, CUDA, MapReduce, Go, Chapel). Important concepts will also be introduced including race conditions, synchronization, barriers, deadlock, caching, cache coherence, memory consistency, profiling, speedup, and Amdahl’s law. Important parallel algorithms and data structures will be discussed, including the notion of lock-free data structures. Note that this class lightly touches upon GPU programming; students primarily interested in GPUs should take CS 368.
- This course satisfies the Systems breadth or Technical Elective.
- Cross-listed with Comp_Eng 358
COURSE COORDINATOR: Prof. Joe Hummel
COURSE INSTRUCTOR: Prof. Joe Hummel