Talleres

Repositorio GIT

Todos los materiales de la Escuela de Veranillo en HPC están disponibles en el repositorio https://github.com/CNCA-CeNAT/EV-HPC-2017

Bloque 1: Introducción a la Programación

Herramientas Linux

El taller de Herramientas en Linux será impartido por el Ing. Andrés Mora, investigador del PRIS-Lab. Se abordarán los siguientes temas:

  • Sistema de archivos.
  • Variables de ambiente.
  • Utilidades de texto.
  • Principios de Bash .
  • Git.
  • Network basics: ssh.

Biografía: Andrés Mora realizó sus estudios de bachillerato en la escuela de Ingeniería Eléctrica de la Universidad de Costa Rica. Actualmente se encuentra realizando sus estudios de posgrado en la Maestría Académica en Ingeniería Eléctrica por medio del Sistema de Estudios de Posgrado de la Universidad de Costa Rica y laborando como docente en la escuela donde realiza sus estudios. Es investigador y miembro activo del Laboratorio de Reconocimiento de Patrones y Sistemas Inteligentes (PRIS-Lab), así como del Centro de Investigación en Movimiento Humano (CIMOHU). Su investigación profundiza en bioinformática, especialmente en la aplicación del reconocimiento de patrones a imágenes de microscopios digitales.

Programación en C

El taller de Programación en C será impartido por el M.Sc. Ricardo Román, investigador del PRIS-Lab. Se abordarán los siguientes temas:

  • Introducción a la programación, problema, algoritmo, instancia, programa
  • Compilador
  • Constantes, variables y tipos de datos
  • Estructuras de control
  • Operadores y funciones
  • Arreglos y punteros
  • Manejo de memoria
  • Manejo de archivos
  • Hilos de ejecución
  • Bibliotecas externas

Biografía: Ricardo Román-Brenes tiene un bachillerato en Ciencias de la Computación e Informática de la Universidad de Costa Rica y una Maestría en Ingeniería en Computación con énfasis en Ciencias de la Computación del Instituto Tecnológico de Costa Rica. Actualmente cursa el Doctorado Académico en Ingeniería de la Universidad de Costa Rica y su trabajo de graduación se centra en la aplicación de métodos computacionales para la predicción de quimiosensibilidad en cáncer. Entre sus intereses están los sistemas operativos, la computación de alto rendimiento paralela y distribuida las ciencias computacionales, visualización y docencia.

 

Bloque 2: Computación de Alto Rendimiento

Programación en Memoria Compartida (OpenMP)

El taller de Programación en Memoria Compartida (OpenMP) será impartido por el Dr. Esteban Meneses, director del CNCA. Se abordarán los siguientes temas:

  • Principios de programación multihilo.
  • Sistemas de memoria compartida.
  • Modelos de programación paralela.
  • Estándar de programación Open Multi-processing (OpenMP).
  • Regiones paralelas y tipos de variables.
  • Secciones críticas y barreras.
  • Ciclos paralelos y calendarización.
  • Otras construcciones paralelas.

Biografía: Esteban Meneses es el director del Colaboratorio Nacional de Computación Avanzada (CNCA) del Centro Nacional de Alta Tecnología (CeNAT). Además, es profesor asociado en la Escuela de Computación del Instituto Tecnológico de Costa Rica. Sus intereses de investigación giran alrededor de la computación de alto rendimiento: algoritmos escalables de tolerancia a fallas y programación científica usando objetos paralelos. Esteban se graduó del doctorado en ciencia de la computación de la Universidad de Illinois en Urbana-Champaign y trabajó como investigador en el Centro de Simulación y Modelado de la Universidad de Pittsburgh.

Programación para Aceleradores (OpenACC)

El taller Programación para Aceleradores (OpenACC) será impartido por el M.Sc. Jorge Castro, investigador del CNCA. Se abordarán los siguientes temas:

  • Conceptos básicos sobre programación para aceleradores.
  • Estándar de programación OpenACC.
  • Perfilado de código con OpenACC toolkit.
  • Directivas para expresar paralelismo.
  • Directivas para expresar movimiento de datos .
  • Directivas para expresar optimizaciones.

