发明名称 用户指导的程序半自动并行化方法
摘要 一种用户指导的程序半自动并行化方法,具体步骤如下:(1)分析并行化;(2)创建元计算任务;(3)指定并行参数;(4)确定计算数据;(5)交互指导并行化通过交互向导过程来完成的;(6)测试结果,生成可执行的并行程序代码。本发明与现有技术相比,主要优点在于:不是针对特定领域应用的特征开发并行性,而是基于并行程序的共性,即五种并行范例,形成并行程序的初始框架;其次,采用元任务对实际可并行计算的计算模块进行封装;然后,针对实际的计算结点拓扑结构,自动生成并行程序。与特定领域的半自动并行化方法相比,该方法可以解决更普遍的应用问题,同时采用元任务封装的方法使得程序结构化程度高,便于开发与维护。
申请公布号 CN1316359C 申请公布日期 2007.05.16
申请号 CN200510026587.4 申请日期 2005.06.09
申请人 上海交通大学 发明人 陆鑫达;陈忠国
分类号 G06F9/44(2006.01) 主分类号 G06F9/44(2006.01)
代理机构 上海交达专利事务所 代理人 王锡麟;王桂忠
主权项 1、一种用户指导的程序半自动并行化方法,其特征在于,具体步骤如下:(1)分析并行化;(2)创建元计算任务;(3)指定并行参数;(4)确定计算数据;(5)通过交互向导指导并行化;(6)生成可执行的并行程序代码,测试结果;所述的步骤(1)中的分析并行化,是指:首先要分析应用问题,归纳出问题的特征,其次,抽象出问题框架,即确定应用的解决框架,最后,看这些框架适合于哪种并行范例。所述的步骤(1)中的范例是对经典的并行算法的抽象,能够涵盖高性能计算领域的并行应用,经典并行算法范例包括阶段并行、分而治之、流水线、主-从结构、工作池式;所述的步骤(2)中的元计算任务,就是元任务,是指:与并行通信无关,且其自身内部不能并行执行的计算任务,是构成并行程序的基本元素,元任务之间的数据相关性是数据输入和输出;所述的步骤(3)中的并行参数,是指:在并行化过程中所用到的指导并行化的数据,包括并行策略、并行步骤;所述的步骤(3)中的并行策略,包括并行初始条件和结束条件,以及选定范例的相关属性,元任务在计算结点间的分配;所述的步骤(4)中的计算数据,是指:指定计算所需的数据:其包括:来自文件、数据库或者标准输入的数据源,数据、图片的数据类型,数据输出;所述的步骤(5)中的交互向导,其是一个交互图形界面,通过该界面引导用户完成相关的并行化工作,通过交互向导过程,是指:通过连接构件之间的输入、输出以描述整个系统的数据流图,再将数据流图影射为最终并行代码,具体还包括如下步骤:①初始信息输入,在交互过程中首先将第一步中确定的初始信息输入到系统中;②选择并行范例,根据步骤1中分析抽象出的问题框架,确定合适的并行范例;③确定高性能计算环境中各计算节点之间的拓扑关系;④元任务分配,根据调度策略,确定元任务在集群等高性能计算环境中的各个计算节点上的分配;⑤并行代码的生成,根据上述信息,即元任务所代表的计算模块和并行范例所表示的整个并行程序的框架,将元任务的具体源代码插入到代码框架中,将形式参数实体化,删除框架中无用代码,最终生成并行化的源代码;所述的步骤(6)中的测试结果,当生成的并行代码一次编译未通过,需要修改,通过重复上述过程,最终生成可执行的并行程序代码。
地址 200240上海市闵行区东川路800号