Delite

Author:

Sujeeth Arvind K.1,Brown Kevin J.1,Lee Hyoukjoong1,Rompf Tiark2,Chafi Hassan3,Odersky Martin4,Olukotun Kunle1

Affiliation:

1. Stanford University, CA

2. Oracle Labs and EPFL

3. Oracle Labs and Stanford University, CA

4. EPFL

Abstract

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.

Funder

Language and Algorithms for Heterogeneous Graph Streams

Oracle

Advanced Micro Devices

Intel Corporation

Division of Computing and Communication Foundations

Huawei Technologies

Defense Advanced Research Projects Agency

Stanford University

National Science Foundation

European Research Council

Nvidia

Publisher

Association for Computing Machinery (ACM)

Subject

Hardware and Architecture,Software

Reference43 articles.

1. Apache. 2014. Hadoop. http://hadoop.apache.org/. Apache. 2014. Hadoop. http://hadoop.apache.org/.

2. Lime

3. Stratego/XT 0.17. A language and toolset for program transformation

4. A Heterogeneous Parallel Framework for Domain-Specific Languages

Cited by 126 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. eCC++ : A Compiler Construction Framework for Embedded Domain-Specific Languages;2024 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW);2024-05-27

2. Auto-Generating Diverse Heterogeneous Designs;2024 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW);2024-05-27

3. Vectorized Intrinsics Can Be Replaced with Pure Java Code without Impairing Steady-State Performance;Proceedings of the 15th ACM/SPEC International Conference on Performance Engineering;2024-05-07

4. Rhyme: A Data-Centric Multi-paradigm Query Language Based on Functional Logic Metaprogramming;Lecture Notes in Computer Science;2024

5. Towards Systematic and Precise Compilation of Domain-Specific Modelling Languages;Advances in Intelligent Systems and Computing;2024

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3