A MATLAB Vectorizing Compiler Targeting Application-Specific Instruction Set Processors

作者:Latifis Ioannis*; Parashar Karthick; Dimitroulakos Grigoris; Cappelle Hans; Lezos Christakis; Masselos Konstantinos; Catthoor Francky
来源:ACM Transactions on Design Automation of Electronic Systems, 2017, 22(2): 32.
DOI:10.1145/2996182

摘要

This article discusses a MATLAB-to-C vectorizing compiler that exploits custom instructions, for example, for Single Instruction Multiple Data (SIMD) processing and instructions for complex arithmetic present in Application-Specific Instruction Set Processors (ASIPs). Custom instructions are represented via specialized intrinsic functions in the generated code, and the generated code can be used as input to any C/C++ compiler supporting the target processor. Furthermore, the specialized instruction set of the target processor is described in a parameterized way using a target processor-independent architecture description approach, thus allowing the support of any processor. The compiler has been used for the generation of application code for two different ASIPs for several benchmarks. The code generated by the compiler achieves a speedup between 2x-74x and 2x-97x compared to the code generated by the MathWorks MATLAB-to-C compiler. Experimental results also prove that the compiler efficiently exploits SIMD custom instructions achieving a 3.3 factor speedup compared to cases where no SIMD processing is used. Thus the compiler can be employed to reduce the development time/effort/cost and time to market through raising the abstraction of application design in an embedded systems/system-on-chip development context.

  • 出版日期2017-3

全文