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 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 and EUMaster4HPC master students to enroll.
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.
Modalità di insegnamento
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 AI. 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 and ARM architectures
- GPU programming (CUDA and OpenACC)
- Performance optimization and scientific libraries (Kokkos)
- Interactive supercomputing (JupyterLab)
- Python HPC libraries (Numpy/SciPy/Dask/Numba)
- Introduction to Machine Learning and GPU optimized frameworks (Rapids)
- Deep Learning on HPC platforms
The summer university course will be held within two weeks in July 2024. More information about the course from 2023 is available here: https://www.cscs.ch/events/events/event-detail?tx_cscsevents_pi1%5Bcontroller%5D=Event&tx_cscsevents_pi1%5Bevent%5D=136&cHash=c711069c061213be2585264afce3b36f
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.