CS 7331 - High-Performance Computing

Course Description:

This course covers the advanced design, analysis, and optimization of high-performance applications. Topics include high-performance computer architectures, including accelerators and systems-on-chip, performance modeling and benchmarking, data and control dependence analysis, data locality estimation, memory hierarchy management, techniques for exposing parallelism, and code transformations. Different workloads are studied.

Prerequisite:

CS 5329 and CS 5348 or equivalent with a grade of B or higher, or consent of the instructor.

Course Objectives:

The students will be able to:

  • describe architectural characteristics of high-performance computing (HPC) systems
  • explain how architecture affects performance and energy consumption of HPC applications
  • discuss benchmarking and performance evaluation methodologies of HPC applications and systems
  • apply performance analysis and modeling techniques to different classes of HPC applications
  • discuss and apply HPC program optimization techniques
  • analyze performance and energy efficiency issues
  • design systematic performance studies of HPC applications and systems

Course Notes:

Course effective Fall 2017.  Available only for computer science majors.

Section Info:

It is expected that CS 5348 will be removed as a pre-requisite for Fall 2018.