Published March 7, 2024 | Version f719644
Software Open

Explainable Port Mapping Inference with Sparse Performance Counters for AMD's Zen Architectures (Artifact)

  • 1. ROR icon Saarland University

Description

Performance models are instrumental for optimizing performance-sensitive code.
When modeling the use of functional units of out-of-order x86-64 CPUs, data availability varies by the manufacturer:
Instruction-to-port mappings for Intel's processors are available, whereas information for AMD's designs are lacking.
The reason for this disparity is that standard techniques to infer exact port mappings require hardware performance counters that AMD does not provide.

In this work, we modify the port mapping inference algorithm of the widely used uops.info project to not rely on Intel's performance counters.
The modifications are based on a formal port mapping model with a counter-example-guided algorithm powered by an SMT solver.
We investigate in how far AMD's processors comply with this model and where unexpected performance characteristics prevent an accurate port mapping.
Our results provide valuable insights for creators of CPU performance models as well as for software developers who want to achieve peak performance on recent AMD CPUs.

This artifact includes a prototype implementation of the proposed port mapping inference algorithm, written in python and using the z3 SMT solver.
It further provides the data sets and results of the Zen+ case study.
Our suggested artifact evaluation workflow focuses on evaluating the inferred port mapping for the Zen+ microarchitecture as provided in the artifact, including a reproduction of the quantitative evaluation of the paper.

We provide the artifact as a public repository on Github and as an archived virtual machine image bundled with all software dependencies that can be run using Vagrant and VirtualBox.
The virtual machine is based on Debian 12.4 and requires an x86-64 host system.
As our suggested artifact evaluation workflow does not include running actual microbenchmarks on a target system or executing the computationally expensive inference algorithm on realistic workloads, any contemporary x86-64 development machine suffices for evaluating the artifact.

This is an Artifact for ASPLOS 2024 (Fall)

Files

artifact_usage.md

Files (2.1 GB)

Name Size Download all
md5:58be95a7e5f354acdb879380f4cca481
4.3 kB Preview Download
md5:1a151ed0b52fe1c571c653dbffa8dabc
2.1 GB Download
md5:df75e068044a863284944642a52cd6e8
309 Bytes Download

Additional details

Related works

Is supplement to
Conference paper: 10.1145/3620666.3651363 (DOI)

Software

Repository URL
https://github.com/cdl-saarland/pmtestbench
Programming language
Python