HPC Operations

Techniques and methodology for parallel programming

HPC Applications

Student posters

“Brazilian Test numerical study on anisotropic rocks with weak interfaces”. Humberto M. Celleri, Martín Sánchez, José L. Otegui

“Influencia de la conectividad sobre las distribuciones de permeabilidad efectiva en modelos de reservorios binarios”. Iván Colecchio Pua, Alejandro Boschan, Alejandro Otero

“Inmovilización de nanopartículas de Au en túneles de grafito a través de nanocapilaridad”. J. A. de la Rosa-Abad, G. J. Soldano, S. J. Mejía-Rosales, M. M. Mariscal

“Development of a thermodynamic model for power generation using small-scale gasification technologies in Colombia”. Fidias González, Viviana Martinez, Mateo Sanclemente, María Gómez, Manuel Figueredo

“Algoritmos evolutivos para la planificación de eficiencia energética en hogares”. Giovanni Colacurcio, Santiago Iturriaga y Sergio Nesmachnow

“Estudio y Simulación Numérica Directa de la Transición Laminar-Turbulenta en Canales Rectangulares”. William Ismael Machaca Abregu, Federico Eduardo Teruel, Enzo Alberto Dari.

“Modelo Teórico de Entropía y Entalpía de Intercalación: Aplicación al Compuesto Grafito-Litio”. Eduardo M. Perassi, Ezequiel M. Leiva

“A Hardware Accelerator for the Alignment of Multiple DNA Sequences in OpenCL”. Antonyus P. A. Ferreira, Jefferson R. L. Anjos, João G. M. Silva, Luiz H. A. Figueiroa, Edna N. S. Barros, Manoel E. Lima

“A multiobjective model to optimize the location of garbage accumulation points in a real-world case”. Diego Gabriel Rossit, Sergio Nesmachnow, Renzo Massobrio, Jamal Toutouh, Fernando Tohmé

“Creating an agent to play the quoridor game”. Daniel Esteban Sanchez Rodriguez, Hector Arturo Florez Fernandez


HPC Operations - Module 1

SLURM Simple Linux Utility for Resource Management

Gilberto Diaz (Universidad Industrial de Santander)

Objectives

Slurm is an open source, fault-tolerant, and highly scalable cluster management and job scheduling system for large and small Linux clusters. The main objective of this module is to learn about the SLURM scheduler and manager: its functionality, installation, configuration, monitoring and maintenance.

Detailed Program

Material for students:

Slides

Evaluation

Review of a prototype installed by the student. Short theoretical exam.

Up


HPC Operations - Module 2

CLUSTERs: Arquitectura y Evolución.

Evolución - Virtualización - Modularización - Filesystem - Automatización

Personal DCAP-GTIC-CNEA

Up


HPC Operations - Module 3

Up


HPC Operations - Module 4

Networking for HPC

Albino Aveleda (Universidade Federal do Rio de Janeiro, Brasil)

Objectives

Detailed Program

Bibliography

Evaluation

Theoretical exam at the end of module.

Up


Techniques and methodology for parallel programming - Module 1

HPC Technology and GPU Technology

Markus Rampp & Klaus Reuter (Max Planck Computing and Data Facility, Germany)

Objectives

Detailed Program:

Material for students:

Slides & codes

Bibliography:

Evaluation:

Perform a basic performance analysis for a given HPC code and provide interpretation Optional/alternative: short interview about HPC fundamentals

Up


Techniques and methodology for parallel programming - Module 2

Distributed memory programming using MPI

Sergio Nesmachnow (Universidad de la República, Uruguay)

Requisites: basic programming.

Objectives:

Detailed Program:

Material for students:

Slides

Bibliography:

  1. Ian Foster. Designing and Building Parallel Programs. Addison-Wesley,
  2. ISBN 0-201-57594-9.
  3. Marc Snir, Steve Otto, Steven Huss-Lederman, David Walker, Jack Dongarra. MPI: The Complete Reference. MIT Press. 1995. ISBN 0-262- 69215-5.
  4. William Gropp, Ewing L. Lusk, Anthony Skjellum. Using MPI: Portable Parallel Programming with the Message Passing Interface. The MIT Press, 1999 (2nd edition). ISBN 978-0262571326.
  5. William Gropp, Ewing L. Lusk, Rajeev Thakur. Using MPI-2: Advanced Features of the Message Passing Interface. The MIT Press. 1999 (1st edition) - ISBN 978-0262571333.

