Codon: A Compiler for High-Performance Pythonic Applications and DSLs

14Citations
Citations of this article
27Readers
Mendeley users who have this article in their library.

Abstract

Domain-specific languages (DSLs) are able to provide intuitive high-level abstractions that are easy to work with while attaining better performance than general-purpose languages. Yet, implementing new DSLs is a burdensome task. As a result, new DSLs are usually embedded in general-purpose languages. While low-level languages like C or C++ often provide better performance as a host than high-level languages like Python, high-level languages are becoming more prevalent in many domains due to their ease and flexibility. Here, we present Codon, a domain-extensible compiler and DSL framework for high-performance DSLs with Python's syntax and semantics. Codon builds on previous work on ahead-of-time type checking and compilation of Python programs and leverages a novel intermediate representation to easily incorporate domain-specific optimizations and analyses. We showcase and evaluate several compiler extensions and DSLs for Codon targeting various domains, including bioinformatics, secure multi-party computation, block-based data compression and parallel programming, showing that Codon DSLs can provide benefits of familiar high-level languages and achieve performance typically only seen with low-level languages, thus bridging the gap between performance and usability.

References Powered by Scopus

Array programming with NumPy

13872Citations
N/AReaders
Get full text

LLVM: A compilation framework for lifelong program analysis & transformation

4208Citations
N/AReaders
Get full text

Scalable parallel programming with CUDA

1623Citations
N/AReaders
Get full text

Cited by Powered by Scopus

A shared compilation stack for distributed-memory parallelism in stencil DSLs

4Citations
N/AReaders
Get full text

Understanding and Designing Recursive Functions via Syntactic Rewriting

2Citations
N/AReaders
Get full text

JACC: Leveraging HPC Meta-Programming and Performance Portability with the Just-in-Time and LLVM-based Julia Language

1Citations
N/AReaders
Get full text

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Cite

CITATION STYLE

APA

Shajii, A., Ramirez, G., Smajlović, H., Ray, J., Berger, B., Amarasinghe, S., & Numanagić, I. (2023). Codon: A Compiler for High-Performance Pythonic Applications and DSLs. In CC 2023 - Proceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction (pp. 191–202). Association for Computing Machinery, Inc. https://doi.org/10.1145/3578360.3580275

Readers' Seniority

Tooltip

PhD / Post grad / Masters / Doc 6

67%

Researcher 3

33%

Readers' Discipline

Tooltip

Computer Science 7

54%

Engineering 4

31%

Design 1

8%

Chemistry 1

8%

Article Metrics

Tooltip
Mentions
Blog Mentions: 1
News Mentions: 8
Social Media
Shares, Likes & Comments: 1

Save time finding and organizing research with Mendeley

Sign up for free