doi: 10.7873/DATE.2015.0182


A Basic Linear Algebra Compiler for Embedded Processors


Nikolaos Kyrtatasa, Daniele G. Spampinatob and Markus Püschelc

Department of Computer Science, ETH Zurich, Switzerland.

ankyrtata@student.ethz.ch
bdanieles@inf.ethz.ch
cpueschel@inf.ethz.ch

ABSTRACT

Many applications in signal processing, control, and graphics on embedded devices require efficient linear algebra computations. On general-purpose computers, program generators have proven useful to produce such code, or important building blocks, automatically. An example is LGen, a compiler for basic linear algebra computations of fixed size. In this work, we extend LGen towards the embedded domain using as example targets Intel Atom, ARM Cortex-A8, ARM Cortex- A9, and ARM1176 (Raspberry Pi). To efficiently support these processors we introduce support for the NEON vector ISA and a methodology for domain-specific load/store optimizations. Our experimental evaluation shows that the new version of LGen produces code that performs in many cases considerably better than well-established, commercial and non-commercial libraries (Intel MKL and IPP), software generators (Eigen and ATLAS), and compilers (icc, gcc, and clang).



Full Text (PDF)