Parallel Computing

CS52500

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

Computer Requirements:

ProEd Minimum Requirements:

view

Tuition & Fees:

view