一种面向CPU/GPU异构集群的数据流编程方法和系统技术方案

技术编号:16528793 阅读:34 留言:0更新日期:2017-11-09 20:30
本发明专利技术公开了一种面向CPU/GPU异构集群的数据流编程方法,其中方法的实现包括:利用数据流程序得到SDF图,对SDF图进行层次性二级任务划分与调度,对每个任务单元设置阶段号,得到任务单元的执行顺序;利用SDF图中任务单元到异构集群节点的CPU核或GPU的映射和异构集群多任务数据通信模型,得到任务单元之间的数据通信,根据任务单元的执行顺序和任务单元之间的数据通信得到数据流程序的目标代码。本发明专利技术对数据流程序并行化同时对数据通信进行了优化,提高了程序的整体执行性能。

【技术实现步骤摘要】
一种面向CPU/GPU异构集群的数据流编程方法和系统
本专利技术属于计算机编译
,更具体地,涉及一种面向CPU/GPU异构集群的数据流编程方法和系统。
技术介绍
传统CPU多核处理器和CPU集群有时无法满足某些应用程序对大规模和超大规模计算的需求,图形处理器(GraphicProcessingUnit,GPU)在诸如CPU/GPU异构架构服务器上的高性能浮点计算、并行计算等方面有巨大的优势,因此逐渐得到广泛应用。一种多CPU与多GPU相结合的异构计算机逐渐成为研究对象,在该架构下,传统核CPU与计算核GPU可以同时工作,任务以多粒度并行方式执行。因此,CPU/GPU异构集群系统成为了一个解决超大规模计算问题值得深入探索的高效编程平台。数据流编程语言(DataFlowProgrammingLanguage,DFPL)以其能够面向领域编程(DomainSpecificProgramming)的特征近年来得到广泛应用,与该语言对应的数据流编程模型(DataFlowStreamProgrammingModel)因其具有将计算与通信分离的特性,被研究人员发现并提出。在当前需要高性能计算的本文档来自技高网...
一种面向CPU/GPU异构集群的数据流编程方法和系统

【技术保护点】
一种面向CPU/GPU异构集群的数据流编程方法,其特征在于,包括以下步骤:(1)利用数据流程序得到SDF图,对SDF图进行层次性二级任务划分与调度,得到SDF图中任务单元到异构集群节点的CPU核或GPU的映射;(2)根据SDF图中任务单元到异构集群节点的CPU核或GPU的映射,对每个任务单元设置阶段号,得到任务单元的执行顺序;(3)将异构集群节点之间以生产者/消费者模式为基础,与MPI接口保持一致,将每个异构集群节点以分布式存储和共享存储相结合的方式,构造CPU和GPU共享存储空间,得到异构集群多任务数据通信模型;(4)利用SDF图中任务单元到异构集群节点的CPU核或GPU的映射和异构集群多任...

【技术特征摘要】
1.一种面向CPU/GPU异构集群的数据流编程方法,其特征在于,包括以下步骤:(1)利用数据流程序得到SDF图,对SDF图进行层次性二级任务划分与调度,得到SDF图中任务单元到异构集群节点的CPU核或GPU的映射;(2)根据SDF图中任务单元到异构集群节点的CPU核或GPU的映射,对每个任务单元设置阶段号,得到任务单元的执行顺序;(3)将异构集群节点之间以生产者/消费者模式为基础,与MPI接口保持一致,将每个异构集群节点以分布式存储和共享存储相结合的方式,构造CPU和GPU共享存储空间,得到异构集群多任务数据通信模型;(4)利用SDF图中任务单元到异构集群节点的CPU核或GPU的映射和异构集群多任务数据通信模型,得到任务单元之间的数据通信,根据任务单元的执行顺序和任务单元之间的数据通信得到数据流程序的目标代码。2.根据权利要求1所述的一种面向CPU/GPU异构集群的数据流编程方法,其特征在于,所述步骤(1)的具体实现方式:对数据流程序进行词法分析和语法分析后得到的SDF图,对SDF图进行进程级任务划分,得到SDF子图,SDF子图反映SDF图中任务单元到异构集群节点的映射,对SDF子图进行线程级任务划分,得到SDF图中任务单元到异构集群节点的CPU核或GPU的映射。3.根据权利要求2所述的一种面向CPU/GPU异构集群的数据流编程方法,其特征在于,所述进程级任务划分的具体实现方式为:将SDF图的每个任务单元预处理为一个独立的粗化group;根据相邻group粗化收益,进行粗粒度划分直到划分粗化图个数等于异构集群节点个数;利用细粒度边界调整粗化图,生成的无环子图为SDF子图。4.根据权利要求2所述的一种面向CPU/GPU异构集群的数据流编程方法,其特征在于,所述线程级任务划分的具体实现方式为:对SDF子图进行任务单元融合和边界调整,得到SDF子图划分后的凸子图,进而得到凸子图到异构集群节点的CPU核或GPU的映射,利用凸子图与任务单元的映射关系,得到SDF图中任务单元到异构集群节点的CPU核或GPU的映射。5.根据权利要求2所述的一种面向CPU/GPU异构集群的数据流编程方法,其特征在于,所述设置阶段号的具体实现方式为:遍历异构集群节点根据进程级任务划分获取的SDF子图;对SDF子图的任务单元集合进行拓扑排序,选择对应的阶段赋值函数设置每个任务单元的阶段号。6.一种面向CPU/GPU异构集群的...

【专利技术属性】
技术研发人员:于俊清杨瑞瑞唐九飞
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1