标签
Futhark 博客解释了有符号整数除法中 x/-1 溢出(最小负数无对应正值)导致的极端罕见 bug,以及为修复它在编译器中引入的性能开销与取舍。
Futhark 团队总结了其类型检查器中别名传播(alias propagation)相关开放问题的最终解决方案,重点介绍了利用参数性(parametricity)推断更精确的 freshness 类型,以改善高阶函数与别名交互时的人体工学。
Futhark 团队解释了为什么他们的编译器 GPU 流水线会把所有数组都强制迁入 GPU 内存,这使得顺序的 CPU 侧工作(例如针对稀疏雅可比矩阵的贪心距离-2 图着色)慢了三个数量级;他们还描述了一种变通方案,让部分函数留在 GPU 之外,同时程序的其余部分仍然能够利用 GPU 的并行能力。
Futhark 语言博客讨论了拟议的 `flatmap` SOAC 扩展,用于向程序员暴露不规则数组,从而支持快速排序等递归数据并行算法,同时保持高效的 GPU 编译。
一篇博客文章,宣布在 Futhark 编程语言中加入递归函数,解释了递归在 GPU 后端上的历史性挑战以及所涉及的设计权衡。
Futhark 编译器现在支持嵌套数据并行的完全扁平化,允许任何 Futhark 程序编译为并行 GPU 代码,这是学生和研究人员多年工作后取得的里程碑。
这篇博客文章详细介绍了Futhark类型检查器的演变和最近的重构,从简单的类型检查器到Hindley-Milner推理,以及添加独特类型和大小类型等特性的复杂性。