跳到主要内容
研究论文

特征CFA:使用GPU加速流分析

出版:2011年1月26日出版历史
跳过抽象节

摘要

我们描述、实现并基准测试了EigenCFA,这是一种用GPU加速高阶控制流分析(特别是0CFA)的算法。最终,我们的程序转换、简化和优化比优化的CPU实现实现了72倍的加速。

我们从GPU加速高算术、数据并行计算的观点出发,对分支的容忍度很低。鉴于这一观点的局限性,我们将Shivers的抽象解释0CFA简化为一种由线性代数运算合成的算法。这种简化的核心是“抽象”Church编码,以及将语法树和抽象域编码为向量和矩阵。

特征CFA的直接(密集矩阵)实现比快速CPU实现执行得慢。最终,稀疏矩阵数据结构和运算被证明是关键的促进剂。由于控制流图在实际中是稀疏的(高达96%为空),因此我们的控制流矩阵也是稀疏的,这使得稀疏矩阵操作具有巨大的空间和速度优势。

我们还通过谨慎地允许数据竞赛来实现加速。0CFA的单调性使得可以并行执行分析操作,可能使用陈旧甚至部分更新的数据。

跳过补充材料部分

补充材料

47毫米-4.mp4

英里4

209.1 MB

参考文献

  1. NVIDIA CUDA编程指南2.3,2009年8月。谷歌学者谷歌学者
  2. F.E.Allen和J.Cocke。一种程序数据流分析程序。Commun公司。美国医学会,19(3):1371976年。ISSN 0001-0782。谷歌学者谷歌学者数字图书馆数字图书馆
  3. S.Balay、K.Buschelman、V.Eijkhout、W.Gropp、D.Kaushik、M.Knepley、L.C.McInnes、B.Smith和H.Zhang。稀疏矩阵。在PETSc用户手册第3章第55-66页。3.0.0版,2008年12月。谷歌学者谷歌学者
  4. F.Banterle和R.Giacobazzi。八边形抽象域在图形硬件上的快速实现。H.R.Nielson和G.Filé,编辑,phStatic Analysis,计算机科学讲义第4634卷,第20章,第315-332页。施普林格-柏林-海德堡,柏林,海德堡。国际标准图书编号978-3-540-74060-5。谷歌学者谷歌学者数字图书馆数字图书馆
  5. N.Bell和M.Garland。在面向吞吐量的处理器上实现稀疏矩阵-向量乘法。SC'09:《高性能计算网络、存储和分析会议记录》,第1-11页,美国纽约州纽约市,2009年。ACM公司。国际标准图书编号9781-605-5874-4-8。谷歌学者谷歌学者数字图书馆数字图书馆
  6. S.Chaudhuri。递归状态机的次三次算法。第35届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,POPL'08,第159-169页,美国纽约州纽约市,2008年。ACM公司。是9781-595-9368-9-9。谷歌学者谷歌学者数字图书馆数字图书馆
  7. P.库索和R.库索。抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。第四届ACM程序设计语言原理研讨会会议记录,第238-252页,美国纽约州纽约市,1977年。ACM出版社。谷歌学者谷歌学者数字图书馆数字图书馆
  8. P.库索和R.库索。程序分析框架的系统设计。《POPL’79:第六届ACM SIGACT-SIGPLAN编程语言原理研讨会论文集》,第269-282页,美国纽约州纽约市,1979年。ACM公司。谷歌学者谷歌学者数字图书馆数字图书馆
  9. R.Gupta、L.Pollock和M.L.Soffa。并行化数据流分析。1990谷歌学者谷歌学者
  10. M.S.赫奇特。phFlow计算机程序分析。Elsevier Science Inc.,美国纽约州纽约市,1977年。国际标准图书编号0-444-00216-2。谷歌学者谷歌学者数字图书馆数字图书馆
  11. N.D.琼斯。Lambda表达式的流分析(初步版本)。第八届自动化、语言和编程学术讨论会论文集,第114-128页,英国伦敦,1981年。斯普林格·弗拉格。国际标准图书编号(ISBN)3-540-10843-2。谷歌学者谷歌学者数字图书馆数字图书馆
  12. G.A.基达尔。全局程序优化的统一方法。《POPL’73:第一届年度ACM SIGACT-SIGPLAN编程语言原理研讨会会议记录》,第194-206页,美国纽约州纽约市,1973年。ACM公司。谷歌学者谷歌学者数字图书馆数字图书馆
  13. R.Kramer、R.Gupta和M.L.Soffa。组合DAG:一种并行数据流分析技术。IEEE并行和分布式系统汇刊,5(8):805-8131994年8月。编号1045-9219。谷歌学者谷歌学者数字图书馆数字图书馆
  14. Y.F.Lee、T.J.Marlowe和B.G.Ryder。并行执行数据流分析。《90年超级计算:1990年ACM/IEEE超级计算会议记录》,第942-951页,美国加利福尼亚州洛斯阿拉米托斯,1990年。IEEE计算机学会出版社。国际标准书号0-89791-412-0。谷歌学者谷歌学者数字图书馆数字图书馆
  15. Y.F.Lee、B.G.Ryder和M.E.Fiuczynski。区域分析:数据流分析的并行消除方法。IEEE传输。柔和。工程,21(11):913--9261995。ISSN 0098-5589。谷歌学者谷歌学者数字图书馆数字图书馆
  16. N.P.Lopes和A.Rybalchenko。分布式和可预测的软件模型检查。程序中。2011年1月,第十二届验证、模型检验和抽象解释国际会议(VMCAI)。谷歌学者谷歌学者数字图书馆数字图书馆
  17. T·J·马洛和B·G·莱德。一种高效的增量数据流分析混合算法。1990年,美国纽约州纽约市,第17届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,第184-196页。ACM公司。国际标准图书编号0-89791-343--4。谷歌学者谷歌学者数字图书馆数字图书馆
  18. M.Méndez-Lojo、A.Mathew和K.Pingali。基于并行包含的分析点。《面向对象编程系统语言和应用ACM国际会议论文集》,OOPSLA’10,第428-443页,美国纽约州纽约市,2010年。ACM公司。国际标准图书编号9781-450-3020-3-6。谷歌学者谷歌学者数字图书馆数字图书馆
  19. J.Midtgaard和D.Van Horn。亚立方体控制流分析算法。高阶和符号计算,显示。谷歌学者谷歌学者
  20. M.Might和O.Shivers。通过(Γ)CFA改进流分析:抽象垃圾收集和计数。《ICFP’06:第十一届ACM SIGPLAN函数编程国际会议论文集》,第13-25页,美国纽约州纽约市,2006年。ACM公司。国际标准书号1-59593-309-3。谷歌学者谷歌学者数字图书馆数字图书馆
  21. M.Might、Y.Smaragdakis和D.V.Horn。解决和利用k-CFA悖论:阐明功能性与面向对象的程序分析。《PLDI’10:2010年ACM SIGPLAN编程语言设计与实现会议记录》,第305-315页,美国纽约州纽约市,2010年。ACM公司。国际标准图书编号9781-450-3001-9-3。谷歌学者谷歌学者数字图书馆数字图书馆
  22. J.Palsberg。约束形式的闭包分析。ACM编程语言和系统汇刊,17(1):47-621995年1月。ISSN 0164-0925。谷歌学者谷歌学者数字图书馆数字图书馆
  23. B.G.Ryder和M.C.Paull。数据流分析的消除算法。ACM计算。调查。,18 (3): 277--316, 1986. ISSN 0360-0300。谷歌学者谷歌学者数字图书馆数字图书馆
  24. O.Shivers。方案中的控制流分析。《1988年ACM SIGPLAN编程语言设计与实现会议论文集》,第23卷,第164-174页,美国纽约州纽约市,1988年7月。ACM公司。国际标准图书编号0-89791-269-1。谷歌学者谷歌学者数字图书馆数字图书馆
  25. O.G.Shivers。高阶语言的控制流分析。卡内基·梅隆大学博士论文,1991年。谷歌学者谷歌学者数字图书馆数字图书馆
  26. D.Van Horn和H.G.Mairson。控制流分析中的关联复杂性和精确度。在ICFP’07:第12届ACM SIGPLAN函数编程国际会议记录,第85-96页,美国纽约州纽约市,2007年。ACM公司。国际标准图书编号9781-59593-815-2。谷歌学者谷歌学者数字图书馆数字图书馆
  27. D.Van Horn和H.G.Mairson。EXPTIME的k-CFA决定已经完成。在ICFP'08:第13届ACM SIGPLAN函数式编程国际会议的会议记录,第275-282页,美国纽约州纽约市,2008年。ACM公司。国际标准图书编号978-1-59593-919-7。谷歌学者谷歌学者数字图书馆数字图书馆
  28. A.佐贝尔。数据流方程的并行区间分析。第二卷。宾夕法尼亚州立大学出版社,1990年8月。谷歌学者谷歌学者

索引术语

  1. 特征CFA:使用GPU加速流分析

    建议

    评论

    登录选项

    检查您是否可以通过登录凭据或您的机构访问本文。

    登录

    完全访问权限

    • 发布于

      封面图片ACM SIGPLAN注意事项
      ACM SIGPLAN通知 第46卷第1期
      流行'11
      2011年1月
      624页
      国际标准编号:0362-1340
      EISSN公司:1558-1160
      内政部:10.1145/1925844
      期刊目录
      • 封面图片ACM会议
        POPL'11:ACM SIGPLAN-SIGACT第38届编程语言原理研讨会会议记录
        2011年1月
        652页
        国际标准图书编号:9781450304900
        内政部:10.1145/1926385

      版权所有©2011 ACM

      如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

      出版商

      计算机协会

      美国纽约州纽约市

      出版历史

      • 出版:2011年1月26日

      检查更新

      限定符

      • 研究论文

    PDF格式

    以PDF文件查看或下载。

    PDF格式

    电子阅读器

    使用eReader联机查看。

    电子阅读器