doi: 10.3850/978-3-9815370-4-8_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)
|