一种地震处理多核异构并行模式自适应匹配通用计算模型的制作方法

文档序号:8258136阅读:229来源:国知局
一种地震处理多核异构并行模式自适应匹配通用计算模型的制作方法
【技术领域】
[0001]本发明属于地震资料处理高性能计算领域,具体涉及一种地震处理多核异构并行模式自适应匹配通用计算模型。
【背景技术】
[0002]通用并行计算领域,涌现出越来越多的并行计算模式和并行框架。比如,集群方面的 MP1、MAP/REDUCE,CPU 多核方面的 OpenMP、OpenACC,GPU 多核方面的 CUDA、OpenCL,通用框架的HMPP等。但是这些并行模式对应的程序设计语言开发复杂度高,而且存在不同的特点,需要开发人员具有一定的并行开发经验,并且熟练使用不同类型的编程环境,当系统中的软硬件架构发生变化时,开发人员还需要修改原有程序,而不能自动适应。

【发明内容】

[0003]为了很好地将各种并行模式结合起来,充分发挥它们各自的优缺点,建立一种地震处理多核异构并行模式自适应匹配通用计算模型,实现地震处理多核异构并行模式自适应匹配,对促进地震处理多核异构并行计算的发展具有重要意义。
[0004]本发明首先针对上面提到的各种并行模式进行详细分析,然后在分析的基础上提出了地震处理多核异构并行计算通用框架设计方面的具体思路,建立了一套完整的地震处理多核异构并行计算通用框架,可以实现地震处理多核异构并行模式的自动适应和匹配,能够充分发挥不同并行工具的特点,增加并行模块的开发效率,缩短并行模块的计算时间。
[0005]本发明采用的技术方案是:
地震处理多核异构并行模式自适应匹配通用计算模型,其特征在于:所述计算模型的构建方法包括以下步骤:
(1)通过分析多核异构并行计算目标问题,划分多核异构并行任务;
(2)根据多核异构机器参数,建立多核异构通用参数库;
(3)根据并行任务和通用参数库,建立多核异构并行算法库;
(4)设计解释系统,能够根据不同多核异构软硬件参数,自适应选择多核异构并行算法库中相应的并行算法;
(5)开发人员针对不同的多核异构软硬件接口,实现相应的并行算法编程;
(6)并行程序通过相应的编译器编译成机器语言,运行于相应的多核异构软硬件架构之上。
[0006]进一步:所述通用模型还包括一个用于实现多核异构并行模式自适应匹配功能的框架,所述框架为开发者提供有用于选择的并行语言、并行框架、并行模式的模板。
[0007]进一步,所述多核异构并行任务由若干个集群任务、CPU任务、GPU任务组成。
[0008]进一步,所述多核异构通用参数库包括集群参数、CPU参数、GPU参数;所述集群参数包括集群规模和架构、节点性能参数、存储系统参数、I/O系统性能参数;所述CPU参数包括CPU核心数目、CPU核心处理器性能参数、存储系统参数、I/O系统性能参数;所述GPU参数包括GPU核心参数目、GPU核心处理器性能参数、存储系统参数、I/O系统性能参数。
[0009]进一步,所述多核异构并行算法库还包括记录算法的各种信息的算法字典,算法库管理系统,通过算法库管理系统可以实现对多核异构并行算法库的更新、检索和修改。
[0010]进一步,所述解释系统包括解释器,所述解释器包括用于解释并行算法语言的语言分析模块、用于选取适应当前硬件架构的并行算法的算法匹配模块。
[0011]进一步,在并行程序设计过程中,开发人员针对不同的多核异构软硬件接口,设计相应的并行程序包括集群并行程序、多核CPU并行程序、多核GPU并行程序。
[0012]进一步,所述集群并行程序包括MPI程序、MAP/REDUCE程序的一种或数种;编译系统采用相对应的MPI编译器、MAP/REDUCE编译器;多核CPU并行程序包括OpenACC程序、OpenMP程序中的一种或数种;编译系统采用相对应的OpenACC编译器和OpenMP编译器;多核GPU并行程序包括CUDA程序、OpenCL程序中的一种或数种;编译系统采用相对应的CUDA编译器、OpenCL编译器。
[0013]该方法设计了一种地震处理多核异构并行模式自适应匹配通用计算模型,并将并行计算划分为六步,简化开发人员开发难度,并且通过多核异构通用参数库和并行算法库,提高计算模型的移植性和扩展性。使用该方法,开发人员可以不必关注底层并行程序实现,而专门研究算法,编写并行程序的难度大大降低;程序设计人员可以用向导的方式选择编程语言、编译环境和并行方案,节约其开发时间,提高了编程效率和效果。利用该方法胜利油田物探研究院已经完成了神通系统大部分主体处理模块的并行优化,取得了较好的社会和经济效益。与现存的普通并行架构模型相比,地震处理多核异构并行模式自适应匹配方法优点如下:
(1)可扩展性强:当模型中引入一种新的多核异构并行计算硬件架构时,开发人员只需要将相应的并行机参数配置到通用参数库中,并且将对应的并行程序补充到并行算法库中,不需要对原有运算模块进行修改。通过对多核异构并行算法库和通用参数库的不断扩展,该方法为开发人员提供越来越多的问题解决方案和硬件实施参数;
(2)可移植性好:为应用开发人员提供多核异构通用参数库,保存不同并行机的软硬件参数。开发人员在不同的软硬件上实施通用计算模型时,只需要配置相应的参数到参数库中,无需更改程序模型算法;
(3)易用性好:为开发人员提供简单易用的并行算法设计语言,最大程度简化算法开发人员编码工作量;
(4)代码重用性高:提供并行算法库,将并行函数扩充到并行算法库中。应用开发人员通过调用简单的接口,重用算法库中已有的函数,如矩阵相乘、傅里叶变换等;
(5)计算效率高:在多种运算资源,如集群、多核CPU、多核GPU的协同工作中,最大化的抽取并行任务,针对任务并行计算特征,采用不同硬件上的并行策略。
【附图说明】
[0014]图1是多核异构并行模式自适应匹配方法设计流程。
[0015]图2是实现并行模式自适应匹配方法交互功能框架界面。
[0016]图3是炮域波动方程叠前深度偏移并行算法设计流程。
[0017]图4是炮域波动方程叠前深度偏移并行算法效率比较。
【具体实施方式】
[0018]下面结合附图和实施例对本发明作进一步说明。
[0019]实施例1。一种地震处理多核异构并行模式自适应匹配通用计算模型,其特征在于:所述计算模型的构建方法包括以下步骤:
(1)通过分析多核异构并行计算目标问题,划分多核异构并行任务;
(2)根据多核异构机器参数,建立多核异构通用参数库;
(3)根据并行任务和通用参数库,建立多核异构并行算法库;
(4)设计解释系统,能够根据不同多核异构软硬件参数,自适应选择多核异构并行算法库中相应的并行算法;
(5)开发人员针对不同的多核异构软硬件接口,实现相应的并行算法编程;
(6)并行程序通过相应的编译器编译成机器语言,运行于相应的多核异构软硬件架构之上。
[0020]所述通用模型还包括一个用于实现并行模式自适应匹配功能的框架,所述框架为开发者提供有用于选择的并行语言、并行框架、并行模式的模板;
所述多核异构并行任务由若干个集群任务、CPU任务、GPU任务组成;
所述多核异构通用参数库包括集群参数、CPU参数、GPU参数;所述集群参数包括集群规模和架构、节点性能参数、存储系统参数、I/o系统性能参数;所述CPU参数包括CPU核心数目、CPU核心处理器性能参数、存储系统参数、I/O系统性能参数;所述G
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1