TL;DR
DiffTune introduces a method to learn accurate CPU simulator parameters by replacing the simulator with a differentiable surrogate, enabling gradient-based optimization to improve simulation accuracy using coarse measurements.
Contribution
It presents a novel approach to automatically tune CPU simulator parameters via differentiable surrogates, reducing reliance on expert knowledge and fine-grained measurements.
Findings
Learned parameters reduce simulation error.
Automatically tunes microarchitecture-specific parameters.
Improves accuracy over expert-provided values.
Abstract
CPU simulators are useful tools for modeling CPU execution behavior. However, they suffer from inaccuracies due to the cost and complexity of setting their fine-grained parameters, such as the latencies of individual instructions. This complexity arises from the expertise required to design benchmarks and measurement frameworks that can precisely measure the values of parameters at such fine granularity. In some cases, these parameters do not necessarily have a physical realization and are therefore fundamentally approximate, or even unmeasurable. In this paper we present DiffTune, a system for learning the parameters of x86 basic block CPU simulators from coarse-grained end-to-end measurements. Given a simulator, DiffTune learns its parameters by first replacing the original simulator with a differentiable surrogate, another function that approximates the original function; by making…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
