OSACA

Overview

The Open Source Architecture Code Analyzer (OSACA) is a tool that can analyze assembly code and produce best-case (instruction throughput) and worst-case (critical path) runtime predictions assuming that the data is in the L1 cache. Such a tool is sorely needed for analytic performance modeling. Intel provides the Intel Architecture Code Analyzer (IACA) for free, but it is not open source and its development has been discontinued. OSACA can do some things that IACA cannot, such as, e.g., analyze non-compiled assembly code or extend its own database with new instructions. OSACA can also handle non-Intel architectures, such as AMD x86 and Marvell ThunderX2 (ARMv8).

Open-Source: ✓
Main developer: Jan Laukemann (HPC group @ FAU)

Publications

  • J. Laukemann, G. Hager: Core-Level Performance Engineering with the Open-Source Architecture Code Analyzer (OSACA) and the Compiler Explorer. 14th Annual ACM/SPEC International Conference on Performance Engineering (ICPE 2023), Coimbra, Portugal. DOI: 10.1145/3578245.3583716
  • J. Laukemann, J. Hammer, G. Hager, and G. Wellein: Automatic Throughput and Critical Path Analysis of x86 and ARM Assembly Kernels.  10th IEEE/ACM Workshop on Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems (PMBS19), Denver, CO, USA. PMBS19 Best Late-Breaking Paper Award. Preprint: arXiv:1910.00214
  • J. Laukemann, J. Hammer, J. Hofmann, G. Hager, and G. Wellein: Automated Instruction Stream Throughput Prediction for Intel and AMD Microarchitectures. 2018 IEEE/ACM Workshop on Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems (PMBS), Dallas, TX, USA, 2018, pp. 121-131. DOI: 10.1109/PMBS.2018.8641578. Preprint: arXiv:1809.00912

More information