CN107657599A - 基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法 - Google Patents
基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法 Download PDFInfo
- Publication number
- CN107657599A CN107657599A CN201710665357.5A CN201710665357A CN107657599A CN 107657599 A CN107657599 A CN 107657599A CN 201710665357 A CN201710665357 A CN 201710665357A CN 107657599 A CN107657599 A CN 107657599A
- Authority
- CN
- China
- Prior art keywords
- gpu
- cpu
- task
- calculating
- load
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000004927 fusion Effects 0.000 title claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 57
- 238000002156 mixing Methods 0.000 claims abstract description 28
- 238000004458 analytical method Methods 0.000 claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims abstract description 16
- 230000003068 static effect Effects 0.000 claims abstract description 5
- 238000009826 distribution Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000012937 correction Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000003786 synthesis reaction Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 20
- 238000013507 mapping Methods 0.000 abstract description 19
- 238000005457 optimization Methods 0.000 abstract description 9
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000005259 measurement Methods 0.000 abstract description 3
- 238000005094 computer simulation Methods 0.000 abstract description 2
- 235000019580 granularity Nutrition 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 235000019587 texture Nutrition 0.000 description 3
- 238000011282 treatment Methods 0.000 description 3
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 2
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 238000011158 quantitative evaluation Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 210000003484 anatomy Anatomy 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012113 quantitative test Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10032—Satellite or aerial image; Remote sensing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于混合粒度划分和动态负载分配的融合算法并行实现方法。首先,本方法设计了基于混合粒度划分的融合算法并行计算模型。该模型通过对融合算法的并行度、数据访存特点和计算量等进行静态分析,结合CPU/GPU处理器特性对融合算法进行多粒度划分,形成一系列相对独立的计算任务。将并行度低、逻辑控制复杂和数据依赖强的任务调度到CPU上执行,将并行度高、密集重复的数值计算任务调度到GPU上执行,将数据访存一致、计算量大的任务调度到CPU+GPU上共同执行,实现了融合算法在CPU/GPU平台上的高效并行映射。其次,针对融合算法包含的通用运算和特殊运算多,现有预估计算任务处理速度的方法难以实现负载的均衡分配的问题,本方法设计了一种动态负载分配技术,在任务执行初期通过迭代优化准确测量计算任务的计算速度,根据计算速度和任务特点实现负载在CPU/GPU上快速均衡分配。
Description
技术领域
本发明涉及一种遥感图像融合方法,尤其是一种基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法,属于数字图像处理等技术领域。
背景技术
近年来,随着对地观测技术的飞速发展,光学遥感卫星数据源迅速增加,影像分辨率大幅提高,需要处理的数据量快速增长:以GeoEye、Pleiades、WorldView、资源三号等为代表的国内外高分辨率光学卫星的单景影像数据量最大已达到GB级,整轨数据量通常可以达到上百GB。处理这些大规模遥感数据所需的计算量呈指数级增长。传统的光学卫星数据处理架构和算法主要考虑数据处理的质量和精度,并未顾及计算效率,已无法满足在应急应用领域中对海量数据光学卫星遥感影像的快速处理要求。随着科学技术的发展,多核技术使得CPU的峰值性能随核数增加不断提高,同时,硬件加速部件例如GPU、FPGA的出现,也大大提高了计算机的计算速度。加速部件FPGA可以将用户程序用硬件实现,它具有速度快、灵活性高得特点,然而FPGA的成本较以及功耗较高。GPU的出现使单机的计算性能提高到相当于一个小规模的集群系统。由于功耗低、性价比以及能效比高,GPU从发布开始就受到了广泛的关注并被广泛用于科学计算中。GPU的出现使单个系统内同时存在两种异构的计算资源,因此以CPU和GPU协同处理为代表的高性能处理架构和并行处理算法逐渐成为卫星数据处理领域新的研究热点。目前很多研究和应用集中在如何发挥加速部件GPU的计算性能,但没有充分利用多核CPU的计算能力,造成了计算能力和能源的浪费。由于GPU和CPU是异构的计算资源,只有通过高效的调度算法才能使多核CPU/GPU的计算平台发挥出强大的计算能力。因此如何提高异构资源利用率,如何实现负载均衡显得越来越重要。综上所述,CPU/GPU异构计算平台为提高配准算法的处理速度提供了支撑,但在GPU/CPU异构平台上实现高分辨率遥感图像的快速配准仍存在如下问题:
1)遥感图像配准算法所包含的操作类型多样,比如算法包含大量的矩阵卷积、直方图、插值等多种运算,而这些不同类型的运算在并行度、数据访存以及计算量方面差别大,因此,通用方法在挖掘算法并行性和提高数据访存效率方面存在不足,难以充分发挥异构平台的并行计算效率。
2)现有的负载调控算法主要通过预先估算计算单元的处理速度并确定相关的调度负载和参数,由于缺少对各计算单元处理速度的动态实测和分析,难以实现算法负载的精确分配和控制,极大影响了GPU/CPU异构平台上算法的处理效率。
在这样的背景下,需要设计一种基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法,有效的提高融合算法的执行效率,为融合产品的实时生产提供支持。
发明内容
本发明所要解决的技术问题在于提供一种基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法。首先,该方法通过对融合算法的并行度、数据访存特点和计算量等进行静态分析,结合CPU/GPU处理器特性对融合算法进行多粒度划分,形成一系列相对独立的计算任务。将并行度低、逻辑控制复杂和数据依赖强的任务调度到CPU上执行,将并行度高、密集重复的数值计算任务调度到GPU上执行,将数据访存一致、计算量大的任务调度到CPU+GPU上共同执行,实现了融合算法在CPU/GPU平台上的高效并行映射;其次,设计了一种动态负载分配技术,在任务执行初期通过迭代优化准确测量计算任务的计算速度,根据计算速度和任务特点实现负载在CPU/GPU上快速均衡分配,CPU/GPU平台的平均负载均匀度达到了78%。
为实现上述的发明目的,本发明采用下述的技术方案:
一种基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法,包括如下步骤:
(1)对融合算法中各个步骤所包含的运算从并行度、数据访存位置和计算量三个方面进行静态分析,并结合CPU/GPU处理器特性对融合算法进行多粒度划分,形成相对独立的计算任务;将所述计算任务中并行度低、逻辑控制复杂和数据依赖强的任务调度到CPU上执行,将并行度高、密集重复的数值计算任务调度到GPU上执行,将数据访存一致、计算量大的任务调度到CPU+GPU上共同执行。
(2)将上述步骤(1)中GPU映射单元、CPU+GPU共同映射单元所对应的计算任务分为分析阶段和调度阶段;在分析阶段,先为计算单元x(x=1,2,...,m)分配初始负载α×Btotal,其中α为初始负载比例因子,Btotal为总负载量,再根据分配给计算单元x的负载与计算单元x的执行时间,得到计算单元x的计算速度,若前后两次的计算速度之差的绝对值大于T,则下次分配给计算单元x的负载为上一次分配给计算单元x的负载的β倍,否则说明计算单元x的计算速度达到稳定,当所有计算单元的计算速度都达到稳定时进行执行阶段,根据各计算单元计算速度的权重来重新为计算单元x分配负载。
其中,在所述步骤(1)中,具体划分调度过程包括:将融合算法中构建金字塔、构建特征描述子、点约束匹配、线约束匹配这些可并行、访存位置一致、需要对全图每个像素进行计算的任务调度到CPU+GPU上共同执行,将特征点检测、构建梯度直方图、乘性模型变换这些可并行、密集重复的数值计算任务调度到GPU上执行,将确定特征点位置和尺度、确定特征点方向、计算变换模型、几何校正、低分辨率全色图像合成这些不可并行、逻辑运算为主的任务调度到CPU上执行。
在所述步骤(2)中,优选α=1,β=1.2,T=0.05,计算负载定义为完成某个并行任务需要进行迭代的次数,计算速度定义为单位时间内执行负载的数量。
本发明所提供的基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法有如下的优点:
1本发明中混合粒度划分的融合算法并行计算模型能够根据异构计算平台中CPU和GPU处理器特性对融合算法进行多粒度划分,实现了融合算法在CPU/GPU平台上的高效并行映射。
2本发明中动态负载分配技术可以在任务执行阶段获得各计算单元的精确计算速度,实现负载在CPU/GPU上快速均衡分配。
附图说明
下面结合附图和具体实施方式对本发明作进一步的详细说明。
图1是遥感图像融合系统的混合粒度划分和动态负载分配示意图。
图2显示了融合算法的混合粒度划分并行模型。
图3为基于迭代优化的动态负载分配方法。
图4为融合算法在不同任务映射方法下的加速比。
具体实施方式
下面,对本发明所提供的基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法具体实施步骤进行详细说明,处理流程见图1。
步骤1、对融合算法中各个步骤所包含的运算从并行度、数据访存位置和计算量三个方面进行静态分析,并结合CPU/GPU处理器特性对融合算法进行多粒度划分,形成相对独立的计算任务;将所述计算任务中并行度低、逻辑控制复杂和数据依赖强的任务调度到CPU上执行,将并行度高、密集重复的数值计算任务调度到GPU上执行,将数据访存一致、计算量大的任务调度到CPU+GPU上共同执行。
融合算法包括图像配准和图像融合两个阶段。图像配准包括特征点提取、特征点描述、特征点匹配以及图像校正。特征点提取的主要步骤有建立高斯金字塔、建立差分金字塔、特征点检测、确定特征点位置和尺度;特征点描述的主要步骤有构建梯度直方图、确定特征点方向、构建特征描述子;特征点的匹配主要包括点约束匹配、线约束匹配;图像校正包括计算变换模型与几何校正。图像融合包括低分辨率全色图像合成、乘性模型变换步骤。算法的各个步骤在流程上是串行执行的。
为了发掘算法各步骤内部的并行性,将算法划分为不同粒度的任务映射到不同的处理单元,我们从计算量、并行度与访存模式等角度对各个步骤包含的运算进行了分析。具体如下:构建高斯金字塔步骤中同一层的原图像需要进行大量的卷积运算,从上一层到下一层需要进行重采样像素插值操作,构建差分金字作需要进行矩阵的减法,这些运算计算量十分巨大、并行程度很高并且都是对图像的纹理内存进行读取,因此可以将这些不同的运算合并在一起形成一个任务(构建金字塔任务),映射到CPU+GPU共同处理单元;对于特征点检测步骤,需要对差分金字塔中的每个像素在立体的空间中进行查找极值,进行大量的重复密集的并行操作,因此特征点检测步骤适合映射到GPU单元进行处理;确定特征点位置和尺度步骤包含的逻辑分支判断操作,尽管特征点之间可以进行并行运算,但数据依赖性强计算量小,适合映射到CPU单元进行处理;构建梯度直方图步骤,需要利用卷积操作重复计算每个像素的梯度,计算密集并行度高,因此适合映射到GPU执行;确定特征点方向步骤中特征点之间的操作可以并行,但计算量小并且需要反复读取内存,适合映射到CPU上执行;构建特征描述子步骤包括大量的卷积与归一化操作、并行度高计算量大,并且这些操作都需要访问纹理内存和特征点列表,因此可以将这些运算合并映射到CPU+GPU共同执行单元;特征点匹配包括点约束匹配、线约束匹配,包含大量的卷积、查找等操作,计算量大、并行度高,并且这些操作都是从纹理内存和特征点列表进行数据读取,适合映射的CPU+GPU共同处理单元执行;图像校正包括计算变换模型和几何校正两个步骤,适合计算量大并行度低,适合映射到CPU执行;线性回归运算量大,但是并行度低、数据依赖性强,因此只能在CPU上执行;图像融合中的低分辨率全色图像合成,主要包含线性回归运算,计算量大并行度低,适合在CPU上处理;图像融合中的乘性模型变换主要包含矩阵乘法运算,计算量大并行程度高,适合GPU处理。融合算法各步骤计算量、并行度和访存位置分析如表1所示。基于以上的分析,可以将配准算法划分为一些相对独立的任务(如图2),实现各任务内部以及任务之间有效的并行。
表1融合算法计算量、并行度、访存位置分析
步骤2、将上述步骤1中GPU映射单元、CPU+GPU共同映射单元所对应的计算任务分为分析阶段和调度阶段;在分析阶段,先为计算单元x(x=1,2,...,m)分配初始负载α×Btota,其中α为初始负载比例因子,Btotal为总负载量,再根据分配给计算单元x的负载与计算单元x的执行时间,得到计算单元x的计算速度,若前后两次的计算速度之差的绝对值大于T,则下次分配给计算单元x的负载为上一次分配给计算单元x的负载的β倍,否则说明计算单元x的计算速度达到稳定,当所有计算单元的计算速度都达到稳定时进行执行阶段,根据各计算单元计算速度的权重来重新为计算单元x分配负载。
假设CPU+GPU共有m个计算单元,为了使这m个计算单元协同处理效率达到最优,需为这m个计算单元合理分配负载。
定义1:某个任务的负载可以定义为:为了完成这个任务,需要进行迭代(重复运算)的次数。Btotal代表某个任务的总负载,Bleft代表某个任务的剩余负载。
定义2:为了衡量某个计算单元的计算速度,定义计算速度为单位时间执行负载的数量。在分析阶段中,对与计算单元x,其计算速度可以表示为:
其中,为第i次分析时分配给计算单元x的负载,为第i次分析时计算单元执行时间。
图3显示了基于迭代优化的动态负载分配算法流程图,其中分析阶段主要步骤为:
①得到任务负载队列:Btotal=n次迭代。
②对于计算单元x,若是第1次分析(即i=1),则为计算单元分配初始负载:
③记录第i次分析的执行时间得到计算速度:
④如果第i次和第i-1次计算速度之差大于阈值(0.05),说明计算速度未达到极限,下一次(i=i+1)应该分配更大的负载并执行③;否则,计算速度达到稳定,得到计算单元x的稳定计算速度
当分析阶段所有的计算单元速度都达到了稳定值时,则进入调度阶段。调度阶段依据各个计算单元的计算速度分配任务。计算速度越快的计算单元分得的迭代数量越多,反之亦然。假设分析阶段后剩余负载大小Bleft,计算单元x分配的负载为Bx。则计算单元x的计算时间为总的计算时间由最长的Tx决定,即
Ttotal=max(Tx) (2)
其中,x=[1,2,...,m]。易发现,当各个计算单元同时完成时,Ttotal最小,即T(1)=T(2)=...=T(m)。因此
在系统负载均衡时,计算单元负载的分配和单元的计算速率成正比。因此,计算单元x分配的负载为Bx为
本发明方法与现有的任务映射方法与动态负载分配方法进行对比,实验包括混合粒度划分任务映射以及迭代优化动态负载分配性能评价两个方面。其中任务映射的对比方法为CUDA-MAP映射方法(基于CUDA并行计算的遥感图像快速配准技术研究);动态负载分配的对比方法包括:为GSS方法(An efficient message-passing scheduler based onguided self scheduling)、AHS方法(Adaptive heterogeneous scheduling forintegrated GPUs)与DSS方法(A dynamic self-scheduling scheme for heterogeneousmultiprocessor architectures)。实验数据为高分二号卫星拍摄的全色与多光谱图像,实验室环境为NVIDIA TESLA K40GPU和Intel Xeon E2650 CPU组成的CPU/GPU异构计算平台,其中NVIDIA TESLA K40 GPU是基于Kepler架构,CPU共包括8个处理核心,主频2.00GHZ,内存大小为16GB。实验的评价指标为加速比与负载均匀度,具体如下。
(1)加速比
为定量评价算法的效率和性能,本节定义加速比性能评价指标,用来评价本节并行算法与CPU串行算法相比的速度提升程度,如以下公式所示:
s=TCPU/TCPU/GPU (5)
其中TCPU为CPU串行算法的执行时间;TCPU GP为本节提出的并行算法的执行时间,加速比s越高,说明混合粒度划分任务映射的效果越好,异构计算平台的计算效率越高。
(2)负载均匀度
在异构计算平台任务分配时,为了最大限度的提高系统的资源利用率,同时减少任务的平均响应时间,需要对己任务的负载根据各个处理器的性能进行合理的分配,使得不同处理器完成任务的时间大致相同,这就是负载均衡(Load Balancing)。负载均衡是在并行计算系统的多个处理器间平均的分配计算任务的行为,是实现资源有效共享、提高系统资源利用率的必然要求。负载均衡问题是用负载均匀度作为度量负载平衡程度的指标,负载均匀度记作b(m),数值上等于所有计算单元的处理任务的平均时间与最长运行时间之比,即:
为了测试混合粒度划分任务映射方法在CPU/GPU异构计算平台上的并行效率,本实验采用了不同幅宽的5组图片进行测试。比较方法为CPU串行执行方法、CUDA-MAP映射方法。实验结果如表2和图4所示,其中图4的横坐标为图像大小,纵坐标为加速比。
表2融合算法在不同任务映射方法下的加速比
由表2可以看出,在CPU/GPU异构平台对算法进行并行实现比只用CPU串行实现所花费的执行时间明显更少,并且随着图像幅宽的增大,异构平台并行算法的加速比逐渐增大。这是由于在执行并行算法时,并行算法所花费的时间包括并行运算时间与数据传输时间。当图像幅宽较小时,并行算法时间主要是由数据传输时间决定,不能充分发挥异构系统并行处理的能力;当图像幅宽较大时,异构计算平台能够充分发挥CPU多核与GPU众核的并行计算能力,因此加速较为明显。进一步,本章的提出的基于混合粒度划分的任务映射方法比CUDA-MAP任务映射方法具有更高的加速比。这是由于CUDA-MAP任务映射方法仅对算法中瓶颈的步骤进行GPU的映射,并对映射到GPU中的任务进行一定程度的优化,而本方法从计算量、并行度、访存模式的角度对任务进行多粒度的划分,根据任务的特性映射到CPU执行单元、GPU执行单元与CPU+GPU共同执行单元,能够充分发挥异构计算平台中CPU与GPU的计算性能。其次,本方法通过对融合流程的剖析,利用CUDA流机制实现了直方图运算与金字塔构建、特征点描述等运算的流程间的并行,提高了整个算法的并行性。
为了测试迭代优化动态任务分配方法(IOS)的性能,利用负载均匀度指标对各动态负载分配方法进行了定量的评测。本实验分别对9个映射后的并行任务(包括)利用不同的负载分方法进行测试,实验结果如表3所示。
表3不同负载分配方法的负载均匀度比较
由表3可知,本章提出的基于迭代优化的负载分配方法IOS能够获得较高负载均匀度(平均值为78.7%,目前国际先进处理系统为75%),说明IOS方法的负载均衡性能较好;同时,利用IOS方法进行负载分配时,对于CPU/GPU共同执行的并行任务(如构建金字塔等任务),IOS方法能够获得更高的负载均匀度,这说明IOS方法可以有效的利用CPU/GPU异构平台中的各计算资源。
DSS调度算法执行阶段的块大小是时间反比函数。当剩余迭代不足时,易出现计算单元间的等待延时,实时性能不佳。AHS算法分析阶段以分析总迭代数量的固定比例作为结束标准,这样导致分析阶段迭代过多,负载处理延时。GSS没有分析阶段,未能找到CPU和GPU的最大执行速率,并且所有的处理器未在同一时间完成任务,导致某些计算单元在执行任务而其他的计算单元均已完成任务,故存在等待延迟,时间开销较大。而本章提出的迭代优化动态负载分配方法能够在任务执行时通过迭代优化的过程精确的估计各计算单元的计算速度,并根据速度和任务的特性对负载进行分配,因此具有较好的负载分配性能。
本发明所提供的基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法主要是为提高遥感图像融合系统并行效率专门提出的。但显然,本配准方法也适用其它图像处理算法,如图像配准、图像分割等,所取得的有益效果也是相似的。
以上对本发明所提供的基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法进行了详细的说明,但显然本发明的具体实现形式并不局限于此。对于本技术领域的一般技术人员来说,在不背离本发明的权利要求范围的情况下对它进行的各种显而易见的改变都在本发明的保护范围之内。
Claims (3)
1.一种基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法,包括如下步骤:
(1)对所述遥感图像融合系统中执行的各个运算步骤从并行度、数据访存位置和计算量三个方面进行静态分析,并结合CPU/GPU处理器特性对融合算法进行多粒度划分,形成相对独立的计算任务;将所述计算任务中并行度低、逻辑控制复杂和数据依赖强的任务调度到CPU映射单元上执行,将并行度高、密集重复的数值计算任务调度到GPU映射单元上执行,将数据访存一致、计算量大的任务调度到CPU+GPU共同映射单元上执行;
(2)将上述步骤(1)中被调度到GPU映射单元、CPU+GPU共同映射单元上的计算任务分为分析阶段和调度阶段;在分析阶段,先为计算单元x(x=1,2,...,m)分配初始负载α×Btotal,其中α为初始负载比例因子,Btotal为总负载量,再根据分配给计算单元x的负载与计算单元x的执行时间,得到计算单元x的计算速度,若前后两次的计算速度之差的绝对值大于T,则下次分配给计算单元x的负载为上一次分配给计算单元x的负载的β倍,否则说明计算单元x的计算速度达到稳定,当所有计算单元的计算速度都达到稳定时进行执行阶段,根据各计算单元计算速度的权重来重新为计算单元x分配负载。
2.如权利要求1中所述的方法,其特征在于:
在所述步骤(1)中,具体划分调度过程包括:将融合算法中可并行、访存位置一致、需要对全图每个像素进行计算的任务调度到CPU+GPU上共同执行,所述任务包括构建金字塔、构建特征描述子、点约束匹配、线约束匹配;将可并行、密集重复的数值计算任务调度到GPU上执行,所述任务包括特征点检测、构建梯度直方图、乘性模型变换;将不可并行、逻辑运算为主的任务调度到CPU上执行,所述任务包括确定特征点位置和尺度、确定特征点方向、计算变换模型、几何校正、低分辨率全色图像合成。
3.如权利要求1中所述的方法,其特征在于:
在所述步骤(2)中,优选α=1,β=1.2,T=0.05,计算负载为完成某个并行任务需要进行迭代的次数,计算速度为单位时间内执行负载的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710665357.5A CN107657599B (zh) | 2017-08-07 | 2017-08-07 | 基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710665357.5A CN107657599B (zh) | 2017-08-07 | 2017-08-07 | 基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107657599A true CN107657599A (zh) | 2018-02-02 |
CN107657599B CN107657599B (zh) | 2020-11-03 |
Family
ID=61128682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710665357.5A Active CN107657599B (zh) | 2017-08-07 | 2017-08-07 | 基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107657599B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804386A (zh) * | 2018-07-09 | 2018-11-13 | 东北电力大学 | 一种电力系统负荷裕度的并行化计算方法 |
CN111061547A (zh) * | 2019-10-24 | 2020-04-24 | 中国科学院计算技术研究所 | 一种异构系统的任务调度方法及系统 |
CN111445503A (zh) * | 2020-03-25 | 2020-07-24 | 桂林电子科技大学 | 基于gpu集群上并行编程模型的金字塔互信息图像配准方法 |
CN112041887A (zh) * | 2018-04-24 | 2020-12-04 | 斯纳普公司 | 高效的并行光流算法和gpu实现 |
CN112529088A (zh) * | 2020-12-17 | 2021-03-19 | 中国航空工业集团公司成都飞机设计研究所 | 一种嵌入式异构显示融合系统 |
CN112835772A (zh) * | 2019-11-25 | 2021-05-25 | 南京工业职业技术学院 | 一种异构硬件环境下的粗粒度计算加速比评估方法与系统 |
CN113419861A (zh) * | 2021-07-02 | 2021-09-21 | 北京睿芯高通量科技有限公司 | 一种面向gpu卡群的图遍历混合负载均衡方法 |
CN117391959A (zh) * | 2023-12-13 | 2024-01-12 | 中国海洋大学 | 基于多粒度匹配及多尺度聚合的超分辨率重建方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345382A (zh) * | 2013-07-15 | 2013-10-09 | 郑州师范学院 | 一种cpu+gpu群核超算系统及sift特征匹配并行计算方法 |
CN103632336A (zh) * | 2013-12-17 | 2014-03-12 | 武汉大学 | 基于负载分配的遥感影像cpu/gpu协同处理方法 |
CN103714184A (zh) * | 2014-01-13 | 2014-04-09 | 许昌学院 | 一种遥感影像快速并行处理方法及装置 |
-
2017
- 2017-08-07 CN CN201710665357.5A patent/CN107657599B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345382A (zh) * | 2013-07-15 | 2013-10-09 | 郑州师范学院 | 一种cpu+gpu群核超算系统及sift特征匹配并行计算方法 |
CN103632336A (zh) * | 2013-12-17 | 2014-03-12 | 武汉大学 | 基于负载分配的遥感影像cpu/gpu协同处理方法 |
CN103714184A (zh) * | 2014-01-13 | 2014-04-09 | 许昌学院 | 一种遥感影像快速并行处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
郝昀超等: "高分辨率遥感图像配准并行加速方法", 《计算机科学》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112041887A (zh) * | 2018-04-24 | 2020-12-04 | 斯纳普公司 | 高效的并行光流算法和gpu实现 |
CN108804386B (zh) * | 2018-07-09 | 2022-03-29 | 东北电力大学 | 一种电力系统负荷裕度的并行化计算方法 |
CN108804386A (zh) * | 2018-07-09 | 2018-11-13 | 东北电力大学 | 一种电力系统负荷裕度的并行化计算方法 |
CN111061547A (zh) * | 2019-10-24 | 2020-04-24 | 中国科学院计算技术研究所 | 一种异构系统的任务调度方法及系统 |
CN111061547B (zh) * | 2019-10-24 | 2023-04-11 | 中国科学院计算技术研究所 | 一种异构系统的任务调度方法及系统 |
CN112835772A (zh) * | 2019-11-25 | 2021-05-25 | 南京工业职业技术学院 | 一种异构硬件环境下的粗粒度计算加速比评估方法与系统 |
CN111445503B (zh) * | 2020-03-25 | 2023-04-25 | 桂林电子科技大学 | 基于gpu集群上并行编程模型的金字塔互信息图像配准方法 |
CN111445503A (zh) * | 2020-03-25 | 2020-07-24 | 桂林电子科技大学 | 基于gpu集群上并行编程模型的金字塔互信息图像配准方法 |
CN112529088A (zh) * | 2020-12-17 | 2021-03-19 | 中国航空工业集团公司成都飞机设计研究所 | 一种嵌入式异构显示融合系统 |
CN113419861A (zh) * | 2021-07-02 | 2021-09-21 | 北京睿芯高通量科技有限公司 | 一种面向gpu卡群的图遍历混合负载均衡方法 |
CN113419861B (zh) * | 2021-07-02 | 2023-10-24 | 北京睿芯高通量科技有限公司 | 一种面向gpu卡群的图遍历混合负载均衡方法 |
CN117391959A (zh) * | 2023-12-13 | 2024-01-12 | 中国海洋大学 | 基于多粒度匹配及多尺度聚合的超分辨率重建方法及系统 |
CN117391959B (zh) * | 2023-12-13 | 2024-02-20 | 中国海洋大学 | 基于多粒度匹配及多尺度聚合的超分辨率重建方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107657599B (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107657599A (zh) | 基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法 | |
CN110399222B (zh) | Gpu集群深度学习任务并行化方法、装置及电子设备 | |
CN108920413B (zh) | 面向gpdsp的卷积神经网络多核并行计算方法 | |
Hong-Tao et al. | K-means on commodity GPUs with CUDA | |
Kan et al. | Improving water quantity simulation & forecasting to solve the energy-water-food nexus issue by using heterogeneous computing accelerated global optimization method | |
CN106875013A (zh) | 用于多核优化循环神经网络的系统和方法 | |
CN108874744A (zh) | 矩阵乘积累加运算的广义加速 | |
Xygkis et al. | Efficient winograd-based convolution kernel implementation on edge devices | |
CN105808309B (zh) | 一种基于申威平台的基础线性代数库blas三级函数gemm的高性能实现方法 | |
CN108509270A (zh) | 一种国产申威26010众核处理器上K-means算法的高性能并行实现方法 | |
CN103049241A (zh) | 一种提高cpu+gpu异构装置计算性能的方法 | |
Cao et al. | Implementing sparse matrix-vector multiplication using CUDA based on a hybrid sparse matrix format | |
CN107341761A (zh) | 一种深度神经网络的计算执行方法和系统 | |
CN108898216A (zh) | 应用于神经网络的激活处理装置 | |
Bakhthemmat et al. | Decreasing the execution time of reducers by revising clustering based on the futuristic greedy approach | |
CN109300083A (zh) | 一种分块处理Wallis匀色方法及装置 | |
CN106484532B (zh) | 面向sph流体模拟的gpgpu并行计算方法 | |
Liu | Yolov2 acceleration using embedded gpu and fpgas: pros, cons, and a hybrid method | |
Alnowibet et al. | An efficient algorithm for data parallelism based on stochastic optimization | |
CN109410136A (zh) | 基于最短传递路径的匀色方法及处理装置 | |
CN109491796A (zh) | 基于累积和并行化的机载雷达运动速度估计方法 | |
Zhang et al. | Mapping of option pricing algorithms onto heterogeneous many-core architectures | |
Tan et al. | Parallel particle swarm optimization algorithm based on graphic processing units | |
Gao et al. | Revisiting thread configuration of SpMV kernels on GPU: A machine learning based approach | |
Liu et al. | Symplectic multi-particle tracking on GPUs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |