Significant Improvements to Futhark's Profiler

2025-07-31

A recent release of the Futhark programming language significantly improves the usability of its profiler. Previously, the profiler only offered cryptic compiler-generated names, making it difficult to pinpoint performance bottlenecks. The new version cleverly propagates source code information throughout the compilation process, enabling the correlation of generated code with the original source. This solves a long-standing problem for programmers trying to optimize their code. While further improvements to data presentation are planned, this enhancement provides a powerful tool for optimizing Futhark programs.

Read more
Development

Extending Futhark's Backend: Not Easy, But Not Impossible

2025-03-28

This post delves into the complexities of adding a new backend to the Futhark compiler. Futhark uses a staged compilation process: the frontend parses and type-checks, the middle-end optimizes and transforms, and the backend translates the intermediate representation (IR) to target code. Backend implementation isn't a simple tutorial; it involves multiple IR dialects and a deep understanding of internal APIs. The author suggests choosing the appropriate IR dialect based on the target language's level of abstraction and leveraging existing infrastructure to simplify development. The ultimate goal is a new backend invokable via the command line.

Read more
Development backend development