UL HPC School Program
All sessions will take place at the Limpertsberg Campus, with the main track in the BS 3.03 Auditorium.
Important You are expected to bring your laptop for all sessions since there will be no workstation available on site.
All tutorials proposed as practical sessions will be available on GitHub. The detailed program is available here.
Agenda - Day 1 (June 25th, 2015)
PS = Practical Session using your laptop
Agenda - Day 2 (June 26th, 2015)
Important Please note that the rooms for the parallel Tracks 1 and 2 are not the same as for the Day 1 sessions.
PS = Practical Session using your laptop
Detailed Program for the practical sessions
Day 1 - Main Track
Practical Session 1A
Complementary yet key IT Survival Guide: Git, Vagrant, Puppet, by: S. Varrette
The objectives of this session is to introduce users to key IT tools that can greatly simplify:
- code and data versioning, team work, remote work: Git
- creation and usage of testing/development environments: Vagrant
- configuration management: Puppet
Practical Session 2A
HPC workflow with sequential jobs (test cases on GROMACS, Python and Java), by S. Varrette
Slides and online instructions: on ReadTheDocs or Github
For many users, the typical usage of the HPC facilities is to execute 1 program with many parameters. On your local machine, you can just start your program 100 times sequentially. However, you will obtain better results if you parallelize the executions on a HPC Cluster.
During this session, we will see 3 use cases:
- Use of the serial launcher (1 node, in sequential and parallel mode);
- Use of the generic launcher, distribute your executions on several nodes (python script);
- The advanced usage of a complex Java framework JCell, designed to work with cellular genetic algorithms (cGAs)
Practical Session 3A
HPC workflow with Parallel/Distributed jobs: application on MPI software (test cases on OSU MB/HPL), by S. Varrette
Online instructions for OSU Micro-benchmarks: on ReadTheDocs or Github
Online instructions for HPL: on ReadTheDocs or Github
The objective of this session is to compile and run MPI programs over various reference MPI implementations (Intel MPI, OpenMPI or MVAPICH2, all available on the cluster). In practice, this session will focus on the following MPI applications:
- the OSU Micro-benchmarks which permit to measure the performance of an MPI implementation
- the High Performance Linpack (HPL) which is used to rank supercomputers across the world for the Top500 list
A discussion of MPI, OpenMP and MPI/OpenMP hybrid applications will conclude this section.
Day 1 - Track 1
Practical Session 1B
Getting Started (ssh, data transfer, OAR, modules, monitoring), by: S. Diehl
Online instructions: on ReadTheDocs or Github
This tutorial will guide you through your first steps on the UL HPC platform. We will cover the following topics:
- Platform access via SSH
- Overview of the working environment
- File transfer
- Reserving computing resources with the OAR scheduler and job management
- Usage of the web monitoring interfaces (Monika, Drawgantt, Ganglia)
- Using modules
- Advanced job management and Persistent Terminal Sessions using GNU Screen.
- illustration on Linux kernel compilation
Practical Session 2B
Basic usage of Matlab on the UL HPC Platform, by V. Plugaru
Slides and online instructions: on ReadTheDocs or Github
The objective of this session is to exemplify the execution of MATLAB - a high-level language and interactive environment for numerical computation, visualization and programming, on top of the UL HPC platform. The following topics will be covered in this first part:
- how to run MATLAB in interactive mode, with either the full graphical interface or the text-mode interface
- how to run MATLAB in passive (batch) mode, enabling unattended execution on the clusters
- using MATLAB through the XCS portal
- how to use MATLAB script (.m) files
- how to plot data, saving the plots to file
Practical Session 3B
Advanced usage of MATLAB on the UL HPC Platform, by V. Plugaru
This second part of the MATLAB tutorial will focus on:
- coding best practices and checkpointing, allowing very long execution times for big MATLAB jobs
- taking advantage of some of the parallelization capabilities of MATLAB, helping speed up the time to completion
Day 1 - Track 2
Practical Session 2C
Virtualization on the Grid’5000 platform (KVM, Xen), by H. Cartiaux
Slides and online instructions: on ReadTheDocs or Github
The Grid’5000 platform is a large-scale and versatile testbed for experiment-driven research in all areas of computer science, with a focus on parallel and distributed computing including Cloud, HPC and Big Data.
In the course of this session we will:
- introduce the Grid’5000 platform
- highlight its specific features (full environment reconfiguration, networking setups) vs. the main UL HPC clusters
- introduce the VM5k Virtual Machine (VM) management tool
- deploy specific/custom environments and launch KVM/XEN-based VMs
Practical Session 3C
Using R on the UL HPC Platform, by J. Emeras
Slides and online instructions: on ReadTheDocs or Github
Through this session you will learn how to use R from your local machine or from one of the resources of the UL HPC platform clusters.
We will also use the ggplot
library to generate nice graphics and export them as pdf files. Then we will see how to organize and group data.
Finally we will illustrate how R can benefit from multicore and cluster parallelization.
Day 2 - Main Track
Practical Session 4A
Software environment generation: RESIF/Easybuild, by M. Schmitt
Slides and online instructions: on ReadTheDocs or Github
The objective of this session is to demonstrate the usage of the UL HPC RESIF tool to deploy a software environment:
- locally on your base workstation (Linux / OS X)
- in a Linux Virtual Machine (created by Vagrant with the VirtualBox provider)
- under your account on the UL HPC platform
Practical Session 5A
Bioinformatics workflows using the Galaxy portal, by S. Diehl
Slides and online instructions: on ReadTheDocs or Github
Galaxy is an open, web-based platform for data intensive biomedical research that allows users to easily perform, reproduce and share complete bioinformatics analyses. The objective of this session is to demonstrate the usage of the UL Galaxy portal.
Practical Session 6A
Running bioinformatics software: test cases on Abyss, GROMACS, Bowtie2/TopHat, mpiBLAST, by S. Diehl
Online instructions: on ReadTheDocs or Github
The objective of this session is to exemplify the execution of several common Bioinformatics packages, independently of the Galaxy portal.
Targeted applications include:
In particular, the following topics will be covered:
- loading and using pre-configured versions of these applications on the clusters
- discussion of the parallelization capabilities of these applications
Day 2 - Track 1
Practical Session 5B
Running parallel software: test cases on CFD / MD / Chemistry applications (OpenFOAM, NAMD, ASE, ABINIT, Quantum Espresso,), by V. Plugaru
Online instructions: on ReadTheDocs or Github
The objective of this session is to exemplify the execution of several common, parallel, Computational Fluid Dynamics, Molecular Dynamics and Chemistry software on the UL HPC platform.
Targeted applications include:
- OpenFOAM: CFD package for solving complex fluid flows involving chemical reactions, turbulence and heat transfer
- NAMD: parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems
- ASE: Atomistic Simulation Environment (Python-based) with the aim of setting up, steering, and analyzing atomistic simulations
- ABINIT: materials science package implementing DFT, DFPT, MBPT and TDDFT
- Quantum Espresso: integrated suite of tools for electronic-structure calculations and materials modeling at the nanoscale
In particular, the following topics will be covered:
- loading and using pre-configured versions of these applications on the clusters
- discussion of the parallelization capabilities of these applications
Practical Session 6B
Graphical Sessions and Visualization: Paraview and Rstudio under XCS, by V. Plugaru
The objective of this session is to get an overview of the possibilities for remote visualization on the UL HPC platform. The following topics will be covered:
- remote visualization using the Extreme Computing Studio - XCS portal
- configuration of the TurboVNC client
- visualization over SSH tunnels with X11 forwarding
- examples with several applications, including:
- ParaView
- VMD
- Rstudio
- XCrySDen
Day 2 - Track 2
Practical Session 5C
GPGPU and shared memory programming (CUDA, OpenMP and Intel TBB), by S. Varrette
This advanced session for developers will touch on:
- GPGPU programming with CUDA, executions exemplified on GPU-enabled nodes of the UL HPC platform
- shared memory programming with OpenMP and Intel Threading Building Blocks
Practical Session 6C
Advanced workflows on parametric jobs management (best-effort, containers, checkpointing), by H. Cartiaux
Slides and online instructions: on ReadTheDocs or Github
This advanced session for users will cover best practices in using:
- best-effort (preemptible) jobs under OAR that are subject to less restrictions than regular jobs
- container jobs that allow the sub-scheduling of tasks in resource-intensive OAR jobs
- generic checkpointing, allowing the users to run long spanning jobs