Programming with neural surrogates of programs

  title={Programming with neural surrogates of programs},
  author={Alex Renda and Yi Ding and Michael Carbin},
  journal={Proceedings of the 2021 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software},
  • Alex RendaYi DingMichael Carbin
  • Published 17 October 2021
  • Computer Science
  • Proceedings of the 2021 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software
Surrogates, models that mimic the behavior of programs, form the basis of a variety of development workflows. We study three surrogate-based design patterns, evaluating each in case studies on a large-scale CPU simulator. With surrogate compilation, programmers develop a surrogate that mimics the behavior of a program to deploy to end-users in place of the original program. Surrogate compilation accelerates the CPU simulator under study by 1.6×. With surrogate adaptation, programmers develop a… 

Figures and Tables from this paper



BHive: A Benchmark Suite and Measurement Framework for Validating x86-64 Basic Block Performance Models

A novel profiler that can profile arbitrary memory-accessing basic blocks without any user intervention is presented, and this profiler was used to build BHive, a benchmark for systematic validation of performance models of x86-64 basic blocks.

PyTorch: An Imperative Style, High-Performance Deep Learning Library

This paper details the principles that drove the implementation of PyTorch and how they are reflected in its architecture, and explains how the careful and pragmatic implementation of the key components of its runtime enables them to work together to achieve compelling performance.

NEUZZ: Efficient Fuzzing with Neural Program Smoothing

A novel program smoothing technique using surrogate neural network models that can incrementally learn smooth approximations of a complex, real-world program's branching behaviors is proposed and used together with gradient-guided input generation schemes to significantly increase the efficiency of the fuzzing process.

Ithemal: Accurate, Portable and Fast Basic Block Throughput Estimation using Deep Neural Networks

Ithemal is presented, the first tool which learns to predict the throughput of a set of instructions and is more accurate than state-of-the-art hand-written tools currently used in compiler backends and static machine code analyzers.

Transfer Learning for Design-Space Exploration with High-Level Synthesis

  • Jihye KwonL. Carloni
  • Computer Science
    2020 ACM/IEEE 2nd Workshop on Machine Learning for CAD (MLCAD)
  • 2020
A novel neural network model is developed that outperforms both single-domain and hard-sharing models in predicting the performance and cost at early stages of HLS-driven DSE and reuses the knowledge obtained from previously explored design spaces in exploring a new target design space.

Transfer Learning as a Tool for Reducing Simulation Bias: Application to Inertial Confinement Fusion

Numerical tests are carried out to investigate the applicability of transfer learning to predict the observable outcomes of inertial confinement fusion experiments under new conditions and demonstrate that an accurate predictive model can be built by retraining an initial surrogate model with experimental data volumes so small that they are relevant to the ICF problem.

Deep Probabilistic Surrogate Networks for Universal Simulator Approximation

Employing the surrogate modeling technique makes inference an order of magnitude faster, opening up the possibility of doing simulator-based, non-invasive, just-in-time parts quality testing; in this case inferring safety-critical latent internal temperature profiles of composite materials undergoing curing from surface temperature profile measurements.

Imitation-Projected Programmatic Reinforcement Learning

The experiments show that PROPEL can significantly outperform state-of-the-art approaches for learning programmatic policies and exploit contemporary combinatorial methods for this task.

Hyperparameter optimization in black-box image processing using differentiable proxies

This work presents a fully automatic system to optimize the parameters of black-box hardware and software image processing pipelines according to any arbitrary metric, and demonstrates that traditional algorithms can outperform recent deep learning methods by a substantial margin on recent benchmarks.