Share Email Print
cover

Proceedings Paper

Improving developer productivity with C++ embedded domain specific languages
Author(s): Stephen Kozacik; Evenie Chao; Aaron Paolini; James Bonnett; Eric Kelmelis
Format Member Price Non-Member Price
PDF $14.40 $18.00
cover GOOD NEWS! Your organization subscribes to the SPIE Digital Library. You may be able to download this paper for free. Check Access

Paper Abstract

Domain-specific languages are a useful tool for productivity allowing domain experts to program using familiar concepts and vocabulary while benefiting from performance choices made by computing experts. Embedding the domain specific language into an existing language allows easy interoperability with non-domain-specific code and use of standard compilers and build systems. In C++, this is enabled through the template and preprocessor features. C++ embedded domain specific languages (EDSLs) allow the user to write simple, safe, performant, domain specific code that has access to all the low-level functionality that C and C++ offer as well as the diverse set of libraries available in the C/C++ ecosystem. In this paper, we will discuss several tools available for building EDSLs in C++ and show examples of projects successfully leveraging EDSLs. Modern C++ has added many useful new features to the language which we have leveraged to further extend the capability of EDSLs. At EM Photonics, we have used EDSLs to allow developers to transparently benefit from using high performance computing (HPC) hardware. We will show ways EDSLs combine with existing technologies and EM Photonics high performance tools and libraries to produce clean, short, high performance code in ways that were not previously possible.

Paper Details

Date Published: 7 May 2017
PDF: 8 pages
Proc. SPIE 10206, Disruptive Technologies in Sensors and Sensor Systems, 102060R (7 May 2017); doi: 10.1117/12.2264800
Show Author Affiliations
Stephen Kozacik, EM Photonics, Inc. (United States)
Univ. of Delaware (United States)
Evenie Chao, EM Photonics, Inc. (United States)
Aaron Paolini, EM Photonics, Inc. (United States)
James Bonnett, EM Photonics, Inc. (United States)
Eric Kelmelis, EM Photonics, Inc. (United States)


Published in SPIE Proceedings Vol. 10206:
Disruptive Technologies in Sensors and Sensor Systems
Russell D. Hall; Misty Blowers; Jonathan Williams, Editor(s)

© SPIE. Terms of Use
Back to Top