面向串行程序代码量大的领域的半自动并行化方法技术

技术编号:2844257 阅读:250 留言:0更新日期:2012-04-11 18:40
一种面向串行程序代码量大的领域的半自动并行化方法,具体步骤如下:(1)创建标准CFD串行程序;(2)分析并行化;(3)创建元计算任务;(4)导入串行程序;(5)导入并行模版;(6)交互指导并行化。本发明专利技术针对CFD领域的并行模版,基本覆盖该领域所有串行程序所对应的并行程序,便于串行程序开发人员直接使用;其次,采用元任务对实际可并行计算的计算模块进行封装;然后,不需要用户对并行知识有太多了解。由于是对CFD领域特殊处理,本发明专利技术比大多数全自动方法所得最终并行程序效果好,效率高。同时,由于模版的帮助,又克服了大多数显示并行的缺点,不需要用户太多的专业并行知识,或者编写大量的令人头痛的并行代码,且本发明专利技术的模版是开放性的。

【技术实现步骤摘要】

本专利技术涉及的是一种计算机
的方法,具体而言,是一种。
技术介绍
计算机技术和通信技术的快速发展,出现了集群技术,集群是由一组通过高速网络互联的计算结点,这些计算结点协同工作以提供单一系统映像的计算资源。与硬件技术迅速发展相比,并行编程技术的发展却是停止不前。首先,并行编程比串行编程复杂度高;其次,并行编程较之于串行编程缺乏软件支持;最后,并行编程的发展时间短,目前还没有足够的技术积累。尽管如此,并行编程技术也有许多发展,其中在并行编程模型领域逐步形成两个研究方向程序自动并行化模型、程序显式并行化模型。自动并行化方法即是对顺序程序实行自动并行化,由编译器对顺序程序的源代码进行相关性分析,然后使用一组程序变换技术将串行代码转换成并行代码。并行化串行代码的关键之一是相关性分析,由它识别代码中的数据相关和控制相关。自动并行化方法目前尚未达到通用与高效的程度,使用这种方法获得的并行程序效率通常比较低,并且有相当比例的程序尚无法进行并行化处理。理论研究表明不论在编译期间还是在运行期间,都不存在能开发串行程序中所有潜在并行性的自动化技术。显式并行化方法是由程序员使用特定的语言结构、编本文档来自技高网...

【技术保护点】
一种面向串行程序代码量大的领域的半自动并行化方法,其特征在于,具体步骤如下:(1)创建标准CFD串行程序;(2)分析并行化;(3)创建元计算任务;(4)导入串行程序;(5)导入并行模版;(6) 交互指导并行化。

【技术特征摘要】
1.一种面向串行程序代码量大的领域的半自动并行化方法,其特征在于,具体步骤如下(1)创建标准CFD串行程序;(2)分析并行化;(3)创建元计算任务;(4)导入串行程序;(5)导入并行模版;(6)交互指导并行化。2.根据权利要求1所述的面向串行程序代码量大的领域的半自动并行化方法,其特征是,所述的步骤(1)中的创建标准CFD串行程序,是指是指用户必须在串行程序流程上严格按照五种并行模版所对应的串行程序框架编写串行程序。3.根据权利要求2所述的面向串行程序代码量大的领域的半自动并行化方法,其特征是,所述的步骤(1)中的模版,是指对CFD领域的并行程序进行总结归纳出的,对应五种范例的并行程序架构。4.根据权利要求3所述的面向串行程序代码量大的领域的半自动并行化方法,其特征是,所述的步骤(1)中的范例,是指对经典的并行算法的抽象,能够涵盖高性能计算领域的并行应用,经典并行算法范例包括阶段并行、分而治之、流水线、主-从结构、工作池式。5.根据权利要求1所述的面向串行程序代码量大的领域的半自动并行化方法,其特征是,所述的步骤(2)中的分析并行化,是指首先要分析串行程序,以及其所包含的各个计算任务,归纳出串行程序流程,以及各个计算任务的主要特征,串行程序的标准流程是由该程序所针对问题的领域决定的;其次,针对各个计算任务,抽象出计算框架;最后,用户挑选最耗时的计算任务所对应的框架,看这个框架适合于哪种并行范例,由用户指导将该串行程序...

【专利技术属性】
技术研发人员:翁楚良邵一峰李明禄陆鑫达
申请(专利权)人:上海交通大学
类型:发明
国别省市:31[中国|上海]

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

1