Search for contacts, projects,
courses and publications

High-Performance Computing


Schenk O.

Course director

Holt T. A. B.


Lechekhab M.




Are you interested in using Europe’s faster supercomputers (and getting ECTS credit points for doing so)? Would you like to learn how to write programs for parallel supercomputers, such as a Cray or a cluster of GPUs? The course is designed to teach students how to program parallel computers to efficiently solve challenging problems in science and engineering, where very fast computers are required either to perform complex simulations or to analyze enormous datasets.



The goal of the HPC course is that students will learn principles and practices of basic numerical methods and HPC to enable large-scale scientific simulations. This goal will be achieved within six to eight mini-projects with a focus on HPC, CSE, and AI. 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. The course will be offered online as well to also allow double-degree Master students to enroll.


Solid knowledge of the C programming language, and numerical methods in scientific computing in the area of linear algebra, mathematical optimization, and partial differential equations. The students might continue to study these HPC techniques within the annual USI-CSCS course on "Effective High-Performance Computing & Data Analytics". The content of the course is tailored for intermediate graduate students interested in both learning parallel programming models, and having hands-on experience using HPC systems. Starting from an introductory explanation of the available systems at CSCS, the course will progress to more applied topics such as parallel programming on accelerators, scientific libraries, and deep learning software frameworks. The following topics will be covered: GPU architectures, GPU programming, Message passing programming model (MPI), Performance optimization and scientific libraries, interactive supercomputing, Python libraries, Introduction to Machine Learning, and GPU optimized framework. The course will be held within two weeks in July 2022. More information about the course from 2021 is available here:


40% of the grade is determined by mandatory graded project and 60% is determined by a final written or oral exam during the official examination period. 



  • Georg Hager (Author), Gerhard Wellein (Author), Introduction to High Performance Computing for Scientists and Engineers (Chapman & Hall/CRC Computational Science), 2010.
  • Victor Eijkhout (Author), Introduction to High Performance Scientific Computing, Hardcover, 17. Juni 2013.
  • Thomas Rauber (Author), Gudula Rünger (Author), Parallel Programming: for Multicore and Cluster Systems, Hardcover, June 25, 2013.