Máster HPC

  • Máster HPC

Suscribete

  • Suscribete a Novas CESGA

HPC User Portal

  • HPC User Portal

Estado dos sistemas

  • Solo visible desde Firefox o Chrome.

Compromisso com a igualdade

  • Igualdad CESGA

Curso: Optimización y profiling de aplicaciones HPC usando herramientas libres

 0 voto(s)

terça-feira 29/05/2018 17:21

Objetivo del Curso:  El objetivo general del curso es proporcionar al alumno un entrenamiento básico en el uso de las distintas herramientas existentes en el mundo del Software Libre destinadas al análisis, depuración y optimización de código secuencial y paralelo.

Entre las herramientas que se estudiarán en este curso destacan las desarrolladas en el BSC (Barcelona Supercomputing Centre), Paraver, Extrae y Dimemas, además de herramientas clásicas muy útiles para el profiling y la optimización como gprof o callgrind/valgrind, todo ello sobre los compiladores GNU.

Prerequisitos: Se requiere saber programar aplicaciones secuenciales en lenguaje C/C++ o en Fortran. Unos conocimientos básicos de programación paralela mejorarán el seguimiento del curso.

Duración: 15 horas

Fecha: 12, 13 y 14 de junio en horario de 9:00h a 14:00h.

REGISTRO

Programa del curso:

- Día 1: En este primer día el objetivo será realizar una introducción al curso en general y a algunos conceptos comunes necesarios durante el mismo. Luego, optimizaremos nuestro código examinando las principales opciones presentes en los compiladores GNU y analizaremos su rendimiento usando el profiler de GNU, gprof, y las herramientas callgrind/valgrind para detectar cuellos de botella, identificando en qué partes del mismo debemos incidir a la hora de optimizarlo.

  * Breve introdución a las arquitecturas modernas y a las posibilidades de paralelización del código. Introducción a distintas alternativas libres disponibles para la depuración, análisis y optimización de código.

* Uso de los compiladores GNU para mejorar el rendimiento de nuestro código.

* Utilización de las herramientas GNU gproff y Callgrind/Valgrind para analizar el rendimiento y el uso de recursos.

- Día 2: En la segunda jornada del curso nos centraremos en las oportunidades de paralelización de código utilizando memoria compartida. En este caso nos centraremos en las posibilidades de vectorizar el código y en la posibilidad de extraer paralelismo usando pragmas OpenMP, que constituyen las dos formas más sencillas de poder extraer paralelismo en un código secuencial.

* Como guías de este proceso utilizaremos las herramientas desarrolladas en el BSC: Paraver, Extrae y Dimemas.

- Día 3: En la tercer y última jornada del curso nos centraremos en las oportunidades de paralelizar nuestro código en memoria distribuida. En este caso utilizaremos como tecnología de referencia la librería de paso de mensajes MPI.

* Nuevamente haremos uso de las herramientas del BSC: Paraver, Extrae y Dimemas.

* Actividad en la que cada alumno podrá utilizar los conocimientos adquiridos durante el curso para empezar a optimizar un código propio.

Profesor: Emilio Padrón es un investigador y profesor del Grupo de Arquitectura de Computadores de la Universidade da Coruña. Sus principales líneas de investigación son la Computación de Altas Prestaciones y los Gráficos por Computador.

Valorar: