源码并行化检测与提示工具项目

Overview

对数据中心常用的众多应用而言,并行化是性能提升的主要手段,现在最常用的并行框架是openMP和MPI。但是很多应用在编写时并未考虑到使用并行框架,存在着很大的性能提升空间。本项目意在设计一个开发工具,通过分析用户的源码,提取出潜在并行区,并分析并行的可行性,向用户提供并行优化的建议,提高应用的性能表现。

具体项目目标如下:

(1) 检查用户的C/C++/Fortran 应用源码中的并行区源码,识别关键数据及数据依赖关系:

  • 用户源码中已经使用openMP线程并行的,使用MPI原语进行多节点并行扩展,并通过适当的通信原语保证应用的正确性;
  • 用户源码中已经使用MPI原语进行多节点并行扩展的,发现MPI并行区中可并行部分,并通过openMP导语进行多线程扩展。

(2) 构建鲲鹏架构线程、进程并行模型,评估对源程序进行线程并行改造收益、进行进程并行改造收益,并根据评估结论向用户提供源码修改建议,包括但不限于:

  • 使用openMP导语修改应用,并提供关键依赖数据的修改建议;
  • 使用MPI原语修改应用,并提供MPI关键数据分片、通信原语修改建议。
Han Zhao 赵涵
Han Zhao 赵涵
Assistant Professor