Node-Level Performance Engineering
Learn how software and hardware interact for peak performance. From pipelining and SIMD to Roofline models: discover the building blocks of node-level performance engineering. For developers ready to go beyond OpenMP and MPI.
Praktische info:
Inschrijven?
- Voorwaarden: Familiarity with Linux and Linux editors, basics/principles of programming in C or Fortran and basic OpenMP
- Prijs: The price ranges from €0 to €720
Leertraject
We introduce the basic architectural features and bottlenecks of modern processors and compute nodes. Pipelining, SIMD, superscalarity, caches, memory interfaces, ccNUMA, etc., are covered. A cornerstone of node-level performance analysis is the Roofline model, which is introduced in due detail and applied to various examples from computational science. We also show how simple software tools can be used to acquire knowledge about the system, run code in a reproducible way, and validate hypotheses about resource consumption. Finally, once the architectural requirements of a code are understood and correlated with performance measurements, the potential benefit of code changes can often be predicted, replacing hope-for-the-best optimizations by a scientific process.
Agenda
- preliminary -
Day 1 (Tuesday)
- 08:45 Enter the Zoom meeting
- 09:00 Welcome – Intro
- 09:30 Computer architecture for software developers part 1
- 10:15 Coffee break
- 10:30 Computer architecture for software developers part 2
- 10:45 Hands-on: Divide benchmark
- 11:30 Tools: Topology and affinity, frequency
- 12:00 Lunch
- 13:00 Hands-On: topology, affinity
- 13:45 Introduction to the Roofline Model
- 15:00 Coffee break
- 15:15 Quiz/Q&A/open end
Day 2 (Wednesday)
- 08:45 Enter the Zoom meeting
- 09:00 Tools: Performance counters
- 09:45 Hands-on: performance counters and memory bandwidth
- 10:30 Coffee break
- 10:45 Roofline case study: stencils
- 11:30 Performance Engineering: Basic skills
- 12:15 Lunch
- 13:15 Hands-on: Dense matrix-vector multiplication (I)
- 13:45 Optimal use of parallel resources: ccNUMA
- 14:15 Hands-on: Dense matrix-vector multiplication (II)
- 14:45 Roofline case study: Tall & skinny matrix-matrix multiplication
- 15:15 Coffee break
- 15:30 Quiz/Q&A/open end
Day 3 (Thursday)
- 08:45 Enter the Zoom meeting
- 10:00 Hands-on: SIMD in MiniMD
- 11:00 Coffee break
- 11:15 Roofline case study: Sparse matrix-vector multiplication
- 12:15 Lunch
- 13:15 Hands-on: Matrix-free CG solver
- 14:45 Coffee break
- 15:00 The ECM performance model
- 16:00 Quiz/Q&A/open end
Day 4 (Tools Day, Friday)
- 08:45 Enter the Zoom meeting
- 09:00 Performance engineering from the application point of view
- 09:30 Monitoring with Score-P
- 09:45 Hands-on: MiniMD with Score-P
- 10:15 Coffee break
- 10:30 Profile exploration and measurement scoring
- 10:45 Trace exploration with Vampir
- 11:15 Coffee break
- 11:30 Hands-on: Load imbalance: SpMV
- 12:15 Wrap-up
Gerelateerde opleidingen
Artificial Intelligence in Business and Industry
Postgraduate - Kortrijk - KU Leuven, PUC - KU Leuven Continue, VAIA
Creation of Virtual Worlds for Machine Learning
Workshop - Online - Forschungszentrum Jülich