答辩公告
我的位置在: 首页 > 答辩公告 > 正文
申园园博士生答辩公告
浏览次数:日期:2023-05-16编辑:

学位论文简介

随着多核处理器的不断发展并行编程逐渐变得流行并被越来越多的设计人员用于提高应用程序的执行效率OpenMP编程模型是用于多核处理器上最广泛的技术在实现OpenMP并行化的过程中,研究人员首先面对的问题是发现可并行的目标其次是将可并行目标转换成OpenMP并行程序最后是检测并行程序是否存在数据竞争自动OpenMP并行化工具可以帮助研究人员实现程序的并行转换数据竞争检测工具可以实现并行程序的数据竞争检测然而这些工具基于显性规则构建在程序分析范围时间和内存开销上表现出了较大的局限性。本文提出基于机器学习的新型方法,从源代码级别出发发现程序内在的并行性特征以解决复杂的程序并行化问题,取得了以下主要创新性研究成果:

 

针对传统方法中程序分析范围狭窄和时间开销高的问题,提出了一种基于图神经网络的并行性识别方法。该方法建立了基于代码嵌入和图分类技术的并行性识别框架。基于重构程序等步骤开发了一个数据集生成器,同时,考虑到程序的并行性识别与数据依赖和控制依赖息息相关构建了一个结合控制流图和数据流图的上下文流程图数据集

 

为了获得更多的并行性识别性能增益,提出了一种基于多图学习的并行性识别方法。考虑到单一的图结构缺乏对程序语义和语法的完整理解,提出以互补的方式表示代码的多图策略考虑到深度卷积图神经网络模型只接受一个图作为输入,提出多图学习框架,从而有目标地学习不同的图表示。同时,对多个图表示进行决策融合。

 

针对并行程序转换时变量属性难识别的问题,提出了一种基于注意力机制的变量分类方法。考虑到变量和数据共享属性的对应关系,通过提取源串行程序的词法信息和并行程序的OpenMP制导语句指令构建了一个用于学习的对齐语料库。通过结合注意力机制,设计了一个选择性关注特定上下文和关系的变量分类模型框架。

 

针对OpenMP并行程序中数据竞争难以检测的问题问题,提出了一种基于对比学习的数据竞争检测方法。考虑到包含不同OpenMP特征的并行程序之间具有结构相似度高的特点,通过结合标签信息为每一个程序构建了正负样本。利用对比学习方法的特性,即最小化正样本之间的距离和最大化负样本之间的距离,达到检测数据竞争的目的。

 

主要学术成果

Yuanyuan Shen, Manman Peng, Shiling Wang, et al. Towards parallelism detection of sequential programs with graph neural network. Future Generation Computer Systems, 2021, 125: 515-525. (SCI二区)

Yuanyuan Shen, Manman Peng, Qiang Wu, et al. Multigraph learning for parallelism discovery in sequential programs. Concurrency and Computation: Practice and Experience, 2023, 35(9): e7648. (CCF-C类期刊)

Yuanyuan Shen, Manman Peng, Qiang Wu, et al. A machine learning method to variable classification in OpenMP. Future Generation Computer Systems, 2023, 140: 67-78. (SCI二区)