Hold on just a sec...
3 credits
Fall 2022 Lecture Distance Learning Upper DivisionThis course presents methods and techniques for programming parallel computers, such as multicore and high-end parallel architectures. Various parallel algorithms will be presented to demonstrate different techniques for identifying parallel tasks and mapping them onto parallel machines. Realistic science/engineering applications and their characteristics will be discussed. Parallel architectures to be considered are shared-memory and distributed-memory multiprocessor systems. Programming paradigms for these machines will be compared, including directive-based (OpenMP), message passing (MPI) and thread-based (Posix threads) methods. Methodologies for analyzing and improving the performance of parallel programs will be discussed. There will be a class project in which each student parallelizes and tunes the performance of a large computation application or develops/improves a tool that helps this process. Each student will prepare one lecture for a selected topic. Offered during odd years.
Course ECE 563 from Purdue University - West Lafayette.