Gravity: An Artificial Neural Network Compiler for Embedded Applications

1Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.
Get full text

Abstract

This paper introduces the Gravity compiler. Gravity is an open source optimizing Artificial Neural Network (ANN) to ANSI C compiler with two unique design features that make it ideal for use in resource constrained embedded systems: (1) the generated ANSI C code is self-contained and void of any library or platform dependencies and (2) the generated ANSI C code is optimized for maximum performance and minimum memory usage. Moreover, Gravity is constructed as a modern compiler consisting of an intuitive input language, an expressive Intermediate Representation (IR), a mapping to a Fictitious Instruction Set Machine (FISM) and a retargetable backend, making it an ideal research tool for exploring high-performance embedded software strategies in AI and Deep-Learning applications. We validate the efficacy of Gravity by solving the MNIST handwriting digit recognition on an embedded device. We measured a 300x reduction in memory, 2.5x speedup in inference and 33% speedup in training compared to TensorFlow. We also outperformed TVM, by over 2.4x in inference speed.

Cite

CITATION STYLE

APA

Givargis, T. (2021). Gravity: An Artificial Neural Network Compiler for Embedded Applications. In Proceedings of the Asia and South Pacific Design Automation Conference, ASP-DAC (pp. 715–721). Institute of Electrical and Electronics Engineers Inc. https://doi.org/10.1145/3394885.3431514

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free