Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web. Si continúa navegando consideramos que acepta el uso de cookies. OK | Política de cookies | Política de Privacidad
Language: English
RSS

Máster HPC

  • Máster HPC

Suscribete

  • Suscribete a Novas CESGA

HPC User Portal

  • HPC User Portal

State of the systems

  • Solo visible desde Firefox o Chrome.

Follow us ...

  • Twitter FacebbokFlickrYouTube CESGA

SME Services

  • Servicios para Empresas

díxitos Julio 2018

  • díxitos Julio 2018

  • CESGA ICTS

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

 2 vote(s)

Friday 21/09/2018 09:21

Objetivo del Curso: El objetivo del curso es proporcionar al alumno un entrenamiento básico en el uso de herramientas existentes en el mundo del Software Libre destinadas al análisis 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.

Fecha: 19, 20 y 21 de noviembre de 2018 en horario de 9:00h a 14:00h. en el CESGA

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 gprof 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.

Profesores: Diego Andrade y Basilio Fraguela son investigadores y profesores del Grupo de Arquitectura de Computadores de la Universidade da Coruña. Llevan más de 10 años impartiendo docencia e investigando en temas relacionados con el análisis y la optimización del rendimiento de aplicaciones, tanto en entornos secuenciales como paralelos.

Rate: