Pith. sign in

REVIEW 3 cited by

RISE & Shine: Language-Oriented Compiler Design

Not yet reviewed by Pith; the record is open.

This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.

SPECIMEN: schema-true, not a live event

T0 review · schema-true

One-sentence machine reading of the paper's core claim.

pith:XXXXXXXX · record.json · timestamp

arxiv 2201.03611 v1 pith:NFTHH7OW submitted 2022-01-10 cs.PL

classification cs.PL
keywords compilerdesignframeworklanguagelanguage-orienteddesignsdirectlyextensible
verification ladder T0 review T1 audit T2 compute T3 formal

Signed reviews

No signed human review yet.

0 comments
read the original abstract

The trend towards specialization of software and hardware - fuelled by the end of Moore's law and the still accelerating interest in domain-specific computing, such as machine learning - forces us to radically rethink our compiler designs. The era of a universal compiler framework built around a single one-size-fits-all intermediate representation (IR) is over. This realization has sparked the creation of the MLIR compiler framework that empowers compiler engineers to design and integrate IRs capturing specific abstractions. MLIR provides a generic framework for SSA-based IRs, but it doesn't help us to decide how we should design IRs that are easy to develop, to work with and to combine into working compilers. To address the challenge of IR design, we advocate for a language-oriented compiler design that understands IRs as formal programming languages and enforces their correct use via an accompanying type system. We argue that programming language techniques directly guide extensible IR designs and provide a formal framework to reason about transforming between multiple IRs. In this paper, we discuss the design of the Shine compiler that compiles the high-level functional pattern-based data-parallel language RISE via a hybrid functional-imperative intermediate language to C, OpenCL, and OpenMP. We compare our work directly with the closely related pattern-based Lift IR and compiler. We demonstrate that our language-oriented compiler design results in a more robust and predictable compiler that is extensible at various abstraction levels. Our experimental evaluation shows that this compiler design is able to generate high-performance GPU code.

Discussion (0). Continue with ORCID to comment.

Forward citations

Cited by 3 Pith papers

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score. Full citation record

  1. Verifying Properties of Index Arrays in a Purely-Functional Data-Parallel Language

    cs.PL 2025-06 conditional novelty 7.0 of 10

    A Futhark compiler pass verifies array properties (range, monotonicity, injectivity, bijectivity, filtering/partitioning) on non-linear index computations, enabling static elimination of dynamic checks.

  2. High-Level Big Integer Arithmetic in Futhark for GPUs

    cs.SC 2026-07 conditional novelty 6.0 of 10

    High-level Futhark code for GPU big-integer arithmetic can approach hand-written CUDA performance once arrays are automatically placed in registers.

  3. Comparing Parallel Functional Array Languages: Programming and Performance

    cs.PL 2025-05 conditional novelty 6.0 of 10

    A five-language benchmark study finds that on 70% of 36 measured baseline instances the best functional array language reaches at least 80% of hand-optimized baseline performance, though only Futhark and DaCe are cons...

Pith tools