CS701 - High Performance Computing, July-Dec, 2018

Welcome to the CS701 -- High Performance Computing course page. Course related information - Objectives, Outcomes, Syllabus and Rubrics are here.

Course Syllabus

Graphics Processing Units, GPGPU Programming. Many Integrated Cores: Xeon Phi architecture, Programming. Shared Memory Parallel Programming. Symmetric: OpenMP programming. Distributed Memory Parallel Programming: Message Passing Interface.

Reference Materials

Reference Books/Textbooks:

  • Wen-Mei W Hwu, David B Kirk, Programming Massively Parallel Processors A Hands-on Approach, Morgann Kaufmann, 3e.
  • Rezaur Rahman, Intel Xeon Phi Coprocessor Architecture and Tools, Apress Open, 2013.
  • Barbara Chapman, Gabriele Jost, Ruud van der Pas, Using OpenMP, MIT Press, 2008.
  • Gropp, Lusk, Skjellum, Using MPI, Using MPI, 2014.
  • Patterson and Hennessy, Computer Organization and Design, ARM or MIPS Edition.

Online Courses (A lot of online material is available. Go ahead and find ones that match your taste.)

Course Evaluation

Course components: Programming assignments, Programming tests, Course project, Midsem, Endsem examination.

Assignments/Lab Work

Course Schedule

Date/Week Type Slides Class Slides
Week 0 Lecture Course Introduction.. Course Introduction - Annotated.
Announcement Lab Work - A1 and A2 out.
Week 1 Lecture Introduction to Heterogeneous Parallel Computing. Introduction to Heterogeneous Parallel Computing - Annotated
Reading: J. Nickolls and W. J. Dally, "The GPU Computing Era," in IEEE Micro, vol. 30, no. 2, pp. 56-69, March-April 2010.
Lecture Introduction to CUDA C. Introduction to CUDA C - Annotated.
Week 2-3Lecture Multidimensional Kernels - Picture Example Multidimensional Kernels - Picture Example - Annotated
Lecture Matrix Multiplication in CUDA Matrix Multiplication in CUDA - Annotated