July 1st, 2024

A Survey of General-Purpose Polyhedral Compilers

A survey of polyhedral compilers available in 2024 compares schedulers and implementations based on robustness and performance using PolyBench/C benchmarks. Key tools like Candl, Tiramisu, Polly, and PolyMage are referenced.

Read original articleLink Icon
A Survey of General-Purpose Polyhedral Compilers

This paper presents a survey of general-purpose polyhedral compilers available as of 2024. Since the 1990s, various implementations of polyhedral compilers have been developed and distributed, either as standalone compilers or integrated into broader compilers. The paper lists and describes commonly available polyhedral schedulers and compiler implementations. It compares these compilers based on two main criteria: robustness and performance, using the PolyBench/C set of benchmarks. The survey references several key works in the field, including tools like Candl, Tiramisu, Polly, and PolyMage, among others. The comparison aims to provide insights into the landscape of polyhedral compilers, offering a valuable resource for researchers and developers interested in this area of compiler technology.

Related

Optimizing the Roc parser/compiler with data-oriented design

Optimizing the Roc parser/compiler with data-oriented design

The blog post explores optimizing a parser/compiler with data-oriented design (DoD), comparing Array of Structs and Struct of Arrays for improved performance through memory efficiency and cache utilization. Restructuring data in the Roc compiler showcases enhanced efficiency and performance gains.

Deriving Dependently-Typed OOP from First Principles

Deriving Dependently-Typed OOP from First Principles

The paper delves into the expression problem in programming, comparing extensibility in functional and object-oriented paradigms. It introduces dependently-typed object-oriented programming, emphasizing duality and showcasing transformations. Additional appendices are included for OOPSLA 2024.

Cosmopolitan v3.5

Cosmopolitan v3.5

Cosmopolitan Libc transforms C into a universal language by modifying GCC and Clang to create a POSIX-compliant polyglot format. Users can compile programs using the `cosmocc` compiler and access debugging techniques. The project provides platform notes, a Discord chatroom, and funding acknowledgments.

ICFP Contest 2024

ICFP Contest 2024

The ICFP Programming Contest 2024 is an open online competition sponsored by ACM SIGPLAN. It allows participants to form teams of any size, using any programming language or platform. The event runs from June 28 to July 1, 2024.

Announcing Polars 1.0 (Blog Post)

Announcing Polars 1.0 (Blog Post)

Polars releases Python version 1.0 after 4 years, gaining popularity with 27.5K GitHub stars and 7M monthly downloads. Plans include improving performance, GPU acceleration, Polars Cloud, and new features.

Link Icon 3 comments
By @lupire - 5 months
Polyhedral compiling is apparently something to do with optimizing execution ordering in high-dimensional loops and other data structure traversals, to improve parallelization (parallelipipedization?)

https://en.m.wikipedia.org/wiki/Polytope_model

http://polyhedral.info/

By @rurban - 5 months
The pdf crashes my Android 12, but good to hear that gcc-graphite is still doing good, and there exist exciting new projects for the new LLVM MLIR target.
By @sjkoelle - 5 months