Engineering Professional Education
  Menu

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.

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:
None

ProEd Minimum Requirements: view

Tuition & Fees: view

SEMESTERS

Spring 2017
Spring 2019
Spring 2021

CURRENT INSTRUCTOR(S)

Ananth Grama

Phone
765-494-6964

Email
ayg@cs.purdue.edu

Office
Purdue University
Department of Computer Science
305 N University St
West Lafayette, IN 47907-2107

Fax
765-494-0739

Instructor HomePage