Tag
Futhark 博客解释了有符号整数除法中 x/-1 溢出(最小负数无对应正值)导致的极端罕见 bug,以及为修复它在编译器中引入的性能开销与取舍。
Futhark 团队总结了其类型检查器中别名传播(alias propagation)相关开放问题的最终解决方案,重点介绍了利用参数性(parametricity)推断更精确的 freshness 类型,以改善高阶函数与别名交互时的人体工学。
The Futhark team explains why their compiler's GPU pipelines force all arrays into GPU memory, making sequential CPU-side work (like greedy distance-2 graph colouring for sparse Jacobians) three orders of magnitude slower, and describes a hack that allows keeping some functions off the GPU while still exploiting GPU parallelism for the rest of the program.
The article examines the complexities of aliasing in type systems for programming languages, using Futhark's in-place updates as an example, and warns about the design challenges it can introduce.
The Futhark language blog discusses a proposed `flatmap` SOAC extension to expose irregular arrays to programmers, enabling recursive data-parallel algorithms like quicksort while preserving efficient GPU compilation.
A blog post announcing the addition of recursive functions to the Futhark programming language, explaining the historical challenges of recursion on GPU backends and the design trade-offs involved.
The Futhark compiler now supports full flattening of nested data parallelism, allowing any Futhark program to be compiled to parallel GPU code, a milestone achieved after years of work by students and researchers.
This blog post details the evolution and recent refactoring of Futhark's type checker, from a simple type checker to Hindley-Milner inference and the complexities of adding features like uniqueness types and size types.
A hands-on introduction to the Futhark programming language through a collection of commented example programs, covering basic features and programming techniques for parallel computing.