Credit Hours: 3
Learning Objective: Parallel Computing deals with emerging trends in the use of large scale computing platforms ranging from desktop multicore processors, tightly coupled SMPs, message passing platforms, and state-of-the-art virtualized cloud computing environments.
Description: Parallel computing for science and engineering applications: parallel programming and performance evaluation, parallel libraries and problem-solving environments, models of parallel computing and run-time support systems, and selected applications.
Topics Covered: Part 1: Parallel and distributed computing architectures; shared memory processors; distributed memory processors; multicore processors. Part 2: Parallel Programming; programming models; OpenMP for shared memory programs; MPI library for message passing; thread based programming. Part 3: Parallel algorithms; sorting; matrix-vector multiplication; matrix computations; graph algorithms. Part 4: Applications of these algorithms from various domains will be discussed.
Prerequisites: A bachelor degree in computer science or an equivalent field. Students not in the Computer Science master's program should seek department permission to register.
Applied / Theory:
Web Address: http://www.cs.purdue.edu/homes/ayg/CS525/index.html
Homework: Approx. 6 assignments
Exams: 1 Midterm and 1 Final
Textbooks: Required: Intro to Parallel Computing (2nd Edition) by Ananth Grama, Pearson, ISBN:9780201648652
ProEd Minimum Requirements: view
Tuition & Fees: view