Créditos
6
Tipos
Obligatoria
Requisitos
Esta asignatura no tiene requisitos
, pero tiene capacidades previas
Departamento
AC
Mail
josep.ll.berral@upc.edu, jordi.torres@upc.edu
Profesorado
Responsable
- Josep Lluís Berral García ( berral@ac.upc.edu )
Otros
- Jordi Torres Viñals ( torres@ac.upc.edu )
Horas semanales
Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
6
Competencias
Transversales
Básicas
Específicas
Genéricas
Objetivos
-
Entender el uso de la computación de altas prestaciones y middleware para la inteligencia artificial
Competencias relacionadas: CG1, CG9, CT3, CT6, CE19, -
Conocer los componentes básicos de hardware y middleware en plataformas de altas prestaciones
Competencias relacionadas: CG9, CT2, CE05, CE08, CE19, -
Aprender sobre el uso de aceleradores (e.g. GPUs) y herramientas para su explotación
Competencias relacionadas: CG3, CT6, CE08, CE19, -
Aprender conceptos de virtualización y usos de las máquinas virtuales
Competencias relacionadas: CG3, CT2, CB2, CE05, CE06, -
Familiarizarse con las herramientas básicas para la explotación de sistemas distribuidos, con modelos de programación orientados a la distribución
Competencias relacionadas: CG3, CT6, CE07, CE08, CE11, -
Conocer los conceptos básicos de sistemas distribuidos: interconexión y comunicaciones entre sistemas.
Competencias relacionadas: CG3, CT3, CT6, CE07, CE11, -
Aprender sobre sistemas de ficheros: uso básico de los sistemas de ficheros, sistemas en de discos redundantes, volúmenes lógicos, tolerancia a fallos.
Competencias relacionadas: CG3, CT6, CB2, CE06, CE07, CE08, -
Descubrir los retos en la computación de altas prestaciones en inteligencia artificial
Competencias relacionadas: CG1, CG9, CT2, CT3,
Contenidos
-
Introducció a los sistemas de Computación de Altas Prestaciones
Introducción a los sistemas de computación de gran escala, especializados y la nube. -
Aceleradores y dispositivos de altas prestaciones
Incorporación de aceleradores (e.g. GPUs) y herramientas para su explotación. Operaciones con matrices aceleradas mediante dispositivos especializados. -
Middleware y plataformas de altas prestaciones para la inteligencia artificial
Componentes básicos de hardware y middleware en plataformas de altas prestaciones. Uso de herramientas del estado del arte y la industria (e.g. TensorFlow, Pytorch, etc.) combinado con dispositivos especializados. -
Paralelismo aplicado a la inteligencia artificial
Paralelismo en computación de altas prestaciones y su interacción con los middlewares más extendidos en aplicaciones de inteligencia artificial, aprendizaje profundo y transformers, y sus técnicas asociadas. -
Introducción a modelos distribuidos para Big Data
Introducción a modelos Map-Reduce sobre sistemas de datos distribuidos y lenguaje Scala. -
Concepto de virtualización y containerización
Introducción al uso de máquinas virtuales y containerización, para ejecuciones isoladas y personalización de entornos, así como migración de carga y gestión de recursos en sistemas compartidos. -
Sistemas de ficheros locales y distribuidos, redundancia y disponibilidad
Uso básico de los sistemas de ficheros, así como sistemas de almacenamiento distribuido, volúmenes lógicos, redundancia, tolerancia a fallos y alta disponibilidad. -
Computación en sistemas distribuidos
Conceptos básicos de sistemas distribuidos (e.g. Hadoop y Spark), interconexión y comunicaciones, paradigmas de los sistemas distribuidos y protocolos, tolerancia a fallos. Herramientas básicas para la explotación de concurrencia en sistemas distribuidos, y sus modelos de programación orientados a inteligencia artificial y el proceso masivo de datos. -
Retos de la computación de altas prestaciones para la inteligencia artificial
Retos de presente y futuro de la computación de altas prestaciones aplicada a la inteligencia artificial. Herramientas y entornos actuales en la industria, la nube, la academia y la sociedad.
Actividades
Actividad Acto evaluativo
Conceptos de virtualización y containerización
Introducción al uso de máquinas virtuales y containerización, para la ejecución aislada y personalizada de entornos, así como migración de carga y gestión de recursos a sistemas compartidos.Objetivos: 4
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h
Arquitectura de Servicios y Aplicaciones
Introducción a los modelos Cliente-Servidor, sistemas de gestión de ejecución, y lanzamiento de aplicaciones en sistemas clúster y Cloud.
Teoría
2h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h
Supercomputación y Computación de Altas Prestaciones
Supercomputadores y Computación de Altas Prestaciones, herramientas y entornos. Familiarización con las instalaciones HPC, hand-on en uso de sistemas HPC y lenguaje C.Objetivos: 2
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
9h
Aceleradores, supercomputadores y dispositivos de altas prestaciones
Aceleradores y dispositivos de altas prestaciones. GPUs y dispositivos aceleradores. Multiplicación de matrices usando GPUs. Introducción a Python en un supercomputador.Objetivos: 3
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
9h
Computación en sistemas distribuidos
Conceptos básicos de sistemas distribuidos (e.g. Hadoop y Spark), interconexión y comunicaciones, paradigmas de sistemas distribuidos y protocolos, y tolerancia a fallos. Herramientas básicas para la explotación de concurrencia en sistemas distribuidos, y sus modelos de programación orientados a la inteligencia artificial y al proceso masivo de datos.Objetivos: 6 5
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h
Herramientas y entornos actuales en la industria, la nube, la academia y la sociedad.
Herramientas y entornos actuales en la industria, la nube, la academia y la sociedad.Objetivos: 8
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h
Sistemas de archivos locales y distribuidos, redundancia y disponibilidad
Usos básicos de sistemas de archivos, así como a los sistemas de almacenamiento distribuido de datos, volúmenes lógicos, redundancia, tolerancia a fallos y alta disponibilidad.Objetivos: 7
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h
Paralelismo aplicado a la inteligencia artificial
Paralelismo aplicado a la inteligencia artificial. Escalabilidad, técnicas avanzadas de deep learning, transformers y futuro de Deep Learning.Objetivos: 2 1
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h
Middleware y plataformas de altas prestaciones para la inteligencia artificial
Middleware y plataformas de altas prestaciones para la inteligencia artificial. TensorFlow/Pytorch, Deep Learning, LLMs y HPC.Objetivos: 1
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h
Retos presentes y futuros de la computación de altas prestaciones aplicadas a la inteligencia artificial. Seminarios HPC
Seminarios de expertos en la materia. Presentación de trabajos.Objetivos: 5 1 8
Contenidos:
Teoría
6h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h
Metodología docente
El curso se basa en sesiones de teoría y laboratorio presenciales. Las sesiones teóricas combinan clases magistrales y seminarios de expertos en el ámbito, siguiendo el programa expuesto en este plan de estudios y basadas en el uso de material propio. Durante las sesiones se promueve el diálogo y la discusión para anticipar y consolidar los resultados de aprendizaje de la asignatura.Las sesiones de laboratorio tratan los aspectos relacionados con las diferentes tecnologías presentadas, y siguen los mismos temas del plan de estudios. Son sesiones prácticas en forma de Hands-On, utilizando diferentes recursos computacionales en el Departamento de Arquitectura de Computadores y en el Barcelona Supercomputing Center.
Método de evaluación
La evaluación se fundamentará básicamente en la realización de trabajos de forma continua durante las distintas sesiones del curso. La asistencia y la participación serán obligatorias, y por tanto también se evaluarán pasando lista y requiriendo la participación en las sesiones interactivas. Finalmente, habrá un trabajo de investigación a lo largo de la asignatura, que los estudiantes tendrán que presentar ante sus compañeros.La distribución de los pesos de cada actividad es la correspondiente:
- AS: asistencia a clase, teoría y laboratorios (10%), que servirá para evaluar la competencia transversal CT3.
- PR: participación en clase (15%)
- EX: ejercicios de clase y laboratorio (55%), como media aritmética de las diferentes prácticas.
- RE: presentación de trabajo de investigación (20%), que servirá para evaluar las competencias transversales CT2, CT3 y CT6.
La Nota Final (NF) de la asignatura se obtiene a partir de
NF = 0.10 x AS + 0.15 x PR + 0.55 x EX + 0.20 x RE
Re-evaluación:
a) Solamente se pueden presentar a re-evaluación aquellos que han presentado todas las actividades EX + RE, y han suspendido NF. (Esto es, se excluyen lo que quieran subir nota y los NP)
b) La nota máxima de re-evaluación será un 7.
Bibliografía
Básico
-
First contact with Deep learning : practical introduction with Keras
- Torres, Jordi,
Kindle Direct Publishing,
[2018].
ISBN: 9781983211553
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004153269706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Dive into Deep Learning
- Zhang, Aston and Lipton, Zachary C. and Li, Mu and Smola, Alexander J.,
The authors,
2020.
-
High performance computing : modern systems and practices
- Sterling, Thomas; Anderson, Matthew; Brodowicz, Maciej,
Morgan Kaufmann,
[2018].
ISBN: 9780124201583
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004173809706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Spark: the definitive guide: big data processing made simple
- Chambers, B.; Zaharia, M,
O'Reilly,
2018.
ISBN: 9781491912300
-
Hadoop : the definitive guide
- White, Tom,
O'Reilly,
2015.
ISBN: 9781491901632
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004054859706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
La inteligencia artificial explicada a los humanos
- Torres Viñals, Jordi,
Plataforma Editorial,
2023.
ISBN: 9788419655561
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005151879806711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Supercomputing for Artificial Intelligence: Foundations, Architectures and Scaling Deep Learning
- Torres Viñals, Jordi,
Watch This Space,
2025.
ISBN: 9798319328359
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005476510706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementario
-
BSC documentation about Marenostrum 5
- Barcelona Supercomputing Center,
Web links
- Documentation MareNostrum-V https://www.bsc.es/supportkc/docs/MareNostrum5/intro/