New release 0.7.0 of the Open Source Architecture Code Analyzer (OSACA)
Open Source Architecture Code Analyzer (OSACA) is now “Intel-ready”
The Open Source Architecture Code Analyzer (OSACA) is a tool that can analyze assembly code and produce a best-case runtime prediction assuming that the data is in the L1 cache. Its analysis is based on throughput and latency of microbenchmarks of individual instructions and data dependencies within the workflow of a loop. Analytic performance models, such as the ECM model, depend on an accurate assessment of in-core execution performance. You can either do that manually by code (source or assembly) inspection, or you can use a tool that knows the instruction set and the limitations of a particular microarchitecture. Also the well-known Roofline Model can benefit from such an analysis as you can derive a realistic application-specific ceiling from it.
Developed originally in 2017, OSACA already supports various x86 and Arm CPUs, among others Intel’s Sapphire Rapids, AMD’s Zen4, or NVIDIA’s Grace Neoverse V2 microarchitectures. While previously only available for AT&T syntax on x86, we are happy to announce that OSACA in its latest 0.7.0 release now supports the analysis of Intel syntax of the x86 ISA.
OSACA is also integrated in the Compiler Explorer, a web-based tool for easily exploring different compiler abilities and running code snippets, used by millions of users every week. Give it a try yourself and check out OSACA’s in-core analysis on a sample Gauss-Seidel kernel with the Compiler Explorer: https://godbolt.org/z/hxhrd4M71
At ISC High Performance 2025, Jan Laukemann, lead OSACA developer, and Georg Hager will present the half-day tutorial “Core-Level Performance Engineering,” in which OSACA and the Compiler Explorer play major roles.