Single Node Performance Optimisation @ EPCC at Oxford

Conference Room (University of Oxford eRearch Centre)

Conference Room

University of Oxford eRearch Centre

Conference Room Oxford e-Research Centre, 7 Keble Road, Oxford, OX1 3QG <a href=""></a>

This course covers techniques for improving the performance of applications on ARCHER by optimising of the code that runs within each node. Familiarity with a Unix or Linux environment is assumed. The course is open to all, but is mainly targeted at existing ARCHER users.


Details: Modern HPC systems are being constructed using increasingly powerful nodes, with larger and larger numbers of cores and enhanced vector capabilities. To extract maximum performance from applications, it is therefore necessary to understand, and be able to overcome, on-node performance bottlenecks.

This course will cover the main features of modern HPC nodes, including multiple cores, vector floating point units, deep cache hierarchies, and NUMA memory systems. We will cover techniques for efficient programming of these features, using batch processing options and compiler options as well as hand tuning of code. The course will also contain an introduction to the use of Cray performance analysis tools.

Intended learning outcomes

On completing this course, attendees should :

  • Have an understanding of modern HPC node architectures and their implications for performance.
  • Be equipped with a toolbox of techniques for extracting good single node performance from application codes.
  • Have a basic knowledge of using Cray performance analysis tools.


Programming Languages: Fortran, C or C++. Familiarity with a Unix or Linux environment is assumed.


Day 1

  • 09:00 Registration
  • 09:30 Node Architecture, Profiling
  • 11:00 BREAK
  • 11:30 Practical: profiling
  • 12:30 LUNCH
  • 13:30 Optimising with the compiler
  • 15:00 BREAK
  • 15:30 Practical: optimisation
  • 17:00 CLOSE

Day 2

  • 09:30 Vectorisation, Memory Hierarchy Optimisation
  • 11:00 BREAK
  • 11:30 Practical: memory and cache blocking
  • 12:30 LUNCH
  • 13:30 Hybrid Program Optimisation
  • 15:00 BREAK
  • 15:30 Practical: OpenMP optimisation
  • 16:30 CLOSE

Course materials :


The agenda of this meeting is empty