Learning to Compile Programs to Neural Networks

Authors: Logan Weber, Jesse Michel, Alex Renda, Michael Carbin

ICML 2024 | Conference PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental We implement neural surrogate compilers using hypernetworks trained on a dataset of C programs and find they produce neural surrogates that are 1.91-9.50 as dataefficient and train in 4.31-7.28 fewer epochs than neural surrogates trained from scratch.
Researcher Affiliation Academia 1MIT CSAIL, Cambridge, MA. Correspondence to: Logan Weber <loganweb@mit.edu>.
Pseudocode No The paper does not contain any explicitly labeled "Pseudocode" or "Algorithm" blocks, nor does it present structured steps for a method or procedure formatted like code.
Open Source Code No The paper does not include an unambiguous statement from the authors about releasing their source code, nor does it provide a direct link to a code repository for the methodology described.
Open Datasets Yes To fulfill this requirement, we developed EXESTACK, a dataset of numerical, executable, deterministic C programs and corresponding input-output examples. EXESTACK is based on The Stack, a dataset of 3 TB of permissively licensed source code written in various programming languages scraped from Git Hub (Kocetkov et al., 2022).
Dataset Splits Yes From the full set of programs, we created a train, validation, and test set using an 80/10/10 split.
Hardware Specification Yes GPU NVIDIA Tesla T4 16GB
Software Dependencies No The paper mentions using the BERT-Tiny architecture and the Adam optimizer, but it does not specify version numbers for any software libraries, programming languages, or specific frameworks like PyTorch or TensorFlow.
Experiment Setup Yes COMPNETs are controlled by the following hyperparameters: program batch size, input batch size, learning rate, number of training epochs, dataset program split, dataset input split, and the surrogate topology.