Crèdits
6
Tipus
Complementària d'especialitat (Computació d'Altes Prestacions)
Requisits
Aquesta assignatura no té requisits
, però té capacitats prèvies
Departament
AC
In the first part of the course, we will explore the basic building blocks of supercomputers and their system software stacks. We will then enter into traditional parallel and distributed programming models, essential for exploiting parallelism and scaling applications in conventional high-performance infrastructures.
In the second part of the course, we will review the hardware and software stack that allows the management of distributed GPU applications, which have become ubiquitous in high-performance computing worldwide installations over the past decade. These GPU-based systems deliver the majority of performance in the largest Pre-Exascale supercomputers, such as the Marenostrum 5 supercomputer.
The third part of the course will focus on understanding how contemporary supercomputing systems have been the true drivers of recent advances in artificial intelligence, with particular emphasis on the scalability of deep learning algorithms using these advanced high-performance computing installations based on GPUs.
Adopting a "learn by doing" approach, the course combines lectures, reading assignments, and hands-on exercises using one of Europe¿s fastest supercomputers, the Marenostrum 5 at the Barcelona Supercomputing Center (BSC-CNS). Assessment will be continuous, ensuring consistent and steady progress, with the aim of equipping students with practical skills to adapt to and anticipate new technologies in the evolving landscape of high-performance computing.
Professorat
Responsable
- Jordi Torres Viñals (torres@ac.upc.edu)
Hores setmanals
Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
7.5384
Competències
Computació d'altes prestacions
Genèriques
Treball en equip
Bàsiques
Objectius
Continguts
-
00. Benvinguda: Contingut del curs i motivació
-
01. Fonaments de supercomputació
-
02. Heterogeneous supercomputers
-
03. Supercomputer management and storage systems
-
04. Benchmarking supercomputers
-
05. Data center infrastructures
-
06. Parallel programming models
-
07. Parallel performance models
-
08. Parallel programming languages for heterogeneous platforms
-
09. Artificial Intelligence is a computing problem
-
10. Deep Learning essential concepts
-
11. Using Supercomputers for DL training
-
12. Accelerate the learning with parallel training on multi-GPUs
-
13. Accelerate the learning with distributed training on multiple parallel servers
-
14. How to speed up the training of Transformers-based models
Activitats
Activitat Acte avaluatiu
Teoria
0.5h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h
01. Supercomputing basics
Teoria
1h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
3.5h
Exercise 01: Supercomputing impact
Teoria
0h
Problemes
0h
Laboratori
1h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h
02. Heterogeneous supercomputers
Teoria
1h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h
Exercise 02: Getting started with storage and management systems
Teoria
0h
Problemes
0h
Laboratori
1h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h
03. Supercomputer management and storage systems
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h
Exercise 03: Exascale computers challenge
Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h
04. Benchmarking supercomputers
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h
Exercise 04: Getting started with parallel programming models
Teoria
0h
Problemes
0h
Laboratori
1h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h
05. Data centers infrastructures
Teoria
1h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h
Exercise 05: Getting started with parallel performance metrics
Teoria
0h
Problemes
0h
Laboratori
1h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h
06. Parallel programming models
Teoria
6h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h
Exercise 06: Getting started with parallel performance models
Teoria
0h
Problemes
0h
Laboratori
1h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h
07. Parallel performance models
Teoria
1h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h
Exercise 07: Emerging trends in supercomputing
Teoria
0h
Problemes
0h
Laboratori
1h
Aprenentatge dirigit
0h
Aprenentatge autònom
5h
08. Parallel programming languages for heterogeneous platforms
Teoria
1h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
1h
Exercise 08: Getting started with CUDA
Teoria
0.5h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h
Midterm
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10.5h
09. Artificial Intelligence is a Supercomputing problem
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h
Exercise 09: First contact with Deep Learning and Supercomputing
Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h
10. Deep Learning essential concepts
Teoria
1h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
1h
Exercise 10: The new edition of the TOP500
Teoria
0h
Problemes
0h
Laboratori
1h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h
11. Using Supercomputers for DL training
Teoria
1.5h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h
Exercise 11: Using a supercomputer for Deep Learning training
Teoria
0h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h
12. Accelerate the learning with parallel training using a multi-GPU parallel server
Teoria
1h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h
Exercise 12: Accelerate the learning with parallel training using a multi-GPU parallel server
Teoria
0h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h
13. Accelerate the learning with distributed training using multiple parallel servers
Teoria
1h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
1h
Exercise 13: Accelerate the learning with distributed training using multiple parallel server
Teoria
0h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h
14. How to speed up the training of Transformers-based models
Teoria
1h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h
Exercise 14: How to speed up the training of Transformers-based models
Teoria
0h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h
Final remarks
Teoria
0.5h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h
Metodologia docent
Class attendance and participation: Regular attendance is expected, and is required to be able to discuss concepts that will be covered during class.Lab activities: Some exercises will be conducted as hands-on sessions during the course using supercomputing facilities. The student's own laptop will be required to access these resources during the theory class. Each hands-on session will involve writing a lab report with all the results. There are no days for theory classes and days for laboratory classes. Theoretical and practical activities will be interspersed during the same session to facilitate the learning process.
Reading/presentation assignments: Some exercise assignments will consist of reading documentation/papers that expand the concepts introduced during lectures. Some exercises will involve student presentations (randomly chosen).
Assessment: There will be one midterm exam in the middle of the course. The student is allowed to use any type of documentation (also digital via the student's laptop).
Mètode d'avaluació
The evaluation of this course can be obtained by continuous assessment. This assessment will take into account the following:20% Attendance + participation
10% Midterm exam
70% Exercises (+ exercise presentations) and Lab exercises (+ Lab reports)
Students who have not benefited from continuous assessment have the opportunity to take a final Course Exam. This exam includes evaluating the knowledge of the entire course (practical part, theoretical part, and self-learning part). During this course exam, the student is not allowed to use any documentation (neither on paper nor digital).
Bibliografia
Bàsic
-
Supercomputing for Artificial Intelligence: Foundations, Architectures, and Scaling Deep Learning
- Torres, Jordi,
WATCH THIS SPACE Book Series - Barcelona. Amazon KDP,
2025.
ISBN: 9798319328359
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005476510706711&context=L&vid=34CSUC_UPC:VU1&lang=ca