2. Curso Introductorio a MPI


Prof. Frédéric Masset
Instituto de Ciencias Físicas, UNAM, México


Objetivos: Después de un breve repaso del lenguaje C, estudiaremos los conceptos básicos de la programación para arquitecturas de memoria distribuida con MPI (Message Passing Interface). Posteriormente estudiaremos los conceptos de programación multihilos en GPUs (Graphics Processing Units) con el lenguaje CUDA.

Número total de horas: 15

Número máximo de alumnos: 15

Nivel: Curso Introductorio

Horario: Lunes a miércoles de 12:00pm a 14:30pm y de 17:30pm a 19:00pm; viernes de 12:00pm a 15:00pm.

Programa:

  • Unidad 1: Recordatorio de programación en lenguaje C
  • Unidad 2: Presentación del estándar MPI (Message Passing Interface) y programación de ejemplos sencillos
  • Unidad 3: Comunicaciones bloquantes vs. no-bloquantes. Noción de deadlock Debugging de un código MPI
  • Unidad 4: Presentación general de los GPUs
    • Arquitectura : multiprocesadores, núcleos, distintos tipos de memoria
    • Definición del vocabulario específico a CUDA
    • Advertencias sobre el cómputo en GPUs
    • Práctica 1: ¿Qué GPU tengo en mi maquina?
  • Unidad 5: Preparando el GPU
    • Reservación y liberación de video RAM
    • Comunicación con el CPU
    • Medición de anchos de banda
    • Uso de la "page lock" memory
    • Práctica 2: Medición de anchos de banda
  • Unidad 6: Primera función en CUDA
    • Redacción de un kernel CUDA
    • Grids, Blocks y threads
    • Invocación de un kernel
    • Práctica 3: Adición de dos matrices
    • Práctica 4: Convolución de una matriz
    • Pruebas de tiempo de ejecución
  • Unidad 7: Optimización de un kernel CUDA
    • Bank conflict
    • Warp divergence
    • Uso del profiler CUDA
    • Práctica 5: Uso del profiler sobre el programa de la practica 4
  • Unidad 8: Librerías de CUDA
    • Necesidad de librerías de bajo nivel : ejemplo de las reducciones
    • Presentación de Mark Harris
    • Librería cudpp
    • Otras librerías (cufft, cublas)

Acerca del profesor: Investigador del Instituto de Ciencias Física de la UNAM, con sede en Morelos, quien nació en 1970 en Limoges, France. En 1990 se integró a la l’École Normale Supérieure de París, donde se especializó en Física y posteriormente en Astrofísica. Defendió su tesis doctoral en 1997 en la Universidad de París VII, sobre temas de dinámica galáctica. Posteriormente hizo un post doctorado en la Universidad Queen Mary & Westfield College en Londres, donde empezó a interesarse en temas relacionados con planetas extra-solares y formación planetaria. Actualmente es investigador titular en el Instituto de Ciencias Físicas de la UNAM. Sus trabajos de investigación se enfocan en procesos vinculados con las fases tardías de la formación planetaria, donde ha contribuido en particular con estudios de la llamada migración planetaria.

Ha publicado 42 artículos arbitrados en revistas como Astronomy & Astrophysics, the Astrophysical Journal, Celestial Mechanic and Dynamical Astronomy, Icarus, Monthly Notices of the Royal Astronomical Society, Nature, Physical Review Letters, entre otras. Estas publicaciones han recibido alrededor de tres mil citas.

Trabaja en líneas de investigación como Formación planetaria; Interacción disco-planeta; Discos de acreción y magnetohidrodinámica; Cómputo de alto desempeño y cómputo paralelo.

Otros cursos
E-mail de contacto: carla2016@math.cinvestav.edu.mx