Please use this identifier to cite or link to this item: http://repositorio.inesctec.pt/handle/123456789/6388
Title: SSA-based MATLAB-to-C compilation and optimization
Authors: Luís Cubal Reis
João Bispo
João Paiva Cardoso
Issue Date: 2016
Abstract: Many fields of engineering, science and finance use models that are developed and validated in high-level languages such as MATLAB. However, when moving to environments with resource constraints or portability challenges, these models often have to be rewritten in lower-level languages such as C. Doing so manually is costly and error-prone, but automated approaches tend to generate code that can be substantially less efficient than the handwritten equivalents. Additionally, it is usually difficult to read and improve code generated by these tools. In this paper, we describe how we improved our MATLAB-to-C compiler, based on the MATISSE framework, to be able to compete with handwritten C code. We describe our new IR and the most important optimizations that we use in order to obtain acceptable performance. We also analyze multiple C code versions to identify where the generated code is slower than the handwritten code and identify a few key improvements to generate code capable of outperforming handwritten C. We evaluate the new version of our compiler using a set of benchmarks, including the Disparity benchmark, from the San Diego Vision Benchmark Suite, on a desktop computer and on an embedded device. The achieved results clearly show the efficiency of the current version of the compiler. Copyright is held by the owner/author(s). Publication rights licensed to ACM.
URI: http://repositorio.inesctec.pt/handle/123456789/6388
http://dx.doi.org/10.1145/2935323.2935330
metadata.dc.type: conferenceObject
Publication
Appears in Collections:CSIG - Articles in International Conferences

Files in This Item:
File Description SizeFormat 
P-00K-MQD.pdf428.64 kBAdobe PDFThumbnail
View/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.