You are here: Foswiki>Main/Cimec Web>CursoHPCenMC (05 Apr 2023, MarioStorti)Edit Attach

Curso de Posgrado: Computación de Alto Rendimiento en Mecánica Computacional

Novedades

[New] feed

  • [No hay novedades por el momento...]

More PETSc-FEM results...
Más novedades HPCMC...


Related pages:

Objetivo

El objetivo del curso es desarrollar las aptitutes del alumno en cuanto a la programación en C++ con los estándares/librerías MPI, PETSc y Open-MP, los cuales son actualmente una combinación efectiva para la resolución de grandes problemas de mecánica computacional en cluster de procesadores multi-core. La orientación del curso es hacia el aprendizaje del uso intensivo de estas tecnologías.

Programa Analítico

  • Conceptos básicos de MPI. Es MPI pequeño o grande? Uso de MPI en programas simples. Ejemplos en Fortran y C.. Tomando tiempos de programas.. Un ejemplo con self-scheduling. I/O en MPI. Estrategia master/slave en SPMD. Formato de llamadas, códigos de error. Funciones básicas.

  • Comunicación punto a punto. Envelope de un mensaje, condiciones de recepción. Dead-lock. La función send-recv. Comunicaciones no-bloqueantes. Ejemplos: Cálculo del ancho de banda de una red. Cálculo del ancho de banda de disección de un cluster. Implementación de broadcast lineal y en árbol con comunicación punto a punto.

  • Comunicación colectivas. Broadcast. Reducción global. Operaciones asociativas. Definición de nuevas operaciones asociativas. Allreduce. Tiempos de comunicación y soncronización. Escalabilidad. Ejemplo:Cálculo de PI por integración. Llamadas colectivas.

  • MPI en ambientes Unix. MPICH. Utilitarios. Ejemplo: Prime Number Theorem. Estrategia compute-on-demand. MPE logging. Escalabilidad. Usod e jumpshot. Rendimiento en clusters heterogéneos. Paralelismo trivial. Ejemplo: El Problema del Agente Viajero(TSP). Adaptación del algoritmo dinámico. Ejemplo:Cálculo de PI por Montecarlo. Uso de communicators. Ejemplo: producto de matrices en paralelo. Algoritmos estático y dinámico. Escalabilidad. Ejemplo: El Juego de la Vida de Conway. Automatas celulares. Algoritmo estático y dinámico. Comunicación encadenada. Escalabilidad. Comunicación no-bloqueante. Ejemplo: El problema de Poisson. Topologías virtuales. Escalabilidad

  • Operaciones colectivas avanzadas de MPI. Scatter, gather y all-gather. Versiones vectorizadas. Ejemplo: la función print-par (gather and print). Ejemplo: La función rescatter. Definiendo tipos de datos derivados. Ejemplo: rotar columnas de matrices. Ejemplo: El método iterativo de Richardson.

  • PETSc. La librería PETSC de álgebra lineal en paralelo. Objetos PETSc. Estructura de la librería PETSc. Usando PETSc. Escribiendo programas que usan PETSc. Ejemplo simple. Ec. de Laplace 1D. Headers. Bases de datos/Opciones.

  • Vectores y datos distribuidos. Creando vectores. Operaciones básicas sobre vectores. Indiciación. Operaciones de scatter y gather. Matrices. Matrices sparse. Matrices densas. Operaciones básicas sobre matrices. Operaciones `matrix-free'.

  • SLES: Solvers lineales . Resolviendo secuencias de sistemas lineales.. Familia de métodos de Krylov . Precondicionamiento. Tests de convergencia. Monitoreo de la convergencia. Espectro del operador.

  • Open-MP. Conceptos básicos de Open-MP. Memoria compartida. Datos privados y públicos. Race conditions. El Open-MP estándar. Threads. Regiones paralelas.Pragmas. Cláusulas.

  • Interacción con Open-MP: directivas, variables de entorno, entorno en tiempo de ejecución. Compilación condicional. Lazos paralelos. Sincronización. Cláusulas private, shared, first/last private, reduction. Directivas de trabajo compartido: parallel.

  • Open-MP. Balance de carga: la cláusula `schedule'. Secciones. Directivas huérfanas de trabajo compartido. Sincronización con barreras. Regiones críticas. Directivas single and master. Otras directivas de sincronización. Ejemplo: Productos de muchas matrices. Ejemplo: Producto matriz vector.

  • Open-MP. Variables de entorno. Funciones de la librería en tiempo de ejecución. Rutinas utilitarias de información y ajuste de parámetros. Rutinas para el manejo de semáforos. Semáforos anidados. Ejemplo: simulando scheduling dinámico con semáforos.

Docentes

  • Dr. Mario Storti Investigador Principal CONICET, Profesor Asociado UNL. Áreas de Especialización: Mecánica Computacional; Mecánica de Fluidos; Computación de Alto Rendimiento; Método de Elementos Finitos y Volúmenes Finitos; Interacción Fluido Estructura; Termo Fluido-Dinámica Computacional

  • Dr. Jorge D'Elía Investigador Independiente CONICET, Prof. Adjunto. Áreas de Especialización: Mecánica Computacional; Mecánica de Fluidos; Cálculo Paralelo; Método de Elementos de Contorno

Horarios

  • Comienza: Martes 2023-04-04 1300hs
  • Horario: Martes 1300 a 1600hs
  • Lugar: presencial online (Zoom)

Material

Videos de las clases del curso

Exámenes tomados previamente

Topic attachments
I Attachment Action Size Date Who Comment
cudamc.pdfpdf cudamc.pdf manage 578 K 10 Jul 2013 - 19:20 MarioStorti Curso CUDA (Santi Costarelli)
Topic revision: r75 - 05 Apr 2023, MarioStorti
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback