DLVM: A modern compiler infrastructure for deep learning systems


Nov 03, 2017 (modified: Dec 11, 2017) ICLR 2018 Conference Blind Submission readers: everyone Show Bibtex
  • Abstract: Deep learning software demands reliability and performance. However, many of the existing deep learning frameworks are software libraries that act as an unsafe DSL in Python and a computation graph interpreter. We present DLVM, a design and implementation of a compiler infrastructure with a linear algebra intermediate representation, algorithmic differentiation by adjoint code generation, domain- specific optimizations and a code generator targeting GPU via LLVM. Designed as a modern compiler infrastructure inspired by LLVM, DLVM is more modular and more generic than existing deep learning compiler frameworks, and supports tensor DSLs with high expressivity. With our prototypical staged DSL embedded in Swift, we argue that the DLVM system enables a form of modular, safe and performant frameworks for deep learning.
  • TL;DR: We introduce a novel compiler infrastructure that addresses shortcomings of existing deep learning frameworks.
  • Keywords: deep learning, automatic differentiation, algorithmic differentiation, domain specific languages, neural networks, programming languages, DSLs