Location & Time

TR 9.45 AM-11.00 AM
108 Chambers Building

Instructor

Kamesh Madduri
Office hours:
TR 2.30 PM-4.00 PM (343E IST)
Appointment (cal)

Important Dates

Jan 14. First class
Feb 12. HW1 due
Feb 27. Midterm exam
Mar 25. HW2 due
Apr 16. HW3 due
Apr 29. Mini-project due
May 02. Assessments due
May 06. Final exam

Overview

This class introduces students to parallel programming and the design of parallel algorithms for scientific applications. We will also study challenges with concurrent execution and synchronization on current shared- and distributed-memory systems, and solution techniques. If you have already taken CSE 557, you must not take CMPSC 450.

Topics

Parallel Algorithm Design and Analysis
Models for algorithm analysis, Sources of concurrency, Overview of current parallel systems.
High-performance Parallel Programming
Programming models and libraries (MPI, OpenMP, CUDA), Optimizations for serial performance, Memory locality
Parallelization Techniques
Divide and conquer, Balanced trees, Pointer jumping, Pipelining, Randomization.
Applications
Dense linear algebra, Sparse matrix computations, Sorting, FFT, N-body methods, Graph Analytics.

Syllabus

Last updated Jan 13. pdf icon

Schedule, Lecture notes

Please join the class on Piazza.

Textbook

Georg Hager and Gerhard Wellein, Introduction to High Performance Computing for Scientists and Engineers, CRC Press, 2010.

Prerequisites

CMPSC 121, CMPSC 201 or CMPSC 202 (students must be proficient in sequential programming and C/C++); MATH 220; MATH 230 or MATH 231.

Class material

Homeworks and Assessments will be posted on Angel. We will use Piazza for class discussions and announcements. Lecture slides and other resources will also be available on Piazza.



Last updated: