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 IR inspired by LLVM and SIL, DLVM IR is more modular and more generic than existing deep learning compiler IRs, and supports deep learning DSLs with high expressivity. With our prototypical deep learning DSLs embedded in Swift, we argue that the DLVM system enables a form of modular, safe and performant toolkits for deep learning.

DLVM started as a research project at University of Illinois at Urbana-Champaign, and is now driven by a small community of researchers and developers. Most projects will be open-source later this year.



All projects are written in Swift.