Program
Overview
Preliminary program of SC-Camp 2018
Program summary
- Welcoming
- Introduction to High Performance Computing
- Using an HPC cluster
- Debugging & Profiling
- Data Analysis with R
- HPC Programming: Principles of Distributed and Shared Memory Models
- Leveraging Accelerators for HPC
- Big Data
- Contest
- Keynotes
- Closing
Detailed Program
Welcoming
Registration
Meeting the staff and instructors
Welcome and Local Presentation
Speakers:
- Prof Carlos Jaime Barrios Hernandez (UIS - Bucaramanga, Colombia)
- Local committee
Presentation of SC-Camp and the Sponsors and the local research teams.
Introduction to High Performance Computing
Lecture: Introduction to HPC Applications, the Need for Scalable Architectures
Duration: 1h30
Speaker: Prof Carlos Jaime Barrios Hernandez (UIS - Bucaramanga, Colombia)
An introduction to the first parallel and distributed machines until today state-of-the-art. This lecture aims at presenting the key factors from the rise of parallel applications to today’s huge distributed systems. From the cluster to BigData, passing through the grid, the cloud, GPU, and much more.
Lecture: Practical Introduction to High Performance Computing
Duration: 1h
Speaker: Dr Xavier Besseron (University of Luxembourg)
Computer simulation and data processing is now a key skill for every engineer as the complexity of the problems to be solved and the amount of data to analyzed are always increasing. High Performance Computing (HPC) proposes to leverage distributed and parallel computers to execute these applications quickly and efficiently. This talk gives an overview of the HPC concepts, then, a typical HPC workflow is studied and precious advice to get your HPC simulations running efficiently are provided.
Objectives:
- Know the hardware hiearachy of an HPC platform
- Understand the different possible bottlenecks
- Know the possible approaches to address bottlenecks and improve performance
Using an HPC cluster
Lecture: Resource Manager & Job Scheduler
Duration: 1h30
Speaker: Ing Gilberto Díaz (UIS - Bucaramanga, Colombia)
High Performance Computing platforms are platforms offering a large number of computing resources shared among a large of number of users. The Resource Manager and Job Scheduler are the core tools of such platform which allow to distribute the resource to the users and avoid any conflict.
This lecture proposes an overview of a typical HPC platform and defines the concept of resources. It describes and explains the role of the resource manager and job scheduler in an HPC platform, and introduce the concept of job scheduling. Then it offers an overview of the most useful features: interactive session, reservation, job submission, etc. in the main job schedulers (e.g. SLURM).
In the end, it provides all the key elements for an efficient HPC workflow.
Content:
- Organization of a typical HPC platform
- What is a resource?
- Introduction to resource manager and job scheduler
- Job scheduling
- Launcher script
- HPC workflow
- Basic commands for SLURM and OAR
Practical Session: Getting Started on the HPC cluster
Duration: 2h30
Speaker:
- Ing Gilberto Díaz (UIS - Bucaramanga, Colombia)
- Dr Xavier Besseron (University of Luxembourg)
The first purpose of the this session is to allow the students to configure their access to the HPC platform. In a second time, the students can experiment with the main features of the job scheduler.
Objectives:
- Setting up access to the computing platforms with SSH
- Getting familiar with the resource manager (SLURM, OAR)
- Loading modules and using compilers
- Running applications in interactive mode
- Writing launcher script and submitting jobs
Debugging & Profiling
Lecture: Know Your Bugs: Weapons for Efficient Debugging
Duration: 1h
Speaker: Dr Xavier Besseron (University of Luxembourg)
This presentation gives the essentials to fight and prevent the bug invasion occurring in any software. It proposes a short introduction to debugging tools, focusing mainly on GDB and Valgrind. Then the most common types of bugs are presented and explained, and a method to track them is proposed. Finally, recommendations for day-to-day software development are advised in order to keep safe from bugs (as much as possible) or at least track them efficiently.
Content:
- Overview of the main tools used for Debugging (Compilers, Debuggers, Dynamic Analyzers)
- Detailed overview of the different of bugs:
- Why it occurs?
- How to find it?
- How to fix?
- Good practices to avoid bugs and debug efficiently
Practical session: Debugging & Profiling
Duration: 3h
Speaker: Dr Xavier Besseron (University of Luxembourg)
During this practical session, the student will learn how to track bugs in voluntarily infested programs using the tools introduced previously.
Objective:
- Apply the tools introduced earlier to find bugs in many example programs
Data Analysis with R
Lecture: Introduction to R and Data Analysis
Duration: 1h
Speaker: Dr Xavier Besseron (University of Luxembourg)
This lecture proposes a quick introduction to R and data analysis. It gives an overview of the basic commands and data structures to get started with R and suggests a few good practices to organize and manipulate data.
Content:
- Basic commands
- Objects, Data structures and data frames
- Reading and exploring data
- Data manipulation with
dplyr
Practical Session: Analyse Parallel Applications Performance with R
Duration: 3h
Speaker: Dr Xavier Besseron (University of Luxembourg)
With a good basis, let’s practice on the subject of performance evaluation of parallel applications.
Objective:
- Practical session objectives:
- Being able to plot data
- Organize and Manipulate your data with
dplyr
- R in parallel, single-node and multi-mode
HPC Programming: Principles of Distributed and Shared Memory Models
Lecture: Introduction to Distributed Memory Models
Duration: 1h
Speaker: Ing Gilberto Díaz (UIS - Bucaramanga, Colombia)
Programming models to understand the trends when using multiple computing units.
Lecture: Distributed Computing Through Message Passing MPI
Duration: 1h
Speaker: Ing Gilberto Díaz (UIS - Bucaramanga, Colombia)
The challenges of distributed computing involve exchanging message. The MPI, message passing interface, is still THE standard for many distributed applications. Throughout this lecture we will visit many aspects of distributed programing usign MPI.
Lecture: Introduction to Shared Memory Models
Duration: 1h
Speaker: Prof Robinson Rivas (Universidad Central de Venezuela)
Todays’ HPC systems always count on multiple cores. With the goal to improve the usage on such systems knowledge of multithread programing is mandatory. This lectures shows the basis of OpenMP : a well spred environment to implement parallel applications.
Modern HPC platforms platforms are based on both Distributed and Shared memory architectures. In the case of Shared Memory, even handheld devices uses multiple processors/cores hardware, and it is usual to have up to 16 processing cores on commercial smartphones. Understanding how these architectures works is very important for Computer Scientists and programmers. In this tutorial, students will learn about some different Shared Memory models, the advantages of this approach, and the main implementations found for commercial and scientific usage.
Practical Session: Programming with MPI and OpenMP
Duration: 3h30
Speakers:
- Ing. Gilberto Díaz (UIS - Bucaramanga, Colombia)
- Prof Robinson Rivas (Universidad Central de Venezuela)
Using MPI and OpenMP, we will guide you on the implementation of a parallel and distributed application.
Leveraging Accelerators for HPC
Using CUDA to Improve Performance on Scientific Applications
Duration: 1h
Speaker: Prof Carlos Jaime Barrios Hernandez (UIS - Bucaramanga, Colombia)
Programming with CUDA we will visit projects that significantly improve their performance using CUDA.
OpenACC et Beyond
Duration: 1h
Speaker: Prof Carlos Jaime Barrios Hernandez (UIS - Bucaramanga, Colombia)
Programming with OpenACC.
Practical Session: Using Accelerators to Improve Performance.
Duration: 3h
Speaker:
- Prof Carlos Jaime Barrios Hernandez (UIS - Bucaramanga, Colombia)
- Ing. Gilberto Díaz (UIS - Bucaramanga, Colombia)
This practical session is the opportunity to use accelerators that will be available for the students.
Big Data
Lecture: Big Data Essentials
Duration: 1h
Speakers:
- Ing. Gilberto Díaz (UIS - Bucaramanga, Colombia)
- Prof Robinson Rivas (Universidad Central de Venezuela)
Practical Session: Parallel Python
Duration: 1h
Speakers:
- Ing. Gilberto Díaz (UIS - Bucaramanga, Colombia)
- Prof Robinson Rivas (Universidad Central de Venezuela)
Contest
Contest Introduction
Speakers:
- Ing. Gilberto Díaz (UIS - Bucaramanga, Colombia)
- Dr Xavier Besseron (University of Luxembourg)
A contest will be proposed to the student to allow them to apply the knowledge they acquired. Different problems are provided and they can selected one/many categories in which they which to participate. The students are encouraged to propose parallel and distributed solutions that run on the HPC cluster.
Results are evaluated based on their correctness and performance.
Contest Supervision
The students are given time to solve the problems and are supervised by the instructors of the SC-Camp.
Contest Results and Student Awards
The best solutions of the contest are presented by the students and discussed with everybody.
Keynotes
Keynote 1: Hybrid High Performance Systems for Ultrascal Architectures and AI/DL applications
Duration: 1h
Speaker: Prof Carlos Jaime Barrios Hernandez (UIS - Bucaramanga, Colombia)
Keynote 2: Methods in interpretation of multimodal dataset of EEG/fMRI in brain signal
Duration: 1h
Speaker: Dr Nguyen Thi Ngoc Anh, UDN, Vietnam
Data mining, machine learning, pattern recognition for time series domains, applied to neurosciences and bioinformatics.