Back to Search
Start Over
A MATLAB Vectorizing Compiler Targeting Application-Specific Instruction Set Processors
- Source :
- ACM Transactions on Design Automation of Electronic Systems. 22:1-28
- Publication Year :
- 2017
- Publisher :
- Association for Computing Machinery (ACM), 2017.
-
Abstract
- 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 2× --74× and 2× --97× 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.
- Subjects :
- Programming language
Computer science
Inline expansion
020207 software engineering
02 engineering and technology
Parallel computing
computer.software_genre
Computer Graphics and Computer-Aided Design
Dead code elimination
020202 computer hardware & architecture
Computer Science Applications
Functional compiler
Threaded code
Compiler construction
0202 electrical engineering, electronic engineering, information engineering
Interprocedural optimization
Compiler
Hardware_CONTROLSTRUCTURESANDMICROPROGRAMMING
Electrical and Electronic Engineering
computer
Compiler correctness
Subjects
Details
- ISSN :
- 15577309 and 10844309
- Volume :
- 22
- Database :
- OpenAIRE
- Journal :
- ACM Transactions on Design Automation of Electronic Systems
- Accession number :
- edsair.doi...........d35bbecfa80d1eafffd339153f596a71
- Full Text :
- https://doi.org/10.1145/2996182