@inproceedings {25801,
	title = {Automated Translation of MATLAB Code to C++ with Performance and Traceability},
	journal = {The Eleventh International Conference on Advanced Engineering Computing and Applications in Sciences (ADVCOMP 2017)},
	year = {2017},
	month = {11/2017},
	pages = {50-55},
	publisher = {International Academy, Research and Industry Association (IARIA)},
	abstract = {In this paper, we discuss the implementation and performance of m2cpp: an automated translator from MATLAB code to its matching Armadillo counterpart in the C++ language. A non-invasive strategy has been adopted, meaning that the user of m2cpp does not insert annotations or additional code lines into the input serial MATLAB code. Instead, a combination of code analysis, automated preprocessing and a user-editable metainfo file ensures that m2cpp overcomes some specialties of the MATLAB language, such as implicit typing of variables and multiple return values from functions. Thread-based parallelisation, using either OpenMP or Intel{\textquoteright}s Threading Building Blocks (TBB) library, can also be carried out by m2cpp for designated for-loops. Such an automated and non-invasive strategy allows maintaining an independent MATLAB code base that is favoured by algorithm developers, while an updated translation into the easily readable C++ counterpart can be obtained at any time. Illustrating examples from seismic data processing are provided in this paper, with performance results obtained on multicore Sandy Bridge CPUs and Intel{\textquoteright}s Knights-Landing Xeon Phi processor.},
	keywords = {C++, Code translation, Image processing, Matlab, Seismology},
	isbn = {978-1-61208-599-9},
	issn = {2308-4499},
	url = {http://www.thinkmind.org/index.php?view=article\&articleid=advcomp_2017_4_30_20088},
	author = {Geir Yngve {Paulsen} and Clark, Stuart and Nordmoen, Bj{\o}rn and Nenakhov, Sergey and Andersson, Aron and Cai, Xing and Hans Petter {Dahle}},
	editor = {R{\"u}ckemann, Claus-Peter and Vucinic, D.}
}
@inproceedings {25077,
	title = {Matlab2cpp: A Matlab-to-C++ code translator},
	journal = {IEEE 2016 11th System of Systems Engineering Conference (SoSE)},
	year = {2016},
	month = {06/2016},
	publisher = {IEEE},
	abstract = {This paper discusses the source-to-source Matlab2cpp translator, which is currently being developed in the EMC2 project. With help of user-supplied information about variable data types and a few special translation rules, Matlab code can be automatically translated into C++ code that makes use of the Armadillo C++ library. Preliminary tests with examples from the SeismicLab package have confirmed that this Matlab-to-C++ translator is indeed capable of handling realistic Matlab code. This tool thus has the potential of closing the gap between human-friendly experimentation offered by interactive Matlab scripting and performance-critical production runs that rely on C++ programming.},
	keywords = {Armadillo, C++, Code translation, Matlab},
	doi = {10.1109/SYSOSE.2016.7542966},
	author = {Geir Yngve {Paulsen} and Feinberg, Jonathan and Cai, Xing and Nordmoen, Bj{\o}rn},
	editor = {Hans Petter {Dahle}}
}