Evaluation:

The evaluation will consist in practical programming exercises and solving of concrete problems applying the techniques included in the course.

Up


Techniques and methodology for parallel programming - Module 3

Programming with shared memory using OpenMP y CILK

Alejandro Soba, CNEA, Argentina and David. González Márquez, DC-FCEN, Argentina)

Objectives

Impartir los rudimentos necesarios como para comprender el paradigma de programación en máquinas de memoria compartida. Aprender a programar con las herramientas OPENMP y/o CILK en un lenguaje de alto nivel (C, FORTAN). Comprender la factibilidad de re-convertir un código determinado para obteniendo un rendimiento óptimo en máquinas de memoria compartida.

Detailed Program:

Material for students:

Slides & Codes

Bibliography:

Evaluation:

Implement a proposed parallel application (medium complexity). The implementation should combine and/or compare the use of OpenMP and Cilk++. The student has to analyze the scalability, create figures and discuss the results, including the amount of time used in the implementation with both techniques.

Up


Techniques and methodology for parallel programming - Module 4

Programming with parallel objects

Esteban Meneses (National High Technology Center, Costa Rica)

Objectives

Introduce fundamental concepts underlying the parallel objects paradigm to encourage students to further explore the model.

Specific Goals:

Detailed Program:

Material for students:

Slides

Bibliography:

Evaluation:

Students will develop a non-trivial Charm++ application and analyze its scalability. The performance of such application will be visualized using Projections, a performance analysis tool. Modifications to the original code will be made to avoid performance bottlenecks.

Up


HPC Applications - Module 1

Instability analysis using eigenvalues in large scale dynamical systems

Leo González (UPM, Spain)

Prerequisites

Students should be familiar with basic knowledge -undergraduate student level- in subjects such as Algebra, Calculus, Numerical Methods and Physics. It also recommended a minimum experience in scientific programming languages such as Fortran or C, or in others such as Matlab or Python. Two or more completed university courses in any science or engineering degree should be more than enough to complete the course.

Objectives

The main objective of the course is to show how a large variety of dynamical systems can be studied and transformed into large eigenvalue problems. The size of the matrices involved in these eigenvalue problems depend on the number of degrees of freedom of the discretized problem and due to its large dimension often require particular techniques to be solved by computers. A representative number of physical and engineering problems will be tackled by these methods.

Detailed Program:

Material for students:

Slides & codes

Bibliography:

Evaluation:

The course evaluation will have two parts. First, small exercises will be carried out in friendly Matlab-like environments. Second, a project will be proposed to the student in order to use the codes developed in the course.

Up


HPC Applications - Module 2

Visualization

Klaus Reuter & Markus Rampp (Max Planck Computing and Data Facility, Germany)

Objectives:

Detailed Program

Material for students:

Slides & codes

Bibliography

Evaluation

Produce a visualization for a given dataset (with VisIt and/or Paraview) and deliver a movie/snapshots Optional: short interview about visualization methodology

Up


HPC Applications - Module 3

Salome Suite

Mario Storti (CIMEC, Santa Fe, Argentina)

Pre-requisites

Conocimientos básicos de Mecánica Computacional, Mecánica del Continuo, programación.

Objectives

Detailed Program:

Material for students:

Slides

Bibliography:

Evaluation:

Consiste en resolver problemas de mecánica de fluidos o estructuras usando los programas de la suite. Cada ejercicio tiene una duración típica de 1 hora y se realizarán 3 ejercicios.

Up


HPC Applications - Module 4

Introduction to computational mechanics in multiphysics problems from Engineering

Mariano Vázquez (BSC, Spain)

Pre-requisites

Basic knowledge at the level of a first course on Mathematical Analysis, Algebra, Numerical Methods, Physics and Programming. 2nd or 3rd year students of Physics, Maths, Engineering or Computer Science should have all the necessary background to take this course.

Objectives

Detailed Program:

Material for students:

Slides

Bibliography:

Evaluation:

The course will be approved through practical or theoretical exercises for fluid mechanics, solid mechanics, convection equations, etc. The student will chose what computational aspect to analyze: parallel performance, accuracy, physical meaning, convergence, I/O strategy, etc.

Up