Créditos
6
Tipos
Complementaria de especialidad (Computación de Altas Prestaciones)
Requisitos
Esta asignatura no tiene requisitos
, pero tiene capacidades previas
Departamento
AC
Profesorado
Responsable
- Jesus Jose Labarta Mancho ( jesus.labarta@ac.upc.edu )
Horas semanales
Teoría
2
Problemas
0
Laboratorio
1
Aprendizaje dirigido
0
Aprendizaje autónomo
7
Competencias
High performance computing
Genéricas
Básicas
Contenidos
-
Conceptos básicos en programación paralela y análisis de rendimiento.
Conocimiento previo necesario para seguir el curso de programación paralela avanzada. Problemas en la programación de arquitecturas multinúcleo. Introducción general de las principales técnicas y características básicas de las actuales herramientas de análisis de rendimiento. -
Programación avanzada de memoria compartida y distribuida: OpenMP y MPI.
Resumen de las características básicas en OpenMP y MPI. Características avanzadas en OpenMP, MPI y programación híbrida. -
Programación avanzada en flujo de datos y paradigmas innovadores en arquitecturas basadas en aceleradores.
Paradigmas de flujo de datos (OmpSs). Explotación del paralelismo en tiempo de ejecución y ocultación de la arquitectura. Programación paralela avanzada usando aceleradores: CUDA, OpenCL, OpenACC, ... -
Adquisición de datos y analitica de rendimiento.
Traceo de aplicaciones secuenciales y paralelas. Procesado de trazas y analitica de rendimiento. -
Modelos y predicción de rendimiento.
Modelos de rendimiento paralelo basados en trazas. Parámetros de la arquitectura: CPU, memoria, interconexión. -
Análisis y optimización de aplicaciones reales
Análisis de dos aplicaciones grandes (secuenciales y/o paralelas) y optimización usando paradigmas de programación híbrida (flujo de datos, memoria compartida y distribuida y aceleradores).