Skip to main content
CenXiv.org
此网站处于试运行阶段,支持我们!
我们衷心感谢所有贡献者的支持。
贡献
赞助
cenxiv logo > cs > arXiv:2506.23058

帮助 | 高级搜索

计算机科学 > 编程语言

arXiv:2506.23058 (cs)
[提交于 2025年6月29日 ]

标题: 在纯函数式数据并行语言中验证索引数组的性质

标题: Verifying Properties of Index Arrays in a Purely-Functional Data-Parallel Language

Authors:Nikolaj Hey Hinnerskov, Robert Schenck, Cosmin E. Oancea
摘要: 本文提出了一种新颖的方法,用于自动验证具有非线性索引的纯数据并行程序的性质——这些性质以函数的前后条件形式表达。 程序由二阶数组组合器(例如,map、scan 和 scatter)和循环的嵌套组成。 关键思想是将数组表示为索引函数:程序是在这些索引函数上的变换,性质在这些变换上进行传播和推断。 我们的框架通过将索引函数提炼为代数(不)等式,并将其传递给基于 Fourier-Motzkin 的求解器来证明索引函数上的性质。 该框架具有实用性和可访问性:性质不限于可判定逻辑,而是精心选择以表达可以自动推理和推断的实际有用保证。 这些保证不仅限于程序正确性,还可以在整个编译器流水线中用于优化。 我们在纯数据并行语言 Futhark 中实现了我们的系统,并在七个应用上展示了其实用性,报告了平均验证时间为 1 秒。 两个案例研究展示了在 GPU 程序中消除动态验证如何带来显著的加速。
摘要: This paper presents a novel approach to automatically verify properties of pure data-parallel programs with non-linear indexing -- expressed as pre- and post-conditions on functions. Programs consist of nests of second-order array combinators (e.g., map, scan, and scatter) and loops. The key idea is to represent arrays as index functions: programs are index function transformations over which properties are propagated and inferred. Our framework proves properties on index functions by distilling them into algebraic (in)equalities and discharging them to a Fourier-Motzkin-based solver. The framework is practical and accessible: properties are not restricted to a decidable logic, but instead are carefully selected to express practically useful guarantees that can be automatically reasoned about and inferred. These guarantees extend beyond program correctness and can be exploited by the entire compiler pipeline for optimization. We implement our system in the pure data-parallel language Futhark and demonstrate its practicality on seven applications, reporting an average verification time of 1 second. Two case studies show how eliminating dynamic verification in GPU programs results in significant speedups.
主题: 编程语言 (cs.PL) ; 分布式、并行与集群计算 (cs.DC)
引用方式: arXiv:2506.23058 [cs.PL]
  (或者 arXiv:2506.23058v1 [cs.PL] 对于此版本)
  https://doi.org/10.48550/arXiv.2506.23058
通过 DataCite 发表的 arXiv DOI(待注册)

提交历史

来自: Cosmin Oancea [查看电子邮件]
[v1] 星期日, 2025 年 6 月 29 日 02:10:25 UTC (89 KB)
全文链接:

获取论文:

    查看标题为《》的 PDF
  • 查看中文 PDF
  • 查看 PDF
  • TeX 源代码
  • 其他格式
许可图标 查看许可
当前浏览上下文:
cs.PL
< 上一篇   |   下一篇 >
新的 | 最近的 | 2025-06
切换浏览方式为:
cs
cs.DC

参考文献与引用

  • NASA ADS
  • 谷歌学术搜索
  • 语义学者
a 导出 BibTeX 引用 加载中...

BibTeX 格式的引用

×
数据由提供:

收藏

BibSonomy logo Reddit logo

文献和引用工具

文献资源探索 (什么是资源探索?)
连接的论文 (什么是连接的论文?)
Litmaps (什么是 Litmaps?)
scite 智能引用 (什么是智能引用?)

与本文相关的代码,数据和媒体

alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)

演示

复制 (什么是复制?)
Hugging Face Spaces (什么是 Spaces?)
TXYZ.AI (什么是 TXYZ.AI?)

推荐器和搜索工具

影响之花 (什么是影响之花?)
核心推荐器 (什么是核心?)
IArxiv 推荐器 (什么是 IArxiv?)
  • 作者
  • 地点
  • 机构
  • 主题

arXivLabs:与社区合作伙伴的实验项目

arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。

与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。

有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.

这篇论文的哪些作者是支持者? | 禁用 MathJax (什么是 MathJax?)
  • 关于
  • 帮助
  • contact arXivClick here to contact arXiv 联系
  • 订阅 arXiv 邮件列表点击这里订阅 订阅
  • 版权
  • 隐私政策
  • 网络无障碍帮助
  • arXiv 运营状态
    通过...获取状态通知 email 或者 slack

京ICP备2025123034号