AnyDSL: a partial evaluation framework for programming high-performance libraries

Author:

Leißa Roland1,Boesche Klaas1,Hack Sebastian1,Pérard-Gayot Arsène2,Membarth Richard2,Slusallek Philipp2,Müller André3,Schmidt Bertil3

Affiliation:

1. Saarland University, Germany

2. Saarland University, Germany / DFKI, Germany

3. Johannes Gutenberg University Mainz, Germany

Abstract

This paper advocates programming high-performance code using partial evaluation. We present a clean-slate programming system with a simple, annotation-based, online partial evaluator that operates on a CPS-style intermediate representation. Our system exposes code generation for accelerators (vectorization/parallelization for CPUs and GPUs) via compiler-known higher-order functions that can be subjected to partial evaluation. This way, generic implementations can be instantiated with target-specific code at compile time. In our experimental evaluation we present three extensive case studies from image processing, ray tracing, and genome sequence alignment. We demonstrate that using partial evaluation, we obtain high-performance implementations for CPUs and GPUs from one language and one code base in a generic way. The performance of our codes is mostly within 10%, often closer to the performance of multi man-year, industry-grade, manually-optimized expert codes that are considered to be among the top contenders in their fields.

Funder

Bundesministerium für Bildung und Forschung

Intel Visual Computing Institute, Universität des Saarlandes

Cluster of Excellence on Multimodal Computing and Interaction, Saarland University

Publisher

Association for Computing Machinery (ACM)

Subject

Safety, Risk, Reliability and Quality,Software

Reference96 articles.

1. Understanding the efficiency of ray traversal on GPUs

2. Nada Amin and Tiark Rompf. 2018. Collapsing towers of interpreters. PACMPL 2 POPL (2018) 52:1–52:33. 10.1145/3158140 Nada Amin and Tiark Rompf. 2018. Collapsing towers of interpreters. PACMPL 2 POPL (2018) 52:1–52:33. 10.1145/3158140

3. L.O Andersen. 1994. Program Analysis and Specialization for the C Programming Language. Ph.D. Dissertation. Københavns Universitet. Datalogisk Institut. L.O Andersen. 1994. Program Analysis and Specialization for the C Programming Language. Ph.D. Dissertation. Københavns Universitet. Datalogisk Institut.

4. Binding-time analysis and the taming of C pointers

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

1. Automated Buffer Sizing of Dataflow Applications in a High-level Synthesis Workflow;ACM Transactions on Reconfigurable Technology and Systems;2024-01-27

2. Performance Analysis of Compiler Support for Parallel Evaluation of C++ Constant Expressions;Lecture Notes in Business Information Processing;2024

3. CUDA-accelerated protein electrostatics in linear space;Journal of Computational Science;2023-06

4. AnyQ: An Evaluation Framework for Massively-Parallel Queue Algorithms;2023 IEEE International Parallel and Distributed Processing Symposium (IPDPS);2023-05

5. MOD2IR: High-Performance Code Generation for a Biophysically Detailed Neuronal Simulation DSL;Proceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction;2023-02-17

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

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

www.globalauthorid.com

TOP

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