arXiv:2503.04389 (cs) [2025年3月6日提交]

Title:Pydrofoil: accelerating Sail-based instruction set simulators

作者:Carl Friedrich Bolz-Tereick, Luke Panayi, Ferdia McKeogh, Tom Spink, Martin Berger

查看由 Carl Friedrich Bolz-Tereick、Luke Panayi、Ferdia McKeogh、Tom Spink 和 Martin Berger 撰写的题为 Pydrofoil: accelerating Sail-based instruction set simulators 的论文 PDF 版本 View PDF HTML (experimental)

摘要:我们提出了 Pydrofoil,这是一个多阶段编译器,它从用高级、面向验证的 ISA 规范语言 Sail 表达的处理器指令集架构 (ISA) 生成指令集模拟器 (ISS)。在我们的基准测试中,Pydrofoil 比 Sail 生成的基于 C 的 ISS 实现了超过 230 倍的加速,并且基于以下见解。(i) 一个 ISS 实际上是一个解释器循环,并且即时 (JIT) 追踪编译器已被证明可以有效地加速这些循环,尽管主要针对动态类型语言。(ii) ISS 的工作负载非常特殊,以密集的位操作为主。针对通用编程语言的传统编译器优化对于加速此类工作负载的影响有限。我们开发了合适的领域特定优化。(iii) 即使采用领域特定的优化,单独使用追踪 JIT 编译器或提前 (AOT) 编译也无法生成高性能的 ISS。因此,Pydrofoil 采用了一种混合方法,将 AOT 编译器与基于元追踪 PyPy 框架构建的追踪 JIT 相结合。AOT 和 JIT 都使用领域特定的优化。我们的基准测试表明,与单独使用任一编译器相比,组合 AOT 和 JIT 编译器可以提供显着更高的性能提升。 评论: | 32 页 ---|--- 主题: | 编程语言 (cs.PL) 引用为: | arXiv:2503.04389 [cs.PL] (或 arXiv:2503.04389v1 [cs.PL] 对于此版本) https://doi.org/10.48550/arXiv.2503.04389 通过 DataCite 了解更多由 arXiv 发布的 DOI

提交历史

来自: Martin Berger [查看电子邮件] [v1] 2025年3月6日 12:38:32 UTC (2,986 KB) 全文链接:

访问论文:

查看由 Carl Friedrich Bolz-Tereick、Luke Panayi、Ferdia McKeogh、Tom Spink 和 Martin Berger 撰写的题为 Pydrofoil: accelerating Sail-based instruction set simulators 的论文 PDF 版本