Biografía: Jorge Castro tiene un bachillerato en Ciencias de la Computación e Informática de la Universidad de Costa Rica y una Maestría Académica en Ingeniería Eléctrica con énfasis en Sistemas Digitales de la Universidad de Costa Rica.  Entre sus intereses están el procesamiento de señales digitales, la bioacústica, el aprendizaje automático y la computación de alto rendimiento con OpenACC. Actualmente está trabajando en acelerar con OpenACC el método de cancelación de ruido de ambiente en grabaciones de vocalizaciones de manatíes antillanos, desarrollado en su tesis de maestría.

 

Programación Memoria Distribuida (MPI)

El taller Programación Memoria Distribuida (MPI) será impartido por el Lic. Diego Jiménez, investigador del CNCA. Se abordarán los siguientes temas:

  • Principios sobre los modelos de programación en paralelo, sistemas de memoria distribuida, SPMD.
  • El estándar de programación de Paso de Mensajes, historia, descripción general.
  • Definiciones básicas: comunicadores, rangos, y mensajes.
  • Mensajes punto a punto, incluyendo envíos y recibidos sin bloqueo.
  • Generalidades de las operaciones de comunicación colectiva, usando broadcast y reduction.

Biografía: Diego Jiménez Vargas, ingeniero en computadores graduado del Instituto Tecnológico de Costa Rica con grado de licenciatura, es parte del equipo de trabajo del Colaboratorio Nacional de Computación Avanzada, donde realiza investigaciones en computación científica y de alto rendimiento. Actualmente, está involucrado en un proyecto del área de la neurociencia computacional donde aporta sus conocimientos en programación paralela para la construcción de un cluster computacional, basado en plataformas de hardware reconfigurables, para la simulación de redes neuronales biológicamente significativas. Por otro lado, realiza estudios sobre los patrones de comunicación presentes en aplicaciones MPI de gran escala y su mapeo a topologías de interconexión comunes en computación de alto rendimiento. Sus intereses de investigación se centran en la programación paralela y la computación de alto rendimiento, así como la computación científica aplicada en el área de la neurociencia.

 

Bloque 3: Programación Paralela Avanzada

Programación Paralela Avanzada

El taller de Programación Paralela Avanzada será impartido por el M.Sc. Ivan Girotto y M.Sc. Marlon Brenes. Se abordarán los siguientes temas:

  • Introduction to the ICTP and HPC related activities.
  • Overview on modern computer architectures systems for HPC: the software crisis.
  • Parallel thinking.
  • Best practices of parallel programming for HPC.
  • Exponential integrators using matrix functions: Krylov subspace methods and Chebyshev expansion — The HPC approach.

Biography: Ivan Girotto is appointed at the Abdus Salam, International Centre for Theoretical Physics as High-Performance Computing (HPC) Application Specialist. With more than ten years of experience Ivan Girotto has previously served, as computational scientist, at national supercomputing centres such as CINECA, and later at the Irish Centre for High-End Computing (ICHEC). Today at ICTP, Ivan is co-director and lecturer in number of international workshops and advanced schools as well as in other programs for education and training on parallel programming for scientific computing and HPC (i.e., the joint SISSA/ICTP Master program in HPC). His main activity at the ICTP remains to conduit and support the world-wide community to efficient research production on platforms for high-performance computing. Ivan Girotto is also one of the Principal Investigators of the Europen Centre of Excellence MaX – Materials design at the Exascale.

Biography: Marlon Brenes is a physicist and a chemical engineer from Universidad de Costa Rica. After graduating he moved to Trieste, Italy; in order to take the joint SISSA/ICTP Master in HPC program under the ICTP fellowship, where he graduated with honors. He is currently a visiting scientist at the Condensed Matter and Statistical Physics section of the ICTP and his research interests are out-of-equilibrium physics of complex quantum systems, quantum entanglement and thermodynamics; and HPC-related approaches towards the simulation of quantum dynamics. He’s starting his PhD in Physics at Trinity College Dublin in September 2017 supported by the Royal Society of London URF program.