Ithemal: Accurate, Portable and Fast Basic Block Throughput Estimation using Deep Neural Networks
Not on the map. Why?
Abstract (arXiv)
Predicting the number of clock cycles a processor takes to execute a block of assembly instructions in steady state (the throughput) is important for both compiler designers and performance engineers. Building an analytical model to do so is especially complicated in modern x86-64 Complex Instruction Set Computer (CISC) machines with sophisticated processor microarchitectures in that it is tedious, error prone, and must be performed from scratch for each processor generation. In this paper we present Ithemal, the first tool which learns to predict the throughput of a set of instructions. Ithemal uses a hierarchical LSTM--based approach to predict throughput based on the opcodes and operands of instructions in a basic block. We show that Ithemal is more accurate than state-of-the-art hand-written tools currently used in compiler backends and static machine code analyzers. In particular, our model has less than half the error of state-of-the-art analytical models (LLVM's llvm-mca and Intel's IACA). Ithemal is also able to predict these throughput values just as fast as the aforementioned tools, and is easily ported across a variety of processor microarchitectures with minimal developer effort.
Key facts. Cited by 43 papers in the map (data through 7 Oct 2026). First posted on arXiv 21 Aug 2018.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 12; 2022: 7; 2023: 6; 2024: 7; 2025: 7; 2026: 4.
43 papers.
Sort:
By area:
- 2021A Survey of Machine Learning for Computer Architecture and Systemscited by 53
- 2021CompilerGym: Robust, Performant Compiler Optimization Environments for AI Researchcited by 41
- 2021An Evaluation of Edge TPU Accelerators for Convolutional Neural Networkscited by 39
- 2021Latent Execution for Neural Program Synthesiscited by 35
- 2024OmniPred: Language Models as Universal Regressorscited by 34
- 2021A Deep Learning Based Cost Model for Automatic Code Optimizationcited by 33
- 2022Unsupervised Learning for Combinatorial Optimization with Principled Objective Relaxationcited by 32
- 2021A Runtime-Based Computational Performance Predictor for Deep Neural Network Trainingcited by 29
- 2021Mind Mappings: Enabling Efficient Algorithm-Accelerator Mapping Space Searchcited by 24
- 2023TpuGraphs: A Performance Prediction Dataset on Large Tensor Computational Graphscited by 16
- 2022CODE-MVP: Learning to Represent Source Code from Multiple Views with Contrastive Pre-Trainingcited by 15
- 2026KernelFoundry: Hardware-aware evolutionary GPU kernel optimizationcited by 11
31 more
- 2022GRANITE: A Graph Neural Network Model for Basic Block Throughput Estimationcited by 9
- 2024LayerDAG: A Layerwise Autoregressive Diffusion Model for Directed Acyclic Graph Generationcited by 8
- 2024LOOPer: A Learned Automatic Code Optimizer For Polyhedral Compilerscited by 7
- 2023ArchGym: An Open-Source Gymnasium for Machine Learning Assisted Architecture Designcited by 6
- 2026Revati: Transparent GPU-Free Time-Warp Emulation for LLM Servingcited by 5
- 2022RL4ReAl: Reinforcement Learning for Register Allocationcited by 4
- 2021SimNet: Accurate and High-Performance Computer Architecture Simulation using Deep Learningcited by 3
- 2021Programming with Neural Surrogates of Programscited by 3
- 2022Application Performance Modeling via Tensor Completioncited by 3
- 2024Tao: Re-Thinking DL-based Microarchitecture Simulationcited by 3
- 2024A Reinforcement Learning Environment for Automatic Code Optimization in the MLIR Compilercited by 3
- 2021Using Graph Neural Networks to model the performance of Deep Neural Networkscited by 2
- 2021Profile Guided Optimization without Profiles: A Machine Learning Approachcited by 2
- 2023Learning Generalizable Program and Architecture Representations for Performance Modelingcited by 2
- 2025Counting Without Running: Evaluating LLMs' Reasoning About Code Complexitycited by 2
- 2021Program-to-Circuit: Exploiting GNNs for Program Representation and Circuit Translationcited by 1
- 2022Learning to Learn to Predict Performance Regressions in Production at Metacited by 1
- 2023COMET: Neural Cost Model Explanation Frameworkcited by 1
- 2023Transfer Learning Across Heterogeneous Features For Efficient Tensor Program Generationcited by 1
- 2024A Benchmark on Directed Graph Representation Learning in Hardware Designscited by 1
- 2025Interference-Aware Edge Runtime Prediction with Conformal Matrix Completioncited by 1
- 2025GraphPerf-RT: A Graph-Driven Performance Model for Hardware-Aware Scheduling of OpenMP Codescited by 1
- 2022BB-ML: Basic Block Performance Prediction using Machine Learning Techniquescited by 0
- 2023ML-driven Hardware Cost Model for MLIRcited by 0
- 2024Specification Generation for Neural Networks in Systemscited by 0
- 2025Data-efficient Performance Modeling via Pre-trainingcited by 0
- 2025PrETi: Predicting Execution Time in Early Stage with LLVM and Machine Learningcited by 0
- 2025TRACE: Learning to Compute on Circuit Graphscited by 0
- 2025Exploring the Feasibility of End-to-End Large Language Model as a Compilercited by 0
- 2026On the Limits of Machine-Learned Ranking for Modern Microarchitectural Policiescited by 0
- 2026Tensor Seeks Layout: Formalizing Layout Selection for ML Compilerscited by 0
- 2026Tensor Seeks Layout: Formalizing Layout Selection for ML Compilers21 Aug 2026
- 2026On the Limits of Machine-Learned Ranking for Modern Microarchitectural Policies2 Aug 2026
- 2026KernelFoundry: Hardware-aware evolutionary GPU kernel optimization12 Mar 2026
- 2026Revati: Transparent GPU-Free Time-Warp Emulation for LLM Serving1 Jan 2026
- 2025GraphPerf-RT: A Graph-Driven Performance Model for Hardware-Aware Scheduling of OpenMP Codes12 Dec 2025
- 2025Counting Without Running: Evaluating LLMs' Reasoning About Code Complexity4 Dec 2025
- 2025Exploring the Feasibility of End-to-End Large Language Model as a Compiler6 Nov 2025
- 2025TRACE: Learning to Compute on Circuit Graphs26 Sep 2025
- 2025PrETi: Predicting Execution Time in Early Stage with LLVM and Machine Learning17 Mar 2025
- 2025Interference-Aware Edge Runtime Prediction with Conformal Matrix Completion9 Mar 2025
- 2025Data-efficient Performance Modeling via Pre-training24 Jan 2025
- 2024Specification Generation for Neural Networks in Systems4 Dec 2024
31 more
- 2024LayerDAG: A Layerwise Autoregressive Diffusion Model for Directed Acyclic Graph Generation4 Nov 2024
- 2024A Benchmark on Directed Graph Representation Learning in Hardware Designs9 Oct 2024
- 2024A Reinforcement Learning Environment for Automatic Code Optimization in the MLIR Compiler17 Sep 2024
- 2024Tao: Re-Thinking DL-based Microarchitecture Simulation16 Apr 2024
- 2024LOOPer: A Learned Automatic Code Optimizer For Polyhedral Compilers18 Mar 2024
- 2024OmniPred: Language Models as Universal Regressors22 Feb 2024
- 2023Learning Generalizable Program and Architecture Representations for Performance Modeling25 Oct 2023
- 2023TpuGraphs: A Performance Prediction Dataset on Large Tensor Computational Graphs25 Aug 2023
- 2023ArchGym: An Open-Source Gymnasium for Machine Learning Assisted Architecture Design15 Jun 2023
- 2023Transfer Learning Across Heterogeneous Features For Efficient Tensor Program Generation11 Apr 2023
- 2023ML-driven Hardware Cost Model for MLIR14 Feb 2023
- 2023COMET: Neural Cost Model Explanation Framework14 Feb 2023
- 2022Application Performance Modeling via Tensor Completion18 Oct 2022
- 2022GRANITE: A Graph Neural Network Model for Basic Block Throughput Estimation8 Oct 2022
- 2022Learning to Learn to Predict Performance Regressions in Production at Meta8 Aug 2022
- 2022Unsupervised Learning for Combinatorial Optimization with Principled Objective Relaxation13 Jul 2022
- 2022CODE-MVP: Learning to Represent Source Code from Multiple Views with Contrastive Pre-Training4 May 2022
- 2022RL4ReAl: Reinforcement Learning for Register Allocation5 Apr 2022
- 2022BB-ML: Basic Block Performance Prediction using Machine Learning Techniques16 Feb 2022
- 2021Profile Guided Optimization without Profiles: A Machine Learning Approach24 Dec 2021
- 2021Programming with Neural Surrogates of Programs12 Dec 2021
- 2021CompilerGym: Robust, Performant Compiler Optimization Environments for AI Research17 Sep 2021
- 2021Program-to-Circuit: Exploiting GNNs for Program Representation and Circuit Translation13 Sep 2021
- 2021Using Graph Neural Networks to model the performance of Deep Neural Networks27 Aug 2021
- 2021Latent Execution for Neural Program Synthesis29 Jun 2021
- 2021SimNet: Accurate and High-Performance Computer Architecture Simulation using Deep Learning12 May 2021
- 2021A Deep Learning Based Cost Model for Automatic Code Optimization11 Apr 2021
- 2021Mind Mappings: Enabling Efficient Algorithm-Accelerator Mapping Space Search2 Mar 2021
- 2021An Evaluation of Edge TPU Accelerators for Convolutional Neural Networks20 Feb 2021
- 2021A Survey of Machine Learning for Computer Architecture and Systems16 Feb 2021
- 2021A Runtime-Based Computational Performance Predictor for Deep Neural Network Training31 Jan 2021
- 2021A Survey of Machine Learning for Computer Architecture and Systemscited by 53
- 2021CompilerGym: Robust, Performant Compiler Optimization Environments for AI Researchcited by 41
- 2021An Evaluation of Edge TPU Accelerators for Convolutional Neural Networkscited by 39
- 2021Latent Execution for Neural Program Synthesiscited by 35
- 2024OmniPred: Language Models as Universal Regressorscited by 34
- 2021A Deep Learning Based Cost Model for Automatic Code Optimizationcited by 33
- 2022Unsupervised Learning for Combinatorial Optimization with Principled Objective Relaxationcited by 32
- 2021A Runtime-Based Computational Performance Predictor for Deep Neural Network Trainingcited by 29
- 2021Mind Mappings: Enabling Efficient Algorithm-Accelerator Mapping Space Searchcited by 24
- 2023TpuGraphs: A Performance Prediction Dataset on Large Tensor Computational Graphscited by 16
- 2022CODE-MVP: Learning to Represent Source Code from Multiple Views with Contrastive Pre-Trainingcited by 15
- 2026KernelFoundry: Hardware-aware evolutionary GPU kernel optimizationcited by 11
12 most cited of 41 All 41 (JSON)
- 2026Tensor Seeks Layout: Formalizing Layout Selection for ML Compilers21 Aug 2026
- 2026On the Limits of Machine-Learned Ranking for Modern Microarchitectural Policies2 Aug 2026
- 2026KernelFoundry: Hardware-aware evolutionary GPU kernel optimization12 Mar 2026
- 2026Revati: Transparent GPU-Free Time-Warp Emulation for LLM Serving1 Jan 2026
- 2025GraphPerf-RT: A Graph-Driven Performance Model for Hardware-Aware Scheduling of OpenMP Codes12 Dec 2025
- 2025Exploring the Feasibility of End-to-End Large Language Model as a Compiler6 Nov 2025
- 2025TRACE: Learning to Compute on Circuit Graphs26 Sep 2025
- 2025PrETi: Predicting Execution Time in Early Stage with LLVM and Machine Learning17 Mar 2025
- 2025Interference-Aware Edge Runtime Prediction with Conformal Matrix Completion9 Mar 2025
- 2025Data-efficient Performance Modeling via Pre-training24 Jan 2025
- 2024Specification Generation for Neural Networks in Systems4 Dec 2024
- 2024A Benchmark on Directed Graph Representation Learning in Hardware Designs9 Oct 2024
12 newest of 41 All 41 (JSON)