This course focuses on scalable parallelism, ability of a parallel program to run well on any number of processors. This course covers the principles of effective and efficient parallel programming. Topics include foundation of parallel parallelism, parallel abstractions, programming and threads MPI and other local view languages, ZPL and other global view languages, assessing the state of the arts, future directions in parallel programming. The students are required to complete programming assignments.
Prerequisites
CS 270 or its equivalent or CS 500 or its equivalent