Cortex: A Compiler for Recursive Deep Learning Models
arXiv:2011.01383
Abstract
Optimizing deep learning models is generally performed in two steps: (i) high-level graph optimizations such as kernel fusion and (ii) low level kernel optimizations such as those found in vendor libraries. This approach often leaves significant performance on the table, especially for the case of recursive deep learning models. In this paper, we present Cortex, a compiler-based approach to generate highly-efficient code for recursive models for low latency inference. Our compiler approach and low reliance on vendor libraries enables us to perform end-to-end optimizations, leading to up to 14X lower inference latencies over past work, across different backends.
11 pages, 12 figures and 6 tables
References in corpus (16)
- PyTorch: An Imperative Style, High-Performance Deep Learning Library
- Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation
- End to End Learning for Self-Driving Cars
- cuDNN: Efficient Primitives for Deep Learning
- Deep Reinforcement Learning for Dialogue Generation
- DyNet: The Dynamic Neural Network Toolkit
- Tensor Comprehensions: Framework-Agnostic High-Performance Machine Learning Abstractions
- Learning to Optimize Tensor Programs
- Glow: Graph Lowering Compiler Techniques for Neural Networks
- TVM: An Automated End-to-End Optimizing Compiler for Deep Learning
- MLIR: A Compiler Infrastructure for the End of Moore's Law
- Deep Learning with Dynamic Computation Graphs
- Depth-Adaptive Transformer
- Nimble: Efficiently Compiling Dynamic Neural Networks for Model Inference
- Improving the Expressiveness of Deep Learning Frameworks with Recursion
- RegDem: Increasing GPU Performance via Shared Memory Register Spilling