Latte: a language, compiler, and runtime for elegant and efficient deep neural networks
Deep neural networks (DNNs) have undergone a surge in popularity with consistent advances in the state of the art for tasks including image recognition, natural language processing, and speech recognition. The computationally expensive nature of these networks has led to the proliferation of implementations that sacrifice abstraction for high performance. In this paper, we present Latte, a domain specific language for DNNs that provides a natural abstraction for specifying new layers without sacrificing performance. Users of Latte express DNNs as ensembles of neurons with connections between them. The Latte compiler synthesizes a program based on the user specification, applies a suite of domain specific and general optimizations, and emits efficient machine code for heterogeneous architectures. Latte also includes a communication runtime for distributed memory data parallelism. Using networks described using Latte, we demonstrate 3 6x speedup over Caffe (C+/MKL) on the three state of the art ImageNet models executing on an Intel Xeon E5 2699 v3 x86 CPU.
PLDI 2016