Core-Level Performance Engineering with the Open-Source Architecture Code Analyzer (OSACA) and the Compiler Explorer

Laukemann J, Hager G (2023)


Publication Type: Conference contribution

Publication year: 2023

Publisher: Association for Computing Machinery, Inc

Pages Range: 127-131

Conference Proceedings Title: ICPE 2023 - Companion of the 2023 ACM/SPEC International Conference on Performance Engineering

Event location: Coimbra PT

ISBN: 9798400700729

DOI: 10.1145/3578245.3583716

Abstract

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 Ice Lake) 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 allow attendees to make their own experiments and measurements and identify in-core performance bottlenecks. Furthermore, we show real-life use cases to emphasize how profitable in-core performance engineering can be.

Authors with CRIS profile

How to cite

APA:

Laukemann, J., & Hager, G. (2023). Core-Level Performance Engineering with the Open-Source Architecture Code Analyzer (OSACA) and the Compiler Explorer. In ICPE 2023 - Companion of the 2023 ACM/SPEC International Conference on Performance Engineering (pp. 127-131). Coimbra, PT: Association for Computing Machinery, Inc.

MLA:

Laukemann, Jan, and Georg Hager. "Core-Level Performance Engineering with the Open-Source Architecture Code Analyzer (OSACA) and the Compiler Explorer." Proceedings of the 14th Annual ACM/SPEC International Conference on Performance Engineering, ICPE 2023, Coimbra Association for Computing Machinery, Inc, 2023. 127-131.

BibTeX: Download