Course Title:
Parallel Architecture for High-Performance Computing
Course Description:
Introduces models of parallel computation, network architectures used for parallel processing (ring, mesh, and hypercube, etc.), message routing mechanisms, point-to-point and collective communication primitives (one-to-all, all-to-all, scatter, gather, etc.), parallel and distributed systems performance, and scalability evaluation methods. Discusses how a sequential algorithm can be transformed systematically into a parallel computational strategy so that it can be realized either in hardware (using an application-specific architecture) or in software (using a network of distributed general-purpose computers). Uses numerical algorithms to highlight the key issues involved in this mapping. Includes case studies of high-performance scalable parallelization strategies for computationally intensive operations, such as dense and sparse linear system solvers, multidimensional data transforms, etc., which are often encountered in scientific and multimedia applications. Introduces students to parallel programming using intermediate-level C/MPI.
Fall Offering:
Lab/Coreq 1:
Spring Offering:
Lab/Coreq 2:
Summer Offering:
Lab/Coreq Remarks:
Summer 1 Offering:
Prerequisite 1:
ECE G202
Summer 2 Offering:
Prerequisite 2:
Cross-Listed Course 1:
Prerequisite 3:
Cross-Listed Course 2:
Prerequisite 4:
Cross-Listed Course 3:
Prerequisite 5:
Cross-Listed Course 4:
Prerequisite Remarks:
Cross-Listed Course 5:
Repeatable:
N