Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3229631.3239371acmotherconferencesArticle/Chapter ViewAbstractPublication PagessamosConference Proceedingsconference-collections
research-article

Exploring the semantic gap in compiling embedded DSLs

Published: 15 July 2018 Publication History

Abstract

Optimizing compilers provide valuable contributions to the quality of processed code. The vast majority of application developers rely on those capabilities to obtain binary code efficiently utilizing processing resources. However, compiler proficiency is frequently misjudged by application developers. While for some constellations the effectiveness of those optimizations is grossly underestimated, for others, mostly involving higher-level semantic concepts of embedded DSLs, the compilers' influence on the code quality tends to disappoint.
In this paper, we provide examples for the effectiveness and ineffectiveness of state-of-the-art optimizing compilers in improving application code. Based on those observations we characterize the differences between positive and negative examples and provide an in-depth explanation for the short-comings of optimizing compilers. Furthermore, we present a semantic-aware compiler architecture rectifying those deficiencies and outline several example use cases demonstrating our architecture's ability to contribute to the efficiency and the capabilities of embedded DSLs.

References

[1]
C++ Standard Committee. 2011. Working Draft, Standard for Programming Language C++. Standard ISO/IEC 14882:2011. ISO.
[2]
Darcy, Joseph D. 2011. JEP 126: Lambda Expressions & Virtual Extension Methods. Technical Report. Oracle. http://openjdk.java.net/jeps/126
[3]
Patrick C Hickey, Lee Pike, Trevor Elliott, James Bielman, and John Launchbury. 2014. Building Embedded Systems with Embedded DSLs. In ACM SIGPLAN Notices, Vol. 49. ACM, 3--9.
[4]
Alexander Hirsch. 2017. Insieme's Haskell-based Analysis Toolkit. Master's thesis. University of Innsbruck, Innsbruck, Austria.
[5]
Klaus Iglberger, Georg Hager, Jan Treibig, and Ulrich Rüde. 2012. High Performance Smart Expression Template Math Libraries. In High Performance Computing and Simulation (HPCS), 2012 International Conference on. IEEE, 367--373.
[6]
Herbert Jordan. 2014. Insieme - A Compiler Infrastructure for Parallel Programs. Ph.D. Dissertation. University of Innsbruck.
[7]
Herbert Jordan, Roman Iakymchuk, Thomas Fahringer, Peter Thoman, Thomas Heller, Xavi Aguilar, Khalid Hasanov, Kiril Dichev, Emanuele Ragnoli, and Leonard Benoit. 2017. D2.6 - AllScale API Specification (b). http://www.allscale.eu/docs/D2.6%20-%20AllScale%20API%20Specification%20(b).pdf prerelease.
[8]
Herbert Jordan, Roman Iakymchuk, Thomas Fahringer, Peter Thoman, Thomas Heller, Aguilar Xavi, Hasanov Khalid, Kiril Dichev, Ragnoli Emanuele, and Leonard Benoit. 2017. D2.3 - AllScale System Architecture. http://www.allscale.eu/docs/D2.3%20-%20AllScale%20System%20Architecture.pdf prerelease.
[9]
Herbert Jordan, Simone Pellegrini, Peter Thoman, Klaus Kofler, and Thomas Fahringer. 2013. INSPIRE: The Insieme Parallel Intermediate Representation. In Proceedings of the 22nd international conference on Parallel architectures and compilation techniques. IEEE Press, 7--18.
[10]
Herbert Jordan, Peter Thoman, Peter Zangerl, Thomas Heller, and Thomas Fahringer. 2016. A Context-aware Primitive for Nested Recursive Parallelism. In Fifth International Workshop on Multicore Software Engineering (IWMSE16). Springer, Berlin, Heidelberg, 1--12.
[11]
Stephen Kozacik. 2017. Unified, Cross-Platform, Open-Source Library Package for High-Performance Computing. Technical Report. EM Photonics, inc.
[12]
C. Lattner and V. Adve. 2004. LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation. In Code Generation and Optimization, 2004. CGO 2004. International Symposium on. IEEE, 75--86.
[13]
Francesco Logozzo and Manuel Fähndrich. 2008. On the Relative Completeness of Bytecode Analysis Versus Source Code Analysis. In International Conference on Compiler Construction. Springer, 197--212.
[14]
J. Merrill. 2003. Generic and Gimple: A new Tree Representation for Entire Functions. In Proceedings of the 2003 GCC Developers' Summit. 171--179.
[15]
G. Necula, S. McPeak, S. Rahul, and W. Weimer. 2002. CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs. In Compiler Construction. Springer, 209--265.
[16]
Peter Thoman, Stefan Moosbrugger, and Thomas Fahringer. 2015. Optimizing Task Parallelism with Library-Semantics-Aware Compilation. In Euro-Par 2015: Parallel Processing, Jesper Larsson Träff, Sascha Hunold, and Francesco Versaci (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 237--249.
[17]
Mads Torgersen. 2007. Querying in C#: How Language Integrated Query (LINQ) Works. In Companion to the 22Nd ACM SIGPLAN Conference on Object-oriented Programming Systems and Applications Companion (OOPSLA '07). ACM, New York, NY, USA, 852--853.
[18]
University of Innsbruck. 2017. Insieme Compiler Project. http://www.insieme-compiler.org
[19]
Arie Van Deursen, Paul Klint, and Joost Visser. 2000. Domain-Specific Languages: An Annotated Bibliography. ACM Sigplan Notices 35, 6 (2000), 26--36.
[20]
Bill Venners. 1998. The Java Virtual Machine. McGraw-Hill, New York.

Cited By

View all
  • (2024)A C Subset for Ergonomic Source-to-Source Analyses and TransformationsProceedings of the 16th Workshop on Rapid Simulation and Performance Evaluation for Design10.1145/3642921.3642922(1-8)Online publication date: 18-Jan-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
SAMOS '18: Proceedings of the 18th International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation
July 2018
263 pages
ISBN:9781450364942
DOI:10.1145/3229631
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 July 2018

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

  • European Union

Conference

SAMOS XVIII
SAMOS XVIII: Architectures, Modeling, and Simulation
July 15 - 19, 2018
Pythagorion, Greece

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)1
Reflects downloads up to 12 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)A C Subset for Ergonomic Source-to-Source Analyses and TransformationsProceedings of the 16th Workshop on Rapid Simulation and Performance Evaluation for Design10.1145/3642921.3642922(1-8)Online publication date: 18-Jan-2024

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media