The HPC-LEAP Workshop Series

The HPC-LEAP EJD will provide four training workshops for the students enrolled on the programme. Successful completion of any one of the programmes will be worth 5 ECTS accreditation units. The assessment and topics covered by the four workshops is described below.


Students will be assessed by a method common to all HPC-LEAP workshops. Over the course of each School, students will be required to develop software to solve a small number of substantial numerical problems. At the end of the three weeks, students will be required to submit their software, along with a report detailing the design, algorithm, testing methodology, results and performance of their projects. They will be expected then to give a 15 minute presentation to the examiners and their classmates, summarising their findings.



I. School on numerical analysis and algorithms towards exascale: CoS-1 

Venue: Wuppertal

Dates: 23rd September - 13th October 2015

Credit: 5 ECTS

Scientists-in-charge: Andreas Frommer and Francesco Knechtli



The first School in the series is part of course CoS-1 and will present the mathematical foundations and algorithms needed for numerical simulation, with an emphasis on the concepts and issues needed to approach the exascale. The core techniques for the research interests of HPC-LEAP will be reviewed in four series of lectures, covering Monte Carlo methods, the underlying mathematical ideas behind efficient methods to find numerical solutions to molecular dynamics, iterative techniques to solve large, sparse linear systems and advanced topics such as numerical solutions to partial differential equations and the fast Fourier transform.

Topic Lecture hours Laboratory hours
Introduction to Markov Chain Monte Carlo 6 3
Numerical methods for molecular dynamics 6 4
Iterative solvers for linear systems 6 4  
Advanced topics in numerical analysis 8 4
  26 15


Introduction to Markov Chain Monte Carlo: The mathematical framework for importance- sampling Monte Carlo estimations of the high-dimensional integration problems that arise in many physical simulations will be described. The focus will be on practical methods that enable students to start their own numerical investigations of simple examples such as the Ising or Potts in laboratory sessions. Topics covered will include the Metropolis algorithm and Gibbs sampler.

Numerical methods for molecular dynamics: Modern, efficient Markov chain Monte Carlo methods rely on concepts borrowed from molecular dynamics. These ideas will be described in detail. The mathematical framework of symplectic integrators will be presented and students will be encouraged to develop simulation software to illustrate the ideas they learn. Examples covered will include numerical integration of the equations of motion for Newtonian gravity or the Lennard-Jones potential.

Iterative solvers for linear systems: At the core of many computations is the need to solve large, sparse linear systems very efficiently. The techniques to solve these problems will be reviewed, introducing the students to Krylov subspace methods and preconditioning. Example problems will be presented and student will develop their understanding in computational laboratory sessions.

Advanced topics in numerical analysis: To solve problems on massively parallel computers requires advanced algorithms. The School will conclude with a review of communication-avoiding algorithms and asynchronous iterations. The example will be to develop software to find a numerical solution to Poisson’s equation with different boundary conditions.




II. School on HPC architectures and large-scale numerical computation: CoS-2 

Venue: Jülich

Dates: 11th - 29th Jan 2016

Credit: 5 ECTS

Scientist-in-charge: Dirk Pleiter



The second School is part of course CoS-2 and will present students with the essentials of computer architectures and skills for using HPC systems to solve large-scale numerical problems. The computer architecture lectures will focus on understanding how code performance is linked to the design of an HPC system. Next, the students will learn about performance modelling, analysis and engineering. Training will be via lectures on parallel algorithms and programming and will be complemented by exercises. More advanced lectures in this School will cover GPU programming, energy efficient computing, I/O and portable data formats, debugging and visualisation.

Topic Lecture hours Laboratory hours
Parallel architectures 6 4
Parallel programming 8 8
Performance analysis, modelling and optimisation 4  
GPGPU programming (I) 2 2
Parallel algorithms (I) 3  
Energy efficient HPC 2  
Visualisation 1 1
  26 15



  • Parallel architectures: The features of modern HPC hardware will be described, focussing on the interactions between software performance and the system and discussing the best algorithms to make use of particular hardware constraints.

  • Parallel programming: The techniques required for programming multi-core computers will be presented. The different programming models (Shared memory and MPI) will be described in detail. Issues arising with data I/O from parallel systems will be presented along with a discussion of portable data formats.

  • Performance analysis, modelling and optimisation: Methods to analyse the performance of large-scale numerical software on parallel computers will be reviewed. Models describing the scaling features of the software will be reviewed and compared to real performance data from multi-core systems. Best-practise techniques for developing software in C/C++ will be reviewed.

  • Parallel algorithms (I): The techniques for implementing commonly used numerical computations on parallel systems will be presented.

  • GPGPU programming(I): Modern graphics cards can be harnessed for efficient numerical computations. The programming models needed to exploit these systems effectively will be introduced.

  • Energy efficient HPC: As the costs of large-scale numerical simulation become increasingly dominated by the energy usage of these systems, the students will be introduced to new approaches to hardware design that optimise performance against power consumption.

  • Visualisation: A short introduction to methods for presenting output from large-scale simulations in visual formats will be given.



