CS 430 PARALLEL COMPUTING (3-0-3)(F)(Even Years) Models of parallel computation. Fundamental design patterns used in parallel algorithms: embarrassingly parallel, partitioning, divide and conquer, software pipelining, synchronous computations and load balancing. Implementation of parallel programs using MPI, GPUs and Map-Reduce on parallel clusters. PREREQ: CS 253 and CS 321.