Futhark 性能剖析器的重大改进

2025-07-31

Futhark 编程语言的新版本显著提升了其性能剖析器的实用性。之前的剖析器只能提供难以理解的编译器生成的代码名称,而新版本通过巧妙地将源代码信息贯穿整个编译过程,实现了将生成的代码与原始源代码关联起来。这解决了长期以来程序员难以定位性能瓶颈的问题。虽然仍需进一步改进数据呈现方式,但这项改进为 Futhark 程序的性能优化提供了强有力的工具。

阅读更多
开发 性能剖析

Futhark编译器后端扩展:并非易事,但并非不可能

2025-03-28

本文探讨了为Futhark编译器添加新后端的复杂性。Futhark编译器采用分阶段处理,前端负责解析和类型检查,中间端进行优化转换,后端将中间表示转换为目标代码。后端实现并非简单的教程式步骤,而是涉及到多种中间表示(IR)方言,以及对编译器内部API的深入理解。作者建议,根据目标语言的抽象级别选择合适的IR方言,并利用现有基础设施简化开发过程,最终的目标是实现一个可通过命令行调用的新后端。

阅读更多
开发 Futhark

AUTOMAP:如何在 Futhark 中实现类似 NumPy 的广播(但更好)

2024-06-18

AUTOMAP 是 Futhark 编程语言中一项即将推出的功能,它允许程序员像在 NumPy 中那样进行广播。与 NumPy 的动态方法不同,AUTOMAP 在编译过程中静态地推断出必要的映射和复制操作,从而实现高效的代码生成。该文章深入探讨了 AUTOMAP 的工作原理,包括其解决多维参数数学代码中秩差异的策略、处理歧义和确保最小插入操作的方法以及使用整数线性规划来确定最佳解决方案。

阅读更多
未分类