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
6h
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
4h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h
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
2h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h
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
2h
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
6h
Aprendizaje dirigido
0h
Aprendizaje autónomo
18h
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
Cualquier acto de fraude académico, plagio o uso o mera tenencia al alcance de medios no autorizados en cualquier actividad de
evaluación comportará la calificación de cero (0) en la prueba o entrega afectada. Además, de acuerdo con la normativa de la
Universidad, la posible derivación de los hechos para la apertura de un expediente disciplinario implicará que la asignatura quede en
el estado provisional de "pendiente de evaluación" hasta la resolución del expediente. La gestión de estas incidencias se lleva a cabo
de acuerdo con el Marco de actuación para la integridad académica en la evaluación de la UPC.
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 (50%), como media aritmética de las diferentes prácticas.
- RE: presentación de trabajo de investigación (25%), 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.50 x EX + 0.25 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/