Generated on Tue Oct 25 10:19:18 2022

CS 491: Parallel Programming (JSON)

Catalog description: Programming of shared memory and distributed memory machines; tools and languages for parallel programming; techniques for parallel programming; parallel programming environments.

Prerequisites: At least a C- in C S 370 or consent of instructor.    (Catalog Link)

Credits: 3 (3)

Coordinator: Shaun Cooper

Textbook: Principles of Parallel Programming, Calvin Lin, & Larry Snyder, 2009, Pearson, ISBN-13: 978-0321487902 ISBN-10: 0321487907
    (also: online reading)

BS degree role: selected elective

Course Learning Objectives

  1. Describe existing parallel architectures including shared memory versus distributed memory platforms
  2. Apply basic techniques for organizing parallel computations
  3. Apply basic techniques for performance measurement and theoretical limitations of parallelism
  4. Explain alternative parallel techniques and hardware
  5. Perform performance Analysis of different parallel programming technices
  6. Program shared memory machines using threads, processes, and the OpenMP library
  7. Program using a message passing paradigm and obtain working knowledge of the Message Passing Interface (MPI)

Course Practicum Requirements

  1. Program using MPI
  2. Conduct performance analysis of parallel programs
  3. Program using different HPC paradigms to include GPUs, shared memory, and distributed architecture

Course Topics

  1. TBD

Course Improvement Decisions

(Course improvement decisions or recommendations from past assessments)

  1. none

ABET Outcome Coverage

(Provide Mapping to ABET Student Outcomes)

  1. TBD

Other Notes

(Any important notes or issues to consider)

  1. none