PMEvo: portable inference of port mappings for out-of-order processors by evolutionary optimization
Fabian Ritter, Sebastian Hack
Abstract
Achieving peak performance in a computer system requires optimizations in every layer of the system, be it hardware or software. A detailed understanding of the underlying hardware, and especially the processor, is crucial to optimize software. One key criterion for the performance of a processor is its ability to exploit instruction-level parallelism. This ability is determined by the port mapping of the processor, which describes the execution units of the processor for each instruction.
Processor manufacturers usually do not share the port mappings of their microarchitectures. While approaches to automatically infer port mappings from experiments exist, they are based on processor-specific hardware performance counters that are not available on every platform.
We present PMEvo, a framework to automatically infer port mappings solely based on the measurement of the execution time of short instruction sequences. PMEvo uses an evolutionary algorithm that evaluates the fitness of candidate mappings with an analytical throughput model formulated as a linear program. Our prototype implementation infers a port mapping for Intel's Skylake architecture that predicts measured instruction throughput with an accuracy that is competitive to existing work. Furthermore, it finds port mappings for AMD's Zen+ architecture and the ARM Cortex-A72 architecture, which are out of scope of existing techniques.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 7fbd7d42-7ecc-4af2-b323-24a8e0e5252aCited by top-tier papers2
- DiffTune: Optimizing CPU Simulator Parameters with Learned Differentiable SurrogatesAlex Renda, Yishen Chen, Charith Mendis, Michael CarbinMICRO 2020 · 26 citations
- AnICA: analyzing inconsistencies in microarchitectural code analyzersFabian Ritter, Sebastian HackOOPSLA 2022 · 2 citations
Related papers
- Explainable Port Mapping Inference with Sparse Performance Counters for AMD's Zen ArchitecturesFabian Ritter, Sebastian HackASPLOS 2024
- Automated Mapping of Task-Based Programs onto Distributed and Heterogeneous MachinesThiago S. F. X. Teixeira, Alexandra Henzinger, Rohan Yadav, Alex AikenSC 2023 · 5 citations
- OptiPIM: Optimizing Processing-in-Memory Acceleration Using Integer Linear ProgrammingJiantao Liu, Minxuan Zhou, Yue Pan, Chien-Yi Yang et al.ISCA 2025 · 6 citations
- Optimizing parallel PREM compilation over nested loop structuresZhao Gu, Rodolfo PellizzoniDAC 2022
- SilvanForge: A Schedule-Guided Retargetable Compiler for Decision Tree InferenceAshwin Prasad, Sampath Rajendra, Kaushik Rajan, R. Govindarajan et al.SOSP 2024 · 3 citations
