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.

Metodología

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.

Perfil del docente

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.

¿Qué vas a aprender?

• Introducción a la arquitectura de computadores.

Es indispensable conocer la arquitectura de los ordenadores actuales para obtener buen rendimiento en la ejecución de aplicaciones

• Optimización de código.

Antes de paralelizar es necesario optimizar el código en su versión secuencial

• Introducción al paralelismo, conceptos básicos.

Conceptos básicos de paralelismo y particularidades de la arquitectura

• Vectorización.

Como explotar la unidad vectorial de los procesadores actuales

• Memoria compartida vs. memoria distribuida.

Comparación entre los 2 modelos de memoria principales y sus particularidades a la hora de paralelizar

• Entornos de programación paralela

    • OpenMP
    • MPI

Sintaxis de los dos entornos de programación paralela más utilizados

• Programación paralela híbrida.

Combinar ambos paradigmas en una misma aplicación para explotar varios niveles de paralelismo

• Python y paralelismo.

Conceptos básicos y opciones de paralelización en Python

Prerrequisitos

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.

REGISTRO