click here to return to the home page, logo image
NCSC-6031 Introduction to Parallel Computing (CA 720)

Contributing Scholar - Ananth Grama, Purdue University

 

3 Semester Credit Hours

 

Course Description

 

The ever increasing computational and storage requirements of scientific, engineering, and commercial applications provide strong motivation for the use of parallel computing platforms. This course provides an overview of diverse parallel platforms and a detailed discussion of parallel programming APIs and core parallel algorithms.

 

The course can be viewed in three broad areas: parallel computing basics, parallel programming, and parallel algorithms. Basic topics provide an overview of physical organization, communication mechanisms, metrics, and principles of algorithm design. Parallel programming covers messaging APIs (MPI) and threads (POSIX and OpenMP). Parallel algorithms covered in the class include dense matrix algorithms, graph algorithms, sorting, discrete optimization, and dynamic programming.

 

 

Prerequisites

  • One year of college-level calculus

  • An undergraduate upper division or graduate course in operating systems.

  • An undergraduate upper division or graduate course in algorithms and data structures covering, at a minimum, topics such as: stacks, queues, heaps, trees, and graphs; sorting (mergesort, quicksort), searching, and hashing; elementary algorithm performance analysis.

  • An undergraduate upper division or graduate course in computer architecture.

  • Basic knowledge of mathematical identities, logarithms, summations.

  • General prerequisite: Students must have the knowledge resulting from completing all coursework in the curriculum for a BS degree in Computer Science from a regionally-accredited institution in the United States or the equivalent from a foreign institution; performance level in this coursework should be equivalent to a cumulative undergraduate GPA of 2.9 or better on 4.0 scale.

 

Course Objectives

 

Upon successful completion of this course, students will have a complete understanding of the process of design, analysis, and programming of a variety of parallel algorithms. In particular, they will have the following skills:

 

  • Given a problem and a parallel platform, they will be able to develop suitable parallel algorithms to solve the problem.
  • Given a parallel algorithm and platform, they will be able to assess its performance and scalability.
  • They will be able to code parallel algorithms on message passing, as well as shared address space platforms.
  • They will know state-of-the-art parallel formulations of a variety of core algorithms, along with detailed performance characteristics.

 

Course Topics

 

The following topics will be covered in the order given.

  • Introduction to Parallel Computing
  • Parallel Computing Platforms
  • Principles of Parallel Algorithm Design
  • Basic Communication Operations
  • Analytical Modeling of Parallel Systems
  • Programming Using the Message Passing Paradigm
  • Programming Shared Address Space Platforms
  • Dense Matrix Algorithms
  • Sorting Algorithms
  • Graph Algorithms
  • Search Algorithms for Discrete Optimization Problems
  • Dynamic Programming

Technical Requirements

 

You will need to have access to a UNIX/Linux system as well as access to C++ or Java compilers for this course. You will also need access to a MPI library for message passing and to the Pthreads library (most Unix computers already have this). In addition, you will be required to have Windows Media Player to view the lectures. For the standard technical requirements, please go to the link below: http://www.waldenu.edu/c/Files/DocsGeneral/Getting_Started_Guide.pdf

 

Textbook

Required: Introduction to Parallel Computing, Ananth Grama, George Karypis, Vipin Kumar, Anshul Gupta, Addison Wesley; 2nd edition, 2003, ISBN: 0-201-64865-2.

 

 

Disclaimer: The course syllabus may differ slightly from this. Course descriptions will be provided in your online course. Textbook information is provided only to give more information about the course.  Do Not use this information to purchase a textbook.  Up-to-date information will be provided when you register.



Google Custom Search
Walden University is accredited by The Higher Learning Commission and a member of the North Central Association, www.ncahlc.org; 312-263-0456. © Copyright 2007 Walden University; Telephone: 800-925-3368