CS525: Parallel Computing
Spring 2023.
Ananth Grama, ayg@cs.purdue.edu, 765 494 6964
Office Hours: LWSWN 3-154F
W, 3:00 - 4:00 and by appointment (zoom link will be emailed).
TA: Wenbo Xie, xie401@purdue.edu
Office Hours: TBA
Course Announcements:
Important announcements relating to the course will be made here. Please
look at this area of the web page periodically. Announcements will include
(but are not limited to) release of assignments, erratas, and other material.
Midterm Dates
Tuesday Feb 13, 2024, 8pm - 10pm,
Location: LILY G126
Tuesday Mar 19, 2024, 8pm - 10pm,
Location: LILY G126
Thursday Apr 25, 2024, 8pm - 10pm,
Location: LILY G126
Course Contents
CS525, Parallel Computing deals with the use of large
scale computing platforms ranging from multicore processors,
tightly coupled servers, message passing platforms, and
virtualized cloud computing environments. The course consists
of four major parts:
-
Parallel and distributed platforms: This part of the class outlines parallel
computing hardware. Topics covered include processor and memory architectures,
multicore, SMP, and message passing hardware, interconnection networks,
and evaluation metrics for architectures. Cost models for communication are
also developed.
-
Parallel Programming: Programming models and language support for programming
parallel platforms is discussed. Message passing using MPI,
thread-based programming using POSIX threads, and directive-based programming
using OpenMP are discussed.
-
Parallel and Distributed Algorithms: Starting from design principles for
parallel algorithms, this part develops parallel algorithms for a variety of
problems. Various metrics for evaluating these algorithms are also discussed.
-
Applications: A variety of parallel applications from diverse domains such
as data analysis, graphics and visualization, and scientific simulations are
discussed.
Password for the youtube video links will be mailed to you.
Please read this policy before starting as I intend on enforcing it
strictly.
Grading Policy
Your grade will be determined using the following grading rubric:
Homeworks: 40%
Three Midterms: 60% (dates above -- not to be missed!)