High-Performance Computing
Persone
Docente titolare del corso
Docente titolare del corso
Descrizione
The goal of the HPC course is for students to learn the principles and practices of basic numerical methods and HPC to enable modeling and solution methods for large-scale scientific simulations. This goal will be achieved within several mini-projects with a focus on HPC, Parallel Programming, and Scientific Computing. The content of the course is tailored for 1st year Master's 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.
Obiettivi
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, Parallel Programming, and Scientific Computing.
Modalità di insegnamento
In presenza
Impostazione pedagogico-didattica
Students learn through a combination of lectures and hands-on mini-projects. Students will gain a 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. 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 USI-CSCS 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 school.
Modalità d’esame
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.
Bibliografia
Programma
- Master of Science in Artificial Intelligence, Lezione e laboratorio, A scelta, 1° anno
- Master of Science in Artificial Intelligence, Lezione e laboratorio, A scelta, 2° anno
- Master of Science in Informatics, Lezione e laboratorio, 1° anno
- Master of Science in Informatics, Lezione e laboratorio, 2° anno
- Master of Science in Software & Data Engineering, Lezione e laboratorio, A scelta, 2° anno
Viaggi di studio
- Swiss National Supercomputing Centre, 27.06.26 - 27.06.26 (Facoltativo)