### Location & Time

TR 4.15 PM-5.30 PM

101 Walker Building

### Instructor

Kamesh Madduri

*Office hours*:

TR 9.30 AM-11.00 AM (343E IST)

Appointment (

cal)

### Important Dates

Jan 08. First class

Jan 24. Assessment 1 due

Feb 05. HW 1 due

Feb 26. Assessment 2 due

Feb 26. Assessment 3 due

Feb 28. Midterm exam

Apr 16. HW 2 due

Apr 24. HW 3 due

Apr 25. Mini project submission

Apr 30. 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. For the Spring 2013 semester, the lecture hours for this class are combined with CSE 557, the graduate class on parallel scientific computing. The evaluation and grading schemes are different. 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 7.

### 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.