III. School on numerical analysis and algorithms at the exascale: Classical N-body methods for complex systems on massively parallel architectures: CoS-1 

Venue: RWTH Aachen

Dates: 5th - 22nd April 2016

Credit: 5 ECTS

Scientist-in-charge: Paolo Carloni



This school is the second part of CoS-1 and will provide an introduction to N-body methods such as molecular dynamics and Monte Carlo and will discuss different parallelisation strategies suited to these approaches. The lectures will focus on methods appropriate for both short- and long-range interactions and conclude with a review of spectral methods. Students will be required to implement a simple molecular dynamics code and test different parallelisation algorithms as well as analysis tools to understand the output of their simulations. The course will conclude with a discussion of hybrid methodologies applied to biological systems of pharmacological relevance.


Hybrid techniques for biological systems42
Topic Lecture hours Laboratory hours
Introduction to statistical physics 5 3
Statistical methods and sampling 5 3
Modelling complex systems with short-range interactions 4 2  
Modelling complex systems with long-range interactions 4 3
Spectral methods for complex systems 4 2
  26 15


  • Introduction to statistical physics: a review of the essentials of statistical physics will be presented, with applications to biological systems.

  • Statistical methods and sampling: the essentials of the Monte Carlo method and the statistical techniques for understanding the output of these simulation will be described.

  • Modelling short-range interactions: Efficient simulation of the molecular dynamics induced by short-ranged interactions will be discussed. Software techniques to maintain and update lists of nearby particles will be presented allowing students to develop code to model examples of these systems.

  • Modelling long-range interactions: Techniques for studying the molecular dynamics of N- body systems with long-ranged interactions will be presented. The focus will be on resummation techniques based on the Ewald sum.

  • Spectral methods for complex systems: Techniques for solving differential equations efficiently by analysing the system’s fourier modes will be introducted. Students will develop software to study examples in laboratory sessions

  • Hybrid techniques for biological systems: The School will conclude by describing techniqes for solving biological systems where a broad range of dynamical time-scales are important. Effectively addressing these problems requires a hybrid approach, dealing with each of the distinct dynamics separately. The implementation of these ideas will be presented in this component.



IV. School on HPC architectures and numerical methods: CoS-2 

Venue: Trinity College Dublin

Dates: 13th June - 1st July 2016

Credit: 5 ECTS

Scientist-in-charge: Mike Peardon



This is the second part of course CoS-2 and will develop the ideas presented in the first part of CoS-2 in more detail. The focus will be on three “case studies” of large-scale problems and existing code bases that will be review in some detail. These code bases will be chosen from the research areas of the project.


Case study 3 (multi-grid)42
Topic Lecture hours Laboratory hours
MPI programming (II) 3 1
GPGPU programming (II) 2 2
Parallel algorithms (II) 4 2
Debugging, profiling and optimising parallel software (II) 3 2
Data analysis 2 1
Case study 1 (solving large linear systems) 4 2
Case study 2 (molecular dynamics) 4 2
  26 15


  • MPI programming: More detailed features of the MPI library will be explored and students will be encouraged to develop their expertise further by writing example codes. The emphasis will be on optimising performance by use of the appropriate technique.

  • GPGPU programming: Advanced features of software systems that exploit GPUs for numerical computing will be presented. The emphasis will be on the techniques that optimise data through- put on the large numbers of lightweight compute cores found on a modern GPU.

  • Parallelalgorithms: The mathematical foundations for efficient software will be developed. Distinct approached that expose data parallelism will be presented. The interaction between software performance and hardware will be explored through examples.

  • Debugging, profiling and optimising parallel software (II): The methods for testing, debugging and profiling parallel software will be further developed. Students will be encouraged to explore efficient software development methods through practical problem-solving sessions.

  • Data analysis: Large-scale numerical simulations often generate very large data sets, that require careful analysis. This module will present advanced techniques for statistical analysis and inference from data, ideas in data visualisation and feature extraction will be explored.

  • Case studies: The school will conclude by presenting in detail three examples of state-of-the-art research applications of the software techniques presented in the previous lectures. These case studies will be drawn from topics of relevance to the students, including solving linear systems, molecular dynamics and multi-grid for linear systems.