计算机工程

• 体系结构与软件技术 • 上一篇    下一篇

基于GPU的LLVM程序分析信息并行提取

马冬冬,衷璐洁,朱敬茹   

  1. (首都师范大学 信息工程学院,北京 100048)
  • 收稿日期:2016-09-18 出版日期:2017-10-15 发布日期:2017-10-15
  • 作者简介:马冬冬(1990—),女,硕士研究生,主研方向为程序分析、软件缺陷检测;衷璐洁(通信作者),副教授、博士;朱敬茹,硕士研究生。
  • 基金项目:
    国家自然科学基金(61402303);北京市教委科技计划面上项目(KM201510028016)。

Parallel Extraction of Program Analysis Information on LLVM Based on GPU

MA Dongdong,ZHONG Lujie,ZHU Jingru   

  1. (College of Information Engineering,Capital Normal University,Beijing 100048,China)
  • Received:2016-09-18 Online:2017-10-15 Published:2017-10-15

摘要: LLVM中间表示(IR)中包含大量的程序分析原始信息,传统基于CPU的程序分析信息提取方法大多采用串行的循环迭代方式处理较大规模程序,可扩展性较差。为此,结合图像处理器(GPU)的通用计算优势,提出一种基于统一计算设备架构的LLVM平台程序分析信息并行提取方法,在CPU上实现程序特征分析及IR预处理、存储结构设计及提取信息的可视化,在GPU上完成并行线程调度的程序分析信息匹配及提取工作。实验结果表明,该方法可提高LLVM平台程序分析信息的提取效率,与串行提取方法相比,最高可获得4倍的加速比。

关键词: 底层虚拟机, 中间表示, 程序分析, 信息提取, 图形处理器, 可扩展性

Abstract: Low Level Virtual Machine(LLVM) Intermediate Representation(IR) contains a lot of original program analysis information.The traditional information extraction method is based on the serial loop iterations under CPU.When dealing with large-scale programs in this way,scalability suffers.Therefore,considering the general computing advantages of GPU,this paper proposes a parallel extraction method of program analysis information on LLVM platform based on Compute Unified Device Architecture(CUDA).The method realizes the program feature analysis,IR preprocessing,storage structure design and information visualization on the CPU,as well as the information matching and extraction of the parallel thread scheduling on the GPU.The experimental results show the method can improve the extraction efficiency of LLVM platform program analysis information and accelerate 4 times compared with serial extracting method.

Key words: Low Level Virtual Machine(LLVM), Intermediate Representation(IR), program analysis, information extraction, Graphics Processing Unit(GPU), scalability

中图分类号: