DiffTune: Optimizing CPU Simulator Parameters with Learned Differentiable Surrogates

DiffTune: Optimizing CPU Simulator Parameters with Learned Differentiable Surrogates
复制标题

DiffTune:使用学习的可微代理优化 CPU 模拟器参数

DOI:
10.1109/micro50266.2020.00045
复制
发表时间:
2020
期刊:
Annual IEEE/ACM International Symposium on Microarchitecture (MICRO
影响因子:
--
通讯作者:
Carbin, Michael
Carbin, Michael
中科院分区:
--
文献类型:
--
作者:
Renda, Alex;Chen, Yishen;Mendis, Charith;Carbin, Michael

文献摘要

参考文献

被引文献

相似文献

CPU 模拟器是对 CPU 执行行为进行建模的有用工具。然而,由于设置细粒度参数的成本和复杂性(例如单个指令的延迟),它们存在不准确性。这种复杂性源于设计基准和测量框架所需的专业知识,这些基准和测量框架可以以如此精细的粒度精确测量参数值。在某些情况下,这些参数不一定具有物理实现,因此基本上是近似的,甚至是不可测量的。在本文中,我们提出了 DiffTune,一个用于从粗粒度端到端测量中学习 x86 基本块 CPU 模拟器参数的系统。给定一个模拟器,DiffTune 通过首先用可微代理(另一个近似原始函数的函数)替换原始模拟器来学习其参数;通过使代理可微分,即使原始函数不可微分(例如 CPU 模拟器的情况),DiffTune 也能够应用基于梯度的优化技术。有了这个可微分代理,DiffTune 然后应用基于梯度的优化来生成模拟器参数值,从而最大限度地减少模拟器在地面真实端到端性能测量数据集上的误差。最后,将学习到的参数插回到原始模拟器中。 DiffTune 能够自动学习 llvm-mca(基于 LLVM 指令调度模型的基本块 CPU 模拟器)的 Intel x86 模拟模型中的整套微架构特定参数。 DiffTune 的学习参数导致 llvm-mca 的平均误差不仅匹配而且降低了专家提供的原始参数值。
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 the surrogate differentiable, DiffTune is then able to apply gradient-based optimization techniques even when the original function is non-differentiable, such as is the case with CPU simulators. With this differentiable surrogate, DiffTune then applies gradient-based optimization to produce values of the simulator's parameters that minimize the simulator's error on a dataset of ground truth end-to-end performance measurements. Finally, the learned parameters are plugged back into the original simulator. DiffTune is able to automatically learn the entire set of microarchitecture-specific parameters within the Intel x86 simulation model of llvm-mca, a basic block CPU simulator based on LLVM's instruction scheduling model. DiffTune's learned parameters lead llvm-mca to an average error that not only matches but lowers that of its original, expert-provided parameter values.
DOI: 10.1109/ispass.2014.6844457
发表时间: 2014-03
期刊: 2014 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)
影响因子: --
作者:
Anthony Gutierrez;Joseph Pusdesris;R. Dreslinski;T. Mudge;Chander Sudanthi;C. D. Emmons;Mitchell Hayenga;N. Paver
通讯作者: Anthony Gutierrez;Joseph Pusdesris;R. Dreslinski;T. Mudge;Chander Sudanthi;C. D. Emmons;Mitchell Hayenga;N. Paver
NEON、AVX 和 SVE 的矢量化成本建模
DOI: 10.1016/j.peva.2020.102106
发表时间: 2020
期刊: Perform. Evaluation
影响因子: --
作者:
Angela Pohl;Biagio Cosenza;B. Juurlink
通讯作者: B. Juurlink
PMEvo:通过进化优化对乱序处理器的端口映射进行可移植推断
DOI: 10.1145/3385412.3385995
发表时间: 2020
期刊: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation
影响因子: --
作者:
Fabian Ritter;Sebastian Hack
通讯作者: Sebastian Hack
DOI: 10.1109/pmbs.2018.8641578
发表时间: 2018
期刊: 2018 IEEE/ACM Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems (PMBS)
影响因子: --
作者:
Jan Laukemann;Julian Hammer;Johannes Hofmann;G. Hager;G. Wellein
通讯作者: G. Wellein
CacheQuery:从硬件缓存中学习替换策略
DOI: 10.1145/3385412.3386008
发表时间: 2019
期刊: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation
影响因子: --
作者:
Pepe Vila;P. Ganty;M. Guarnieri;Boris Köpf
通讯作者: Boris Köpf