Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Journal articles
  4. Delite: A Compiler Architecture for Performance-Oriented Embedded Domain-Specific Languages
 
research article

Delite: A Compiler Architecture for Performance-Oriented Embedded Domain-Specific Languages

Sujeeth, Arvind K.
•
Brown, Kevin J.
•
Lee, Hyoukjoong
Show more
2014
Acm Transactions On Embedded Computing Systems

Developing high-performance software is a difficult task that requires the use of low-level, architecture-specific programming models (e.g., OpenMP for CMPs, CUDA for GPUs, MPI for clusters). It is typically not possible to write a single application that can run efficiently in different environments, leading to multiple versions and increased complexity. Domain-Specific Languages (DSLs) are a promising avenue to enable programmers to use high-level abstractions and still achieve good performance on a variety of hardware. This is possible because DSLs have higher-level semantics and restrictions than general-purpose languages, so DSL compilers can perform higher-level optimization and translation. However, the cost of developing performance-oriented DSLs is a substantial roadblock to their development and adoption. In this article, we present an overview of the Delite compiler framework and the DSLs that have been developed with it. Delite simplifies the process of DSL development by providing common components, like parallel patterns, optimizations, and code generators, that can be reused in DSL implementations. Delite DSLs are embedded in Scala, a general-purpose programming language, but use metaprogramming to construct an Intermediate Representation (IR) of user programs and compile to multiple languages (including C++, CUDA, and OpenCL). DSL programs are automatically parallelized and different parts of the application can run simultaneously on CPUs and GPUs. We present Delite DSLs for machine learning, data querying, graph analysis, and scientific computing and show that they all achieve performance competitive to or exceeding C++ code.

  • Details
  • Metrics
Type
research article
DOI
10.1145/2584665
Web of Science ID

WOS:000341390100017

Author(s)
Sujeeth, Arvind K.
Brown, Kevin J.
Lee, Hyoukjoong
Rompf, Tiark  
Chafi, Hassan
Odersky, Martin  
Olukotun, Kunle
Date Issued

2014

Publisher

Assoc Computing Machinery

Published in
Acm Transactions On Embedded Computing Systems
Volume

13

Issue

4S

Start page

134

Subjects

Languages

•

Performance

•

Domain-specific languages

•

multistage programming

•

language virtualization

•

code generation

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LAMP1  
Available on Infoscience
October 23, 2014
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/107913
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés