CN104572256A - 一种地震处理多核异构并行模式自适应匹配通用计算模型 - Google Patents
一种地震处理多核异构并行模式自适应匹配通用计算模型 Download PDFInfo
- Publication number
- CN104572256A CN104572256A CN201310518611.0A CN201310518611A CN104572256A CN 104572256 A CN104572256 A CN 104572256A CN 201310518611 A CN201310518611 A CN 201310518611A CN 104572256 A CN104572256 A CN 104572256A
- Authority
- CN
- China
- Prior art keywords
- multinuclear
- parallel
- parameter
- isomerism
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种地震处理多核异构并行模式自适应匹配通用计算模型。该模型通过分析多核异构并行计算目标问题,设计了相应的多核异构并行算法;并行算法再通过解释系统解释成为基于不同软硬件架构的并行函数,并且参照当前系统软硬件通用参数库,提高系统处理效率;开发人员针对不同的多核异构软硬件接口,实现相应的并行程序编程;并行程序通过相应的编译器编译成机器语言,运行于相应的多核异构软硬件架构之上。本发明提供的计算模型,简化开发人员开发难度,并且通过多核异构通用参数库和算法库的扩展与更新,提高计算模型的移植性和扩展性。
Description
技术领域
本发明属于地震资料处理高性能计算领域,具体涉及一种地震处理多核异构并行模式自适应匹配通用计算模型。
背景技术
通用并行计算领域,涌现出越来越多的并行计算模式和并行框架。 比如,集群方面的MPI、MAP/REDUCE,CPU多核方面的OpenMP、OpenACC,GPU多核方面的CUDA、OpenCL,通用框架的HMPP等。但是这些并行模式对应的程序设计语言开发复杂度高,而且存在不同的特点,需要开发人员具有一定的并行开发经验,并且熟练使用不同类型的编程环境,当系统中的软硬件架构发生变化时,开发人员还需要修改原有程序,而不能自动适应。
发明内容
为了很好地将各种并行模式结合起来,充分发挥它们各自的优缺点,建立一种地震处理多核异构并行模式自适应匹配通用计算模型,实现地震处理多核异构并行模式自适应匹配,对促进地震处理多核异构并行计算的发展具有重要意义。
本发明首先针对上面提到的各种并行模式进行详细分析,然后在分析的基础上提出了地震处理多核异构并行计算通用框架设计方面的具体思路,建立了一套完整的地震处理多核异构并行计算通用框架,可以实现地震处理多核异构并行模式的自动适应和匹配,能够充分发挥不同并行工具的特点,增加并行模块的开发效率,缩短并行模块的计算时间。
本发明采用的技术方案是:
地震处理多核异构并行模式自适应匹配通用计算模型,其特征在于:所述计算模型的构建方法包括以下步骤:
(1)通过分析多核异构并行计算目标问题,划分多核异构并行任务;
(2)根据多核异构机器参数, 建立多核异构通用参数库;
(3)根据并行任务和通用参数库,建立多核异构并行算法库;
(4)设计解释系统,能够根据不同多核异构软硬件参数,自适应选择多核异构并行算法库中相应的并行算法;
(5)开发人员针对不同的多核异构软硬件接口,实现相应的并行算法编程;
(6)并行程序通过相应的编译器编译成机器语言,运行于相应的多核异构软硬件架构之上。
进一步:所述通用模型还包括一个用于实现多核异构并行模式自适应匹配功能的框架,所述框架为开发者提供有用于选择的并行语言、并行框架、并行模式的模板。
进一步,所述多核异构并行任务由若干个集群任务、CPU任务、GPU任务组成。
进一步,所述多核异构通用参数库包括集群参数、CPU参数、GPU参数;所述集群参数包括集群规模和架构、节点性能参数、存储系统参数、I/O系统性能参数;所述CPU参数包括CPU核心数目、CPU核心处理器性能参数、存储系统参数、I/O系统性能参数;所述GPU参数包括GPU核心参数目、GPU核心处理器性能参数、存储系统参数、I/O系统性能参数。
进一步,所述多核异构并行算法库还包括记录算法的各种信息的算法字典,算法库管理系统,通过算法库管理系统可以实现对多核异构并行算法库的更新、检索和修改。
进一步,所述解释系统包括解释器,所述解释器包括用于解释并行算法语言的语言分析模块、用于选取适应当前硬件架构的并行算法的算法匹配模块。
进一步,在并行程序设计过程中,开发人员针对不同的多核异构软硬件接口,设计相应的并行程序包括集群并行程序、多核CPU并行程序、多核GPU并行程序。
进一步,所述集群并行程序包括MPI程序、MAP/REDUCE程序的一种或数种;编译系统采用相对应的MPI编译器、MAP/REDUCE编译器;多核CPU并行程序包括OpenACC程序、OpenMP程序中的一种或数种;编译系统采用相对应的OpenACC编译器和OpenMP编译器;多核GPU并行程序包括CUDA程序、OpenCL程序中的一种或数种;编译系统采用相对应的CUDA编译器、OpenCL编译器。
该方法设计了一种地震处理多核异构并行模式自适应匹配通用计算模型,并将并行计算划分为六步,简化开发人员开发难度,并且通过多核异构通用参数库和并行算法库,提高计算模型的移植性和扩展性。使用该方法,开发人员可以不必关注底层并行程序实现,而专门研究算法,编写并行程序的难度大大降低;程序设计人员可以用向导的方式选择编程语言、编译环境和并行方案,节约其开发时间,提高了编程效率和效果。利用该方法胜利油田物探研究院已经完成了神通系统大部分主体处理模块的并行优化,取得了较好的社会和经济效益。与现存的普通并行架构模型相比,地震处理多核异构并行模式自适应匹配方法优点如下:
(1)可扩展性强:当模型中引入一种新的多核异构并行计算硬件架构时,开发人员只需要将相应的并行机参数配置到通用参数库中,并且将对应的并行程序补充到并行算法库中,不需要对原有运算模块进行修改。通过对多核异构并行算法库和通用参数库的不断扩展,该方法为开发人员提供越来越多的问题解决方案和硬件实施参数;
(2)可移植性好:为应用开发人员提供多核异构通用参数库,保存不同并行机的软硬件参数。开发人员在不同的软硬件上实施通用计算模型时,只需要配置相应的参数到参数库中,无需更改程序模型算法;
(3)易用性好:为开发人员提供简单易用的并行算法设计语言,最大程度简化算法开发人员编码工作量;
(4)代码重用性高:提供并行算法库,将并行函数扩充到并行算法库中。应用开发人员通过调用简单的接口,重用算法库中已有的函数,如矩阵相乘、傅里叶变换等;
(5)计算效率高:在多种运算资源,如集群、多核CPU、多核GPU的协同工作中,最大化的抽取并行任务,针对任务并行计算特征,采用不同硬件上的并行策略。
附图说明
图1是多核异构并行模式自适应匹配方法设计流程。
图2是实现并行模式自适应匹配方法交互功能框架界面。
图3是炮域波动方程叠前深度偏移并行算法设计流程。
图4是炮域波动方程叠前深度偏移并行算法效率比较。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
实施例1。一种地震处理多核异构并行模式自适应匹配通用计算模型,其特征在于:所述计算模型的构建方法包括以下步骤:
(1)通过分析多核异构并行计算目标问题,划分多核异构并行任务;
(2)根据多核异构机器参数, 建立多核异构通用参数库;
(3)根据并行任务和通用参数库,建立多核异构并行算法库;
(4)设计解释系统,能够根据不同多核异构软硬件参数,自适应选择多核异构并行算法库中相应的并行算法;
(5) 开发人员针对不同的多核异构软硬件接口,实现相应的并行算法编程;
(6)并行程序通过相应的编译器编译成机器语言,运行于相应的多核异构软硬件架构之上。
所述通用模型还包括一个用于实现并行模式自适应匹配功能的框架,所述框架为开发者提供有用于选择的并行语言、并行框架、并行模式的模板;
所述多核异构并行任务由若干个集群任务、CPU任务、GPU任务组成;
所述多核异构通用参数库包括集群参数、CPU参数、GPU参数;所述集群参数包括集群规模和架构、节点性能参数、存储系统参数、I/O系统性能参数;所述CPU参数包括CPU核心数目、CPU核心处理器性能参数、存储系统参数、I/O系统性能参数;所述GPU参数包括GPU核心参数目、GPU核心处理器性能参数、存储系统参数、I/O系统性能参数;
所述并行算法库还包括记录算法的各种信息的算法字典,算法库管理系统,通过算法库管理系统可以实现对多核异构并行算法库的更新、检索和修改;
所述解释系统包括解释器,所述解释器包括用于解释并行算法语言的语言分析模块、用于选取适应当前硬件架构的并行算法的算法匹配模块;
在并行程序设计过程中,开发人员针对不同的软硬件接口,设计相应的并行程序包括集群并行程序、多核CPU并行程序、多核GPU并行程序;
所述集群并行程序包括MPI程序、MAP/REDUCE程序;编译系统采用相对应的MPI编译器、MAP/REDUCE编译器;多核CPU并行程序包括OpenACC程序、OpenMP程序;编译系统采用相对应的OpenACC编译器和OpenMP编译器;多核GPU并行程序包括CUDA程序、OpenCL程序;编译系统采用相对应的CUDA编译器、OpenCL编译器。
所述软硬件架构包括集群、多核CPU、多核GPU,所述集群、多核CPU、多核GPU可通过接口进行扩展。本发明适合地震处理多核异构并行计算的通用模型的自适应匹配方法实现流程如图1所示。该方法实现的具体功能如图2所示,可支持多语言、多编译器、多种并行框架和多种并行模式的自适应匹配功能。
实施例2。
炮域波动方程叠前深度偏移在油气勘探开发中的地震数据处理过程中具有重大的应用价值,尤其对于复杂构造地区的油气勘探开发的构造成像以及其后续的岩性处理、属性处理和地质解释都具有十分重要的实际意义。下面以波动方程叠前深度偏移为例介绍该本发明适合地震处理多核异构并行计算的通用模型的使用效果。假设当前计算系统中,含有集群、CPU多核、GPU多核计算资源。集群上配置MPI运算环境,CPU多核配置OpenMP运算环境,GPU多核配置CUDA运行环境。分析波动方程叠前深度偏移成像串行处理流程,利用地震处理多核异构并行模式自适应匹配方法,将问题的并行计算流程划分(如图3所示)如下:
(1)数据预处理阶段
数据预处理工作的特点是面向大数据进行统一操作,并且结果需要作为原始数据输入到集群上,因此采用集群并行运算。由于校正运算中存在许多大规模数据的一致性操作,因此在集群结点上以GPU多核运算进行辅助运算。
(2)偏移成像阶段
网格划分:包括剖面网格化,速度模型网格化。网格化是偏移成像计算的预处理操作,数据量大,适合集群运算。
偏移成像:将炮道集数据划分到集群上,在单个节点上,以CPU多核为主要逻辑控制单元,GPU多核辅助CPU多核运算。GPU主要负责处理逻辑运算量较少的大规模数据处理,比如傅里叶变换、积分运算等。共炮道集的单炮道集数据外推运算任务划分为:
①CPU控制GPU计算震源波场的正向外推和炮道集波场的反向外推;
② 外推结束后,节点中多核CPU将记录波场和震源波场进行相关;
③集群中指定一个主节点,将单节点偏移成像结果与先前计算得出的炮道集得到的偏移成像波场叠加,最后得到最终结果。
本发明所使用方法经在胜利油田多块区实验,相比传统方法,并行效率提高20倍以上(如图4),开发进度提高了1倍以上,而且计算精度高,为该算法在实际生产中的大面积推广应用作出了重要贡献。
Claims (8)
1.地震处理多核异构并行模式自适应匹配通用计算模型,其特征在于:所述计算模型的构建方法包括以下步骤:
(1)通过分析多核异构并行计算目标问题,划分多核异构并行任务;
(2)根据多核异构机器参数, 建立多核异构通用参数库;
(3)根据并行任务和通用参数库,建立多核异构并行算法库;
(4)设计解释系统,能够根据不同多核异构软硬件参数,自适应选择多核异构并行算法库中相应的并行算法;
(5)开发人员针对不同的多核异构软硬件接口,实现相应的并行算法编程;
(6)并行程序通过相应的编译器编译成机器语言,运行于相应的多核异构软硬件架构之上。
2. 如权利要求1所述的地震处理多核异构并行模式自适应匹配通用计算模型,其特征在于:所述通用模型还包括一个用于实现多核异构并行模式自适应匹配功能的框架,所述框架为开发者提供有用于选择的并行语言、并行框架、并行模式的模板。
3. 如权利要求1到2任意一权利要求所述的地震处理多核异构并行模式自适应匹配通用计算模型,其特征在于:所述多核异构并行任务由若干个集群任务、CPU任务、GPU任务组成。
4. 如权利要求1到2任意一权利要求所述的地震处理多核异构并行模式自适应匹配通用计算模型,其特征在于:所述多核异构通用参数库包括集群参数、CPU参数、GPU参数;所述集群参数包括集群规模和架构、节点性能参数、存储系统参数、I/O系统性能参数;所述CPU参数包括CPU核心数目、CPU核心处理器性能参数、存储系统参数、I/O系统性能参数;所述GPU参数包括GPU核心参数目、GPU核心处理器性能参数、存储系统参数、I/O系统性能参数。
5. 如权利要求1到2任意一权利要求所述的地震处理多核异构并行模式自适应匹配通用计算模型,其特征在于:所述多核异构并行算法库还包括记录算法的各种信息的算法字典,算法库管理系统,通过算法库管理系统可以实现对多核异构并行算法库的更新、检索和修改。
6. 如权利要求1到2任意一权利要求所述的地震处理多核异构并行模式自适应匹配通用计算模型,其特征在于:所述解释系统包括解释器,所述解释器包括用于解释并行算法语言的语言分析模块、用于选取适应当前硬件架构的并行算法的算法匹配模块。
7. 如权利要求1到2任意一权利要求所述的地震处理多核异构并行模式自适应匹配通用计算模型,其特征在于:在并行程序设计过程中,开发人员针对不同的多核异构软硬件接口,设计相应的并行程序包括集群并行程序、多核CPU并行程序、多核GPU并行程序。
8.如权利要求7所述的地震处理多核异构并行模式自适应匹配通用计算模型,其特征在于:所述集群并行程序包括MPI程序、MAP/REDUCE程序的一种或数种;编译系统采用相对应的MPI编译器、MAP/REDUCE编译器;多核CPU并行程序包括OpenACC程序、OpenMP程序中的一种或数种;编译系统采用相对应的OpenACC编译器和OpenMP编译器;多核GPU并行程序包括CUDA程序、OpenCL程序中的一种或数种;编译系统采用相对应的CUDA编译器、OpenCL编译器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310518611.0A CN104572256A (zh) | 2013-10-29 | 2013-10-29 | 一种地震处理多核异构并行模式自适应匹配通用计算模型 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310518611.0A CN104572256A (zh) | 2013-10-29 | 2013-10-29 | 一种地震处理多核异构并行模式自适应匹配通用计算模型 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104572256A true CN104572256A (zh) | 2015-04-29 |
Family
ID=53088408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310518611.0A Pending CN104572256A (zh) | 2013-10-29 | 2013-10-29 | 一种地震处理多核异构并行模式自适应匹配通用计算模型 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572256A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108462715A (zh) * | 2018-04-24 | 2018-08-28 | 王颖 | 基于mpi的wm串匹配并行算法的网络信息过滤系统 |
CN108874727A (zh) * | 2018-05-29 | 2018-11-23 | 中国人民解放军国防科技大学 | 一种面向gpdsp的多核并行计算实现方法 |
CN109829130A (zh) * | 2019-01-29 | 2019-05-31 | 武汉轻工大学 | 二重积分计算方法、装置、终端设备及可读存储介质 |
CN110858149A (zh) * | 2018-08-22 | 2020-03-03 | 中国石油化工股份有限公司 | 并行正演数值模拟自优化方法及系统 |
CN112180788A (zh) * | 2020-09-28 | 2021-01-05 | 西安微电子技术研究所 | 动态关联脉络的控制平台架构设计方法、存储介质及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799762A (zh) * | 2010-04-07 | 2010-08-11 | 中国科学院对地观测与数字地球科学中心 | 面向遥感图像处理算法的快速并行化编程模板方法 |
CN102253919A (zh) * | 2011-05-25 | 2011-11-23 | 中国石油集团川庆钻探工程有限公司 | 基于gpu和cpu协同运算的并行数值模拟方法和系统 |
CN102902511A (zh) * | 2011-12-23 | 2013-01-30 | 同济大学 | 并行信息处理系统 |
CN103049245A (zh) * | 2012-10-25 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种基于cpu多核平台的软件性能优化方法 |
-
2013
- 2013-10-29 CN CN201310518611.0A patent/CN104572256A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799762A (zh) * | 2010-04-07 | 2010-08-11 | 中国科学院对地观测与数字地球科学中心 | 面向遥感图像处理算法的快速并行化编程模板方法 |
CN102253919A (zh) * | 2011-05-25 | 2011-11-23 | 中国石油集团川庆钻探工程有限公司 | 基于gpu和cpu协同运算的并行数值模拟方法和系统 |
CN102902511A (zh) * | 2011-12-23 | 2013-01-30 | 同济大学 | 并行信息处理系统 |
CN103049245A (zh) * | 2012-10-25 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种基于cpu多核平台的软件性能优化方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108462715A (zh) * | 2018-04-24 | 2018-08-28 | 王颖 | 基于mpi的wm串匹配并行算法的网络信息过滤系统 |
CN108462715B (zh) * | 2018-04-24 | 2021-03-12 | 王颖 | 基于mpi的wm串匹配并行算法的网络信息过滤方法 |
CN108874727A (zh) * | 2018-05-29 | 2018-11-23 | 中国人民解放军国防科技大学 | 一种面向gpdsp的多核并行计算实现方法 |
CN108874727B (zh) * | 2018-05-29 | 2019-09-10 | 中国人民解放军国防科技大学 | 一种面向gpdsp的多核并行计算实现方法 |
CN110858149A (zh) * | 2018-08-22 | 2020-03-03 | 中国石油化工股份有限公司 | 并行正演数值模拟自优化方法及系统 |
CN109829130A (zh) * | 2019-01-29 | 2019-05-31 | 武汉轻工大学 | 二重积分计算方法、装置、终端设备及可读存储介质 |
CN112180788A (zh) * | 2020-09-28 | 2021-01-05 | 西安微电子技术研究所 | 动态关联脉络的控制平台架构设计方法、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | {TVM}: An automated {End-to-End} optimizing compiler for deep learning | |
Balaprakash et al. | Autotuning in high-performance computing applications | |
Boehm et al. | SystemDS: A declarative machine learning system for the end-to-end data science lifecycle | |
Kamil et al. | An auto-tuning framework for parallel multicore stencil computations | |
Callahan et al. | The cascade high productivity language | |
Liu et al. | Speculative segmented sum for sparse matrix-vector multiplication on heterogeneous processors | |
CN105474047B (zh) | 用于有限差分建模的统一应用框架 | |
Viñas et al. | Exploiting heterogeneous parallelism with the Heterogeneous Programming Library | |
CN110383247A (zh) | 由计算机执行的方法、计算机可读介质与异构计算系统 | |
CN104035781A (zh) | 一种快速开发异构并行程序的方法 | |
CN104572256A (zh) | 一种地震处理多核异构并行模式自适应匹配通用计算模型 | |
Nguyen et al. | Bamboo--Translating MPI applications to a latency-tolerant, data-driven form | |
CA2813879A1 (en) | Tile communication operator | |
WO2021000971A1 (zh) | 操作数据的生成方法、装置及相关产品 | |
Nabi et al. | FPGA design space exploration for scientific HPC applications using a fast and accurate cost model based on roofline analysis | |
Wahib et al. | Daino: a high-level framework for parallel and efficient AMR on GPUs | |
US7983890B2 (en) | Method and apparatus performing automatic mapping for a multi-processor system | |
Wang et al. | A framework for distributed data-parallel execution in the Kepler scientific workflow system | |
Viglas | Just-in-time compilation for SQL query processing | |
Li et al. | Transparent runtime parallelization of the R scripting language | |
CN115904328A (zh) | 一种基于llvm中间语言的跨gpu架构的并行计算框架的转化方法 | |
Szafaryn et al. | Experiences accelerating MATLAB systems biology applications | |
Wang et al. | Toward Ultrahigh-Resolution E3SM Land Modeling on Exascale Computers | |
CN112558977B (zh) | 面向异构众核后端基于代价模型的多面体优化方法 | |
CN103530132A (zh) | 一种cpu串行程序移植到mic平台的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150429 |