Search for contacts, projects,
courses and publications

High-Performance Computing

People

Eftekhari A.

Course director

Schenk O.

Course director

Lechekhab M.

Assistant

Description

The goal of the HPC course is that students will learn the principles and practices of basic numerical methods and HPC to enable large-scale scientific simulations. This goal will be achieved within several mini-projects with a focus on HPC, Computational Science and Engineering, and machine learning. The content of the course is tailored for 1st year Master students interested in both learning parallel programming models, scientific mathematical libraries, and having hands-on experience using HPC systems. Familiarity with Bash and programming (C/C++/Python) is beneficial.

Objectives

This is an introductory course on High Performance Computing (HPC), providing a solid foundation in parallel computer architectures and parallel programming. This course will explore the fundamentals of what comprises an HPC cluster and how to leverage such systems to solve large-scale problems in a variety of applications. Key technologies explored in this course include system memory hierarchies, OpenMP, and MPI. The lectures and projects will expose students to topics on HPC, Computational Science and Engineering, and machine learning. 

Teaching mode

In presence

Learning methods

Solid knowledge of the C/C++ programming language, and numerical methods in scientific computing in the area of linear algebra, mathematical optimization, and partial differential equations, and machine learning. Students may continue to study these HPC techniques at the annual USI-CSCS summer school titled 'Effective High-Performance Computing & Data Analytics Summer School'. The course content is tailored for intermediate graduate  students interested in learning parallel programming models and gaining hands-on experience with HPC systems. Starting with an introductory overview of the systems available at CSCS, the course will advance to more applied topics such as parallel programming on accelerators, scientific libraries, and deep learning software frameworks. Students will also engage with topics involving GPU programming and architecture. For more information, please refer to the last edition of the annual HPC summer university. 

Examination information

This course comprises multiple 'mini-projects' supported by lectures and tutorials. Attendance in class is mandatory. Group discussions on projects are both allowed and encouraged, but each student provides their individual submission. The grading structure is as follows: 60% from mandatory project work and 40% from an individual oral exam taken during the official examination period.

Bibliography

Education

Study trips

  • Swiss National Supercomputing Centre (CSCS), 29.10.24 - 29.10.24 (Compulsory)