Terra: Imperative-Symbolic Co-Execution of Imperative Deep Learning Programs
Not on the map. Why?
Abstract (arXiv)
Imperative programming allows users to implement their deep neural networks (DNNs) easily and has become an essential part of recent deep learning (DL) frameworks. Recently, several systems have been proposed to combine the usability of imperative programming with the optimized performance of symbolic graph execution. Such systems convert imperative Python DL programs to optimized symbolic graphs and execute them. However, they cannot fully support the usability of imperative programming. For example, if an imperative DL program contains a Python feature with no corresponding symbolic representation (e.g., third-party library calls or unsupported dynamic control flows) they fail to execute the program. To overcome this limitation, we propose Terra, an imperative-symbolic co-execution system that can handle any imperative DL programs while achieving the optimized performance of symbolic graph execution. To achieve this, Terra builds a symbolic graph by decoupling DL operations from Python features. Then, Terra conducts the imperative execution to support all Python features, while delegating the decoupled operations to the symbolic execution. We evaluated the performance improvement and coverage of Terra with ten imperative DL programs for several DNN architectures. The results show that Terra can speed up the execution of all ten imperative DL programs, whereas AutoGraph, one of the state-of-the-art systems, fails to execute five of them.
Key facts. Cited by 1 paper in the map (data through 7 Oct 2026). Builds on 18 of its 38 references that are in the map. First posted on arXiv 23 Jan 2022.
Builds on
18 of 38 references.
References · 18
- 2019PyTorch: An Imperative Style, High-Performance Deep Learning Librarycited by 20,160
- 2015MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systemscited by 195
- 2019Checkmate: Breaking the Memory Wall with Optimal Tensor Rematerializationcited by 90
- 2017Device Placement Optimization with Reinforcement Learningcited by 84
- 2016Theano: A Python framework for fast computation of mathematical expressionscited by 64
- 2018TVM: An Automated End-to-End Optimizing Compiler for Deep Learningcited by 62
- 2018Optimizing CNN Model Inference on CPUscited by 29
- 2020Transferable Graph Optimizers for ML Compilerscited by 29
- 2020Ordering Chaos: Memory-Aware Scheduling of Irregularly Wired Neural Networks for Edge Devicescited by 27
- 2019TensorFlow Eager: A Multi-Stage, Python-Embedded DSL for Machine Learningcited by 22
- 2019Chainer: A Deep Learning Framework for Accelerating the Research Cyclecited by 22
- 2017DyNet: The Dynamic Neural Network Toolkitcited by 21
6 more
- 2020Nimble: Lightweight and Parallel GPU Task Scheduling for Deep Learningcited by 17
- 2021LazyTensor: combining eager execution with domain-specific compilerscited by 11
- 2018AutoGraph: Imperative-style Coding with Graph-based Performancecited by 9
- 2020FusionStitching: Boosting Memory Intensive Computations for Deep Learning Workloadscited by 9
- 2018Stochastic Downsampling for Cost-Adjustable Inference and Improved Regularization in Convolutional Networkscited by 7
- 2018JANUS: Fast and Flexible Deep Learning via Symbolic Graph Execution of Imperative Programscited by 4
Built on by
Citing papers per year: 2025: 1.
1 paper.