Introduction to High Performance Computing

CS30240192, Spring 2021


Overview

What is high performance computing

High performance computing (HPC), also known as Supercomputing, is a area for developing supercomputer and its software and applications. It integrates system, network and parallel programming to solve large-scale problems in science, engineering, or business.

Why need high performance computing

Many real-world pplications require great computional power, which can only be provided by high performance computing and supercomputers.

For example:

  • Nuclear Test

    Supercomputer simulation is one of main methods for modern nuclear test.

  • Weather Forecast

    High performance computing brings more accurate and more timely weather forecast results.

  • Artificial Intelligence

    Deep learning models have increasingly demanding needs for computational resources.

What you will learn in this course

  1. The foundation of high performance computing.
  2. The commonly used parallel programming models.
  3. How to write a parallel program.
  4. How to analyze a parallel program and optimize it.
  5. Understanding the relationship between program performance and computer architecture.

Assignments

For detailed documents of assignments, please refer to this.

Team members