
El curso se dirige, profesionales e investigadores interesados en explotar los recursos que nos ofrecen los ordenadores actuales para mejorar el rendimiento de sus aplicaciones. El curso busca dar una primera introducción a la programación paralela y al paralelismo en general, pero no es un curso de ningún paradigma ni lenguaje en particular.
Título del curso: Introducción al Paralelismo
Fecha: 24-28 de noviembre de 2025
Horario: de 10:00h a 14:00h
Modalidad: PRESENCIAL en las instalaciones del CESGA.
NOTA: Tras el reciente nombramiento del CESGA como uno de los nodos para el Quantum Internet Alliance (QIA) Hackathon, y dado que los recursos y parte de los asistentes son comunes, el viernes 28 no habrá sesión de este curso. Dicha sesión se mueve al martes 2 de Diciembre. Lamentamos las molestias que este inconveniente pueda ocasionar.
Impartición de la actividad formativa en modalidad presencial con personal cualificado y especializado en la materia, con impartición de conocimientos teóricos y ejecución prácticas para el desarrollo de los conocimientos.
El curso incluye además la realización de ejercicios prácticos a realizar por el alumno que serán comentados y corregidos en clase.
José Carlos Mouriño Gallego
Ingeniero en Informática y Doctor en Arquitectura de computadores por la Universidad de A Coruña. Trabaja en el CESGA como técnico superior de aplicaciones desde 2005. Acumula más de 25 años de experiencia en la compilación, optimización y paralelización de aplicaciones. También tiene varias publicaciones científicas en la materia y premios y distinciones fruto de sus paralelizaciones.
Es indispensable conocer la arquitectura de los ordenadores actuales para obtener buen rendimiento en la ejecución de aplicaciones
Antes de paralelizar es necesario optimizar el código en su versión secuencial
Conceptos básicos de paralelismo y particularidades de la arquitectura
Como explotar la unidad vectorial de los procesadores actuales
Comparación entre los 2 modelos de memoria principales y sus particularidades a la hora de paralelizar
Sintaxis de los dos entornos de programación paralela más utilizados
Combinar ambos paradigmas en una misma aplicación para explotar varios niveles de paralelismo
Conceptos básicos y opciones de paralelización en Python
Tener unos mínimos conocimientos de programación para el adecuado aprovechamiento del curso, pero no es necesaria ninguna experiencia previa de programación paralela.
Las pruebas y ejercicios se realizarán en el Supercomputador Finisterrae III, para lo cual se puedo proporcionar una cuenta a los alumnos que no dispongan de ella.