×

使用分布式模板算法的应用程序对循环依赖性进行自动化的形式验证。 (英语) Zbl 1468.68130号

摘要:模具程序的类涉及根据固定模式(称为模具)重复更新数组元素。模板问题在科学计算中普遍存在,并被用作解决更复杂问题的一个要素。它们的高规则性允许大规模并行化。设计此类算法的两个重要挑战是缓存效率和最小化节点之间的通信步骤数。在本文中,我们介绍了一个用于顺序和分布式模板算法形式验证的关键方面的数学框架,并描述了其Coq实现。我们提出了一种特定于域的嵌入式编程语言,支持自动化最繁琐的证明步骤,证明嵌套循环尊重依赖关系,适用于顺序和分布式示例。最后,我们通过证明一些真实世界模板算法的依赖性正确性来评估我们的库的健壮性,这些算法包括最先进的缓存可发布序列算法以及两个优化的分布式内核。

MSC公司:

60年第68季度 规范和验证(程序逻辑、模型检查等)
68伏15 定理证明(自动和交互式定理证明、演绎、解析等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] Betts,A.,Chong,N.,Donaldson,A.,Qadeer,S.,Thomson,P.:GPU验证:GPU内核的验证程序。摘自:《ACM面向对象编程系统语言和应用国际会议论文集》,第113-132页。ACM(2012年)
[2] Boldo,S.、Clément,F.、Filliátre,J.C.、Mayero,M.、Melquiond,G.、Weis,P.:波动方程解析方案的形式证明:方法误差。在:交互式定理证明,第147-162页。施普林格(2010)·Zbl 1291.68329号
[3] Boldo,S.、Clément,F.、Filliátre,J.C.、Mayero,M.、Melquiond,G.、Weis,P.:波动方程数值分辨率:C程序的综合机械化证明。J.汽车。原因。50(4), 423-456 (2013) ·Zbl 1267.68208号 ·doi:10.1007/s10817-012-9255-4
[4] Cachera,D.,Pichardie,D.:仿射递推方程组在Coq中的嵌入。摘自:TPHOL,第155-170页。斯普林格(2003)·Zbl 1279.68286号
[5] Epperson,J.F.:数值方法与分析导论。霍博肯·威利(2014)·Zbl 1143.65001号
[6] Feautrier,P。;佩林,G-R(编辑);Darte,A.(编辑),《多面体模型中的自动并行化》,79-103(1996),柏林·doi:10.1007/3-540-61736-1_44
[7] Frigo,M.,Strumpen,V.:缓存不经意的模板计算。摘自:《第19届超级计算国际年会论文集》,第361-366页。ACM(2005)
[8] Frigo,M.,Strumpen,V.:多线程缓存遗忘算法的缓存复杂性。理论计算。系统。45(2), 203-233 (2009) ·Zbl 1183.68721号 ·doi:10.1007/s00224-007-9098-2
[9] 加德纳,M.:数学游戏——约翰·康威的新纸牌游戏“生活”的奇妙组合。科学。Am.223(4),120-123(1970)·doi:10.1038/科学美国人1070-120
[10] Grégoire,T.,Chlipala,A.:大多数情况下,通过分布式模板算法应用程序,对循环依赖性进行自动化形式验证。在:交互式定理证明国际会议,第167-183页。斯普林格(2016)·Zbl 1468.68129号
[11] 艾姆勒,F。;Hölzl,J。;Beringer,L.(编辑);Felty,A.(编辑),Isabelle/HOL中常微分方程的数值分析,377-392(2012),柏林·Zbl 1360.68753号 ·doi:10.1007/978-3642-32347-8_26
[12] Kelly,W.,Pugh,W.:迭代重新排序转换的统一框架。摘自:IEEE第一届并行处理算法和架构国际会议论文集,第1卷,第153-162页(1995)
[13] LeVeque,R.J.:《常微分方程和偏微分方程的有限差分方法:稳态和时间相关问题》,第98卷。SIAM,费城(2007)·Zbl 1127.65080号 ·doi:10.137/1.9780898177839
[14] Li,G.,Gopalakrishnan,G.:基于可扩展SMT的GPU内核功能验证。摘自:第十八届ACM SIGSOFT国际软件工程基础研讨会论文集,第187-196页。ACM(2010)
[15] Li,G.,Li,P.,Sawaya,G,Gopalakrishnan,G,Ghosh,I.,Rajan,S.P.:GKLEE:GPU的混合验证和测试生成。收录于:PPOPP,第215-224页(2012年)
[16] Loechner,V.:PolyLib:用于操作参数化多面体的库。http://camlunity.ru/swap/Library/Conflux/Techniques网站
[17] Maydan,D.、Hennessy,J.、Lam,M.:高效准确的数据相关性分析。收录:ACM SIGPLAN’91编程语言设计与实现会议记录(1991)
[18] Orchard,D.,Mycroft,A.:通过模式匹配和静态类型进行有效且正确的模板计算。arXiv预印本:arXiv:1109.0777(2011)
[19] Pugh,W.:Omega测试:用于相关性分析的快速实用整数规划算法。参见:1991年ACM/IEEE超级计算会议记录,第4-13页。ACM(1991)
[20] Solar Lezama,A.、Arnold,G.、Tancau,L.、Bodik,R.、Saraswat,V.、Seshia,S.:绘制模板。摘自:第28届ACM SIGPLAN编程语言设计与实现会议记录,第167-178页。ACM(2007)
[21] Tang,Y.,Chowdhury,R.A.,Kuszmaul,B.C.,Luk,C.K.,Leiserson,C.E.:Pochoir模具编译器。摘自:《第二十三届ACM算法和架构并行性研讨会论文集》,第117-128页。ACM(2011年)
[22] Valiant,L.G.:并行计算的桥接模型。Commun公司。ACM 33(8),103-111(1990)·doi:10.1145/79173.79181
[23] Xu,Z.,Kamil,S.,Solar-Lezama,A.:MSL:一种支持分布式实现的合成语言。摘自:《高性能计算、网络、存储和分析国际会议论文集》,第311-322页。IEEE出版社(2014)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。