Oct 1 – 2, 2026
01187 Dresden
Europe/Berlin timezone

WINIC: An Automatic Cycle-Accurate Multi-Platform Microbenchmarking Tool for Instruction Performance Metrics

Oct 2, 2026, 11:30 AM
30m
APB Andreas-Pfitzmann-Bau, E023 (01187 Dresden)

APB Andreas-Pfitzmann-Bau, E023

01187 Dresden

Nöthnitzer Straße 46
Abstract Session 5

Description

Performance models allow developers to gain important insights into the interaction of their code with the hardware that executes it, and enable them to apply target-specific optimizations. To create in-core performance models for out-of-order processors, architecture-specific performance metrics like latency, throughput, and port binding of individual instructions are indispensable. For x86 microarchitectures, there already exist tools to automatically obtain those values; however, the extension of performance modeling tools like the Open Source Architecture Code Analyzer (OSACA) to support further architectures like RISC-V emphasizes the need for a cross-platform microbenchmarking tool.
We present WINIC (What I Need Is Cycles), an automatic cross-platform microbenchmarking tool. Unlike previous tools, it can obtain throughput and operand-based latency metrics for most supported instructions of any 64-bit x86, AArch64, and RISC-V microarchitecture without the need for root permissions or extended system control levels.
We cover the methodology of microbenchmarking and the approach of WINIC to collect cycle-accurate performance data for assembly instructions.
We show that WINIC can be used to automatically obtain a vast number of accurate results for x86, AArch64, and RISC-V microarchitectures.
We show for four target microarchitectures that its results match between 70% and 97% of the performance data of non-memory instructions obtained by similar tools and documentation and WINIC is able to accurately measure throughput and latency metrics for instructions with memory access in L1 cache.
Furthermore, we show how operand-dependent latencies in between instruction operands measured by WINIC can be used to improve the in-core performance predictions on selected micro-kernels, exemplarily for the Neoverse V2 microarchitecture.

Author

Co-authors

Jan Laukemann (Erlangen National High Performance Computing Center (NHR@FAU)) Dr Georg Hager (Erlangen National High Performance Computing Center (NHR@FAU)) Prof. Gerhard Wellein (Erlangen National High Performance Computing Center (NHR@FAU))

Presentation materials