Core-Level Performance Engineering

Core-Level Performance Engineering

Friday, June 13, 2025 9:00 AM to 1:00 PM · 4 hr. (Europe/Berlin)
Hall Y5 - 2nd floor
Tutorial
Performance and Resource ModelingPerformance MeasurementPerformance Tools and Simulators

Information

While many developers put a lot of effort into optimizing large-scale parallelism, they often neglect the importance of an efficient serial code. Even worse, slow serial code tends to scale very well, hiding the fact that resources are wasted because no definite hardware performance limit (“bottleneck”) is exhausted. This tutorial conveys the required knowledge to develop a thorough understanding of the interactions between software and hardware on the level of a single CPU core and the lowest memory hierarchy level (the L1 cache). We introduce general out-of-order core architectures and their typical performance bottlenecks using modern x86-64 (Intel Sapphire Rapids) and ARM (Fujitsu A64FX) processors as examples. We then go into detail about x86 and AArch64 assembly code, specifically including vectorization (SIMD), pipeline utilization, critical paths, and loop-carried dependencies. We also demonstrate performance analysis and performance engineering using the Open-Source Architecture Code Analyzer (OSACA) in combination with a dedicated instance of the well-known Compiler Explorer. Various hands-on exercises will allow attendees to make their own experiments and measurements and identify in-core performance bottlenecks. Furthermore, we show real-life use cases from computational science (sparse solvers, lattice QCD) to emphasize how profitable in-core performance engineering can be.
Format
On Site
Targeted Audience
This tutorial is for developers and performance engineers who have to deal with the intricate details of in-core execution bottlenecks. Even experienced developers often have only a rough grasp of the concepts of code execution on the core level, which leads to unstructured approaches to optimization and wasted resources.
Intermediate Level
50%
Advanced Level
50%

Log in

See all the content and easy-to-use features by logging in or registering!