NHR PerfLab Seminar Talk: Automatic Generation of Models of Microarchitectures

Symbolic picture for the article. The link opens the image in a large view.

The NHR PerfLab is pleased to announce a seminar talk by Andreas Abel from Saarland University.

Title: Automatic Generation of Models of Microarchitectures


Detailed microarchitectural models are necessary to predict, explain, or optimize the performance of software running on modern microprocessors. Building such models often requires a significant manual effort, as the documentation provided by hardware manufacturers is typically not precise enough. In this talk, we will look at techniques for generating models of microarchitectures automatically.

First, I will present nanoBench (https://github.com/andreas-abel/nanoBench), which is a tool for evaluating small micro-benchmarks using hardware performance counters on Intel and AMD x86 systems. Unlike previous tools, nanoBench can execute micro-benchmarks directly in kernel space. This makes it possible to benchmark privileged instructions, and it enables more accurate measurements. The reading of the performance counters is implemented with minimal overhead, avoiding functions calls and branches.

In the second part of the talk, I will describe techniques to automatically generate micro-benchmarks for characterizing cache architectures and for determining the latency, throughput, and port usage of more than 13,000 instruction variants.  We have applied these techniques to 19 different Intel and AMD microarchitectures; the results are available on our website www.uops.info.

Date and time: Tuesday, May 4, 2021, 2 p.m.. – 3 p.m.

Short bio:

Dr. Andreas Abel is a a postdoc at Saarland University in the group of Prof. Jan Reineke. His research interests include reverse engineering of microarchitectures, performance prediction, and security. He completed his PhD in June 2020 with a thesis entitled Automatic Generation of Models of Microarchitectures.


Video recording: https://www.fau.tv/clip/id/32265 (FAU IdM login required)