HPC Operations

Techniques and methodology for parallel programming

HPC Applications


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

Evaluation

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

Up


HPC Operations - Module 2

Parallel Filesystems

Christian Guggenberger (Max Planck Computing and Data Facility, Germany)

Objectives

Detailed Program:

Bibliography:

Evaluation:

Up


HPC Operations - Module 3

Supporting HPC operations through collaboration, version control tools and continuous integration

Florian Kaiser (Max Planck Computing and Data Facility, Germany)

Objectives

Detailed Program:

Bibliography:

Evaluation:

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:

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:

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

Esteban Mocskos & Alejandro Soba (CSC-CONICET, DC, CNEA)

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:

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:

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:

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

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:

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:

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