GRAPES四维变分同化系统MPI和OpenMP混合算法研究

合集下载

openmmlab 混合精度训练

openmmlab 混合精度训练

openmmlab 混合精度训练混合精度训练是指在训练神经网络时,使用半精度浮点数(FP16)来代替单精度浮点数(FP32)进行计算,从而加速训练过程。

OpenMMLab是一个开源的计算机视觉库,支持混合精度训练。

一、混合精度训练的原理混合精度训练的原理是将神经网络中的权重和梯度存储为半精度浮点数,而将输入和输出数据存储为单精度浮点数。

这样可以减少内存占用和数据传输的时间,从而加速训练过程。

同时,半精度浮点数的计算速度也比单精度浮点数要快。

二、OpenMMLab中的混合精度训练OpenMMLab中的混合精度训练是基于PyTorch实现的。

具体来说,可以通过设置PyTorch中的amp模块来实现混合精度训练。

amp模块会自动将权重和梯度转换为半精度浮点数,并在计算过程中进行精度转换。

在OpenMMLab中,可以通过设置训练配置文件中的“optimizer_e_fp16”参数来启用混合精度训练。

同时,还可以通过设置“optimizer_config.fp16_scale_window”参数来调整梯度缩放的窗口大小,以避免梯度下降过快导致的精度损失。

三、混合精度训练的优缺点混合精度训练的优点是可以加速训练过程,减少内存占用和数据传输的时间。

同时,半精度浮点数的计算速度也比单精度浮点数要快。

混合精度训练的缺点是可能会导致精度损失。

由于半精度浮点数的精度较低,可能会导致训练过程中的数值计算误差增大,从而影响模型的精度。

此外,混合精度训练还需要进行梯度缩放等额外的计算,可能会增加训练过程的复杂度。

总之,混合精度训练是一种加速神经网络训练的有效方法,但需要在精度和速度之间做出权衡。

在OpenMMLab中,可以通过设置训练配置文件中的参数来启用混合精度训练,并根据具体情况进行调整。

OpenCFD-EC理论手册-2014-11

OpenCFD-EC理论手册-2014-11

量进行重构。 采用特征变量进行重构数值振荡最小,但计算量最大。本软件采用守恒 变量进行重构。
重构方法与有限差分法构造差分格式的形式完全相同。本软件采用 2 阶或 3 阶 3 阶 迎风偏斜重构(见 2.3 节)。
重构出U
L I +1/2

U
R I +1/
2
以后,求解
Riemann
问题,即一维
Euler
∫ 1
ΩIJ
F ⋅nds
∂Ω
=
1 ΩIJ
(HI +1/2,J
− HI −1/2,J
+ HI ,J +1/2
− HI ,J −1/2 )
(1.2.1)
其中 ΩIJ 是以包围中心点(I,J)的控制体(图 1 中红色虚线围成四边形)的面积。具体 计算时,可用该四边形对角线的向量进行叉乘获得。
图 1.4 示意图:四边形的面积= 1 AC × DB 2
通量差分分裂(FDS)通过 Riemann 解来计算数值通量,因为更好地利用了双曲方程的 特征方向,因而其激波捕捉能力更强,数值振荡更小。但其计算量要大于流通矢量分裂。
常用的 FDS 方法包括精确 Riemann 解(Godnov 方法),Roe 近似 Riemann 解及 HLL/HLLC 近似 Riemann 解等。
/browse.aspx/.Public )
朱自强等: 《应用计算流体力学》
E. F. Toro: Riemann Solvers and numerical methods for fluid dynamics
p
⎥ ⎥ ⎥


⎣(E + p)v⎦
(1.2.2) (1.2.3)

基于MPI的三维枝晶生长相场法的并行计算

基于MPI的三维枝晶生长相场法的并行计算

基于MPI的三维枝晶生长相场法的并行计算朱昶胜;车超;冯力;肖荣振【摘要】充分利用MPI(message passing interface)在并行环境下远高于单CPU 的强大计算能力,探索基于MPI的并行系统结构,求解三维枝晶生长的高性能计算方法.通过多进程的并发执行,实现三维相场方程求解的并行计算,探讨MPI中点对点通信与集合通信在并行计算时数据传输的效率,讨论热噪声幅值Fu=0与Fu=10-3时三维枝晶生长过程.计算结果表明:基于MPI的并行算法可使模拟尺度达到1 000×1 000×1 000网格,大大提高可模拟尺度;采用集合通信模式比点对点通信模式具有更高的并行效率,更加适合大规模并行计算环境.【期刊名称】《兰州理工大学学报》【年(卷),期】2015(041)005【总页数】6页(P5-10)【关键词】枝晶生长;相场法;MPI;并行计算【作者】朱昶胜;车超;冯力;肖荣振【作者单位】兰州理工大学计算机与通信学院,甘肃兰州730050;兰州理工大学省部共建有色金属先进加工与再利用国家重点实验室,甘肃兰州730050;兰州理工大学计算机与通信学院,甘肃兰州730050;兰州理工大学省部共建有色金属先进加工与再利用国家重点实验室,甘肃兰州730050;兰州理工大学省部共建有色金属先进加工与再利用国家重点实验室,甘肃兰州730050【正文语种】中文【中图分类】TG244Key words: dendritic growth; phase-field method; MPI; parallel computing 随着计算材料科学的发展,通过数值模拟方法真实再现铸件凝固过程,揭示铸件内部各种组织花样的形成机制及演化历程,已逐渐成为研究凝固过程的一种重要手段.相场法作为目前最有效的微观组织数值模拟方法,已在凝固微观组织演化研究中体现出越来越重要的作用.此外,相场法通过相场与温度场、溶质场、重力场、磁场及其他外部场的耦合,可有效地将微观与宏观尺度结合起来,能够对金属凝固过程进行真实的模拟,成为模拟材料微观组织的热点[1-4].随着相场法在凝固微观组织模拟中的应用越来越深入,所建立的相场模型也越来越复杂,相应地,相场模型的数值求解方法也应不断优化改进,以降低模拟软件对计算机硬件的要求,从而使模拟研究与实际生产相结合.相场模型的数值求解方法通常采用有限差分法[5-6],其程序结构简单,采用这种方法的模拟结果都基本与枝晶生长理论吻合良好,取得了预期结果.但是由于其求解相场方程计算量巨大,所以寻求高性能加速算法非常必要.采用基于MPI的并行编程算法求解三维相场模型[7-8],在大幅减少计算时间、提高计算效率的同时,以三维枝晶相场模拟为应用背景,进行相应的并行设计方法及其性能效率的比较研究,重点论述点对点通信和集合通信实现的不同,并通过实际测试结果分析二者的性能差异,旨在展现并行设计的一般思路,扩大求解规模、缩短运行时间、提高效率.Karma和Rappel等对在相场模型中耦合热噪声进行了研究[9].在他们的模型中,非能量守恒扰动(nonconserved noise)和能量守恒扰动(conserved noise)分别以下面的形式加入到相场方程和温度场控制方程中:其中,无量纲温度,D为热扩散系数,λ为耦合常数,τ和W都是界面法向矢量n的函数:式中:ε4为各向异性强度,T为热力学温度,TM为熔点,L为结晶潜热,Cp为等压热熔.θ和q分别表示热噪声矢量,热噪声幅值通过热噪声矢量按照公式求得,各自遵循下述高斯分布:其中,δ为 delta函数,δmn为〈θm(r,t)θn(r′,t)〉在m、n不同情况下的取值,将其中的一些变量按下述形式无量纲化:,热噪声矢量将变成:其中,Fu是热噪声幅值,可以写成以下形式:式中:kB为Boltzmann常数,W0为界面厚度,λ为温度在相场中的耦合系数,J取16/15.MPI(message passing interface),即消息传递接口标准,用于开发基于消息传递的并行程序,具有可移植性、灵活性、可靠性等优点.三维模型采用有限差分方法离散[10],设计方法是将整个计算域划分为多个子域,把各子域上的迭代计算任务分配给相应的节点执行.并行设计过程中需要考虑的问题有计算域划分、计算域通信等. 下面结合实现三维枝晶生长的迭代法并行求解过程,探讨基于MPI的三维枝晶生长并行处理机制提高相场的计算效率.分析三维枝晶生长相场的串行算法,程序的主要数据结构是一个用来保存相场和温度场值的三维数组,可以看作是由多个二维数组组成,三维的计算区域,如图1a所示.MPI并行计算需要将计算区域划分为多个子区域,如图1b,每个子区域分配给MPI节点,并在时间步内临近的网格进行相场值与温度场值的数据交换,最后在该时间步内进行各个节点的数据同步,其数据会根据任务规模和处理器数量分布在集群的各个处理器上,每一个时间步、每个点的相场和温度场的值都会在一次迭代计算后重新被更新.考虑到各处理器的高利用率与处理器间通信最小化之间的平衡,在划分子域时尽可能使每个子域包含的网格算点数相等,保证进程间的负载平衡.对于一个大小为X×Y×Z的均匀模拟网格,使用P个处理器进行并行计算,选择X轴方向的数据是分布式的,在并行时每个处理器会被分配(X/P)×Y×Z的数组,而每个处理器为了保存相邻节点发送的数据,把每个处理器的数组大小设置为(X/P+2)×Y×Z.三维枝晶模拟生长的迭代过程需要反复通信,为使最小化通信时间,减少通信次数,使用点对点通信和集合通信对并行程序进行计算.同时,采用重复非阻塞通信对反复执行的通信进行优化,实现通信与计算重叠,以降低不必要的通信开销.每个处理器保存相邻节点发送数据的区域,每经过一次迭代计算,每个节点都需要对各自内部的计算区域进行边界重新赋值,然后才能进行下一次迭代计算,而每个节点间传输的数据大小为Y×Z.当节点内部数据被更新时,每个节点需要等待接收边界数据,同时也需要发送自己的边界数据给相邻节点,这些发送数据、接收数据的时间就是通信开销[11],接收完边界数据后,更新节点内的数据,这样就完成了一次迭代计算.MPI最基本的通信模式是在一对进程之间进行的消息收发操作:一个进程发送消息,另一个进程接收消息.这种通信方式称为点对点通信(point to point communications).MPI提供2大类型的点对点通信函数.第一种类型称为阻塞型(blocking),第二种类型称为非阻塞型(non blocking).阻塞型函数需要等待指定操作的实际完成,或至少所涉及的数据已被MPI 系统安全地备份后才返回.如MPI_Send 和MPI_Recv都是阻塞型的.由于三维枝晶在计算过程中,需要多次的迭代计算,考虑负载平衡的问题,在并行计算过程中,每个节点之间在经过迭代计算后,使用阻塞型函数来完成各节点间数据的交换,它的完成可能需要与其他进程进行通信[12].集合通信与点对点通信在多个方面是不同的:在通信中的所有进程都必须调用相同的集合通信函数.每个进程传递给MPI集合通信函数的参数必须是“相容的”.点对点通信函数是通过标签和通信子来匹配的.集合通信函数不使用标签,只通过通信子和调用的顺序来进行匹配.图2为在三维枝晶生长的并行计算中采用点对点通信与集合通信的模型示意图.在进程间的通信阶段都采用点对点通信,在输出相场、温度场阶段之前,各节点需要将自己的计算数据发送给主节点,并由主节点进行相场温度数值的输出,在发送数据时分别采用点对点通信与集合通信对计算数据进行传输,并统计各自的计算时间,比较二者在大规模并行计算任务时进行数据传输的效率.采用高纯丁二腈(SCN)为研究对象,材料物性参数为:Tm=331.1 K,cp/= 2.00J/(kg·K),L=46.250 J/kg,ρ=1.020 kg/m3.相场参数为:d0/w0=0.139,Δ=0.55,ε=0.05,D=4,τ0=1.00,λ=6.3.假设区域内充满SCN过冷熔体,半径为r0的初始球形晶核置于区域中心:式中:x,y,z为直角坐标系代表的坐标轴,分别对应于[100]、[010]、[001]枝晶生长方向.在计算区域的边界上,相场和温度场均采用Zero-Neumann边界条件[13-15].为了获得可靠而稳定的计算结果,取空间步长Δx=Δy=Δz=0.08,Δx≤W0,时间步长为Δt,取值要满足稳定性条件Δt<Δx2/6D,Δt=0.060.采用枝晶生长的八分之一区域为计算和后处理区域.实验环境如下:刀片计算系统共有20台曙光CB65-G双路刀片,CPU整体峰值性能达到5.888万亿次/秒.每台刀片计算节点配置2颗AMD Opteron 6272 2.3 GHz十六核处理器,32 G DDR3内存.相场模型的界面厚度约束限制了其模拟尺度,使得相场和温度场在串行机上的计算变得非常困难.而且为了缩短计算时间,三维枝晶生长的模拟常采用高于常规铸造工艺条件下的大过冷度,且主要针对纯物质或对二元合金中的单枝晶和多枝晶的形貌进行定性模拟.限于硬件条件,目前在单CPU上的计算规模为500×500×500,而这也导致枝晶没有足够的生长空间,很难较好地考虑非受限生长的情况.在集群环境下利用MPI并行方式,对三维枝晶的模拟生长进行模拟计算.图3为网格数为1 000×1 000×1 000,t=25 000Δt,热噪声幅值Fu=10-3时,利用5个节点进行并行计算得出的相场与温度场图形,在对计算区域进行计算任务分配时,每个节点的计算规模为200×1 000×1 000,成功实现了较大尺度三维枝晶的定量模拟,解决了传统相场法求解方法计算效率低、内存需求容量大、计算规模小等问题,提高了模拟计算能力.同时可以看出,由于引入噪声,三维枝晶具有发达的二次晶臂.另外,在一次枝晶臂根部有明显的颈缩现象,还可观察到侧向分支根部的断裂和部分二次枝晶的合并现象.同时还可看出,温度的分布情况与枝晶生长吻合,在固相区域因凝固潜热的释放,从而使温度比液相中要高,并且在固液界面处的温度比中心要高,而且在二次枝晶生长比较快的固液界面温度最高,在枝晶尖端由于界面移动速率大,释放的潜热多,热量来不及扩散,因此温度梯度最大,在枝晶根部由于界面移动速率小,因此温度梯度最小.实验中,将计算规模设为N×N×N的均匀网格,对三维枝晶生长实现并行处理,分别用点对点通信与集合通信对数据进行传输,并将计算所需的时间进行比较.当相场的计算规模较小,网格规模为300×300×300时,点对点通信与集合通信的时间统计如图4所示.通过比较可以看出,在实验集群环境下,点对点通信与集合通信的2种并行计算时间相差不是很明显.考虑可能是因为实验计算规模较小,整体的计算时间相对较短.为了更进一步了解点对点通信与集合通信2种并行计算的效率问题,扩大计算规模,当网格数为1 000×1 000×1 000时,2种计算方式的时间统计如图5所示.通过图5可以看出,在大规模计算任务时,集合通信较点对点通信表现出了更高的通信效率,点对点通信在计算过程中需要考虑预防死锁、阻塞与非阻塞、同步与异步,以及各节点间的执行顺序问题,因此在数据传输过程中花费了许多通信开销.随着处理器个数的增加,计算所需时间随之减少,但当处理器的个数增加到10个以后,计算时间减少得并不明显,这主要是因为在任务规模不变时,随图5 网格数为1 000×1 000×1 000时,2种方式的计算时间着处理器个数增加,各处理器之间的通信开销变大,从而影响了整个程序的运行时间,当处理器大于14个时,计算时间逐步趋于稳定.通过实验得出在三维枝晶生长模拟的并行计算中,集合通信比点对点通信更具计算效率,点对点通信与集合通信有各自的传输信息特点.通过对2种通信方式测试,目的在于更明确地了解二者在三维枝晶模拟生长中的优劣性,以便于在并行计算中更有针对性地利用MPI不同的通信方式来解决大量数据的计算问题.采用基于MPI的编程模型,力求提高计算效率的同时,使计算结果能体现较大区域下的非受限生长.图6中为没有加入热噪声时t分别为15 000Δt、20 000Δt、25 000Δt、30 000Δt的三维相场枝晶生长形貌图,可以看出,没有加入热噪声时,整个三维枝晶的界面生长平滑,并不接近现实中的枝晶生长形貌.为了使枝晶的生长形貌更具真实效果,加入热噪声幅值Fu=10-3,程序的计算结果如图7所示,图中为加入热噪声时t分别为15 000Δt、20 000Δt、25 000Δt、30 000Δt的三维相场枝晶生长形貌,从图可以看出,在界面前沿形成持续扰动,并在距尖端几个波长的后方出现侧枝,实现了模拟三维枝晶生长的目的.1) 采用基于MPI的并行编程求解三维相场模型,提高了模拟计算能力,较大尺度地实现了三维枝晶定量模拟,增大了计算区域网格数,扩大了计算规模,解决了在单CPU 下计算规模小的问题.2) 并行程序在求解过程中,分别采用点对点通信与集合通信对各节点间数据进行传输,结果显示,在大规模任务情况下,集合通信比点对点通信更具计算效率,验证了MPI在并行计算三维枝晶模拟生长问题上的性能状况.3) 加入热噪声幅值参数后,三维枝晶生长在界面前沿形成持续扰动,并在距尖端几个波长的后方出现侧枝,实现了模拟三维枝晶生长的目的.致谢:本文得到兰州理工大学红柳杰出人才基金(J201304) 的资助,在此表示感谢. 【相关文献】[1] JOHNSON A E,VOORHEES P W.A phase-field model for grain growth with trijunction drag [J].Acta Materialia,2014,67:134-144.[2] BERG B A,WU H.Fortran code for SU (3) lattice gauge theory with and without MPI checkerboard parallelization [J].Computer Physics Communications,2012,183(10):2145-2157.[3] 朱昌盛,王军伟,王智平,等.受迫流动下的枝晶生长相场法模拟 [J].物理学报,2010,59(10):7417-7423.[4] SUWA Y,SAITO Y,ONODERA H.Three-dimensional phase field simulation of the effect of anisotropy in grain-boundary mobility on growth kinetics and morphology of grain structure [J].Computational Materials Science,2007,40(1):40-50.[5] SUWA Y,SAITO Y,ONODERA H.Phase field simulation of grain growth in three dimensional system containing finely dispersed second-phase particles [J].Scripta Materialia,2006,55(4):407-410.[6] 邬延辉,陆鑫达,曾志勇,等.消息传递接口在偏微分方程中的并行计算 [J].上海交通大学学报,2003,37:416-419.[7] 卢照,张锦娟,师军,等.MPI 动态负载平衡策略的研究与实现 [J].计算机技术与发展,2010,20:132-135.[8] AMRITKAR A,TAFTI D,LIU R,et al.Open MP parallelism for fluid and fluid-particulate systems [J].Parallel Computing,2012,38(9):501-517.[9] DHOTE R,GOMEZ H,MELNIK R,et al.Isogeometric analysis of coupled thermo-mechanical phase-field models for shape memory alloys using distributed computing [J].Procedia Computer Science,2013,18:1068-1076.[10] 朱昌盛,冯力,王智平,等.三维枝晶生长的相场法数值模拟研究 [J].物理学报,2009,11:8055-8061.[11] WONG U H,AOKI T,WONG H C.Efficient magnetohydrodynamic simulations on distributed multi-GPU systems using a novel GPU Direct-MPI hybrid approach[J].Computer Physics Communications,2014,185(7):1901-1913.[12] 王巍,李旺.基于 Linux 数据链路层 MPI 通信机制的设计与实现 [J].电子技术应用,2012,38:127-130.[13] JIN H,JESPERSEN D,MEHROTRA P,et al.High performance computing using MPI and OpenMP on multi-core parallel systems [J].Parallel Computing,2011,37(9):562-575. [14] 朱昶胜,李椿茂,冯力,等.基于自适应有限元法的纯物质三维枝晶生长模拟 [J].兰州理工大学学报,2015,41(4):1-5.[15] 朱昶胜,贾金芳,冯力,等.基于GPU的流动影响枝晶生长相场方法 [J].兰州理工大学学报,2015,41(3):19-25.。

MPI环境下MPE图形功能的分析与扩展

MPI环境下MPE图形功能的分析与扩展

万方数据 万方数据函数:DmwBitmap(MPE_XGraphgraph,int算,inty,void+bitmap),对应图4.用MPE自身带有的画点的功能来逐点描绘也不能完成这个操作.因为它只有16种颜色.连基本的256色灰度图也不能表达;DrawCur(MPE_XGraph,graph,intsize,void{array),对应图5;DrawSurface(MPE_XGraphgraph,int省,intY,intViewArgl,intViewAr92,voidbitmap),对应图6。

图4位图的显示图5一维数组显示5结论MPI消息传递接口库的MPICH实现包含了一个简单的图形输出功能。

用于集群计算机上的并行程序的计算结果可视化。

该MPE图形功能可以运行于所有MPI实现之上.但是由于它所提供的绘图功能有限.不能满足其它复杂输出的要求。

若是使用现有一些可视化工具则要另外安装软件和学习相关的编程接口规范。

通过对MPICH附带的MPE图形功能相关的大量复杂代码和文档的分析,弄清其设计思路、与Unix的X窗口系统关系、源代码分布、头文件和库的依赖关系等等.提出了扩展MPE图形库的方法步骤.成功地实现了MPE图形库的扩图6二维数组显示充,形成mpe—image库,增加了多个适合于图像分析处理结果的绘图函数.使得只需要MPI编程知识就可以完成相关应用程序的图形编程.这种方法也适用于扩展其它对图形化的输出结果有特殊要求的应用。

(收稿日期:2006年4月)参考文献1.ELusk.ClusterComputing[C].In:Proceedings,2002IEEEInternationalConferenceon,2002-09:4352.AChan,WGropp,ELusk.User’SGuideforMPE:ExtensionsforMPIPrograms[EB/OL].http://www-unix.mcs.anl.gov/mpi/mpich/docs/mpe-man/mpeman.htm,20053.WGropp,EKarrels,ELusk.MPEgraphics—scalableX11graphicsinMPI[C].In:ScalableParallelLibrariesConference,Proceedingsofthe1994,1994-10:49~544.NMatthew,RStones.BeginningLinuxProgramming[M].2“Edition,WroxPress。

GRAPES中尺度模式中不同对流参数化方案模拟对流激发的研究

GRAPES中尺度模式中不同对流参数化方案模拟对流激发的研究
进 一 步 的改 进 ,形 成 了 目前 在 较 多 模 式 中得 到 广 泛 应用 的如 K i.rshEaK E A 、B t— l r anFic t( F T ) t es l s t Mie —
收稿 日期 :20.40 0 70.6 z修订 日期 :20.02 0 71-2 基 金项 目:江苏 省六 大 人才 高峰项 目;国家 自然科 学基金 中港合 作项 目(0 1o 1;国家 自然科 学基金 (O7O 2 07 04共 同资 助 4 580 ) 4 65 6、46 5 6)
强 度 以及 与大 尺 度 的相 互 作 用 必 须 能够 被模 式 可 分 辨 尺 度 上 的变 量 隐式 的表 达 ,即 对 流必 须通 过 参 数 化 的 方 式包 含 在 模 式 中 。积 云 参 数 化 的 主要 作 用 就
预报降水存 在怎样 的关 系是本文主要研究 的问题。 下面首先介 绍各 积云参数化方案 的基本思想 ,主要 强调各方 案经过改 良的新 的部分 ,之后通过三种参 数化方案对 一次华南 降水过程 的数值模拟讨论对流
激 发 过程 中 不 同 的 时 空分 布 与模 式 预 报 出现 偏 差 的
可能原因。
是估 计次网格 尺度上 的对流降雨量 以及 由对流造成
的网格 尺度 的热 量 、湿 度 和 动 量 的变化 ,特别 是 在 垂 直方 向 的重新 分 布 。 从 Ca e hr y和 Ei sn l 出包含 积 云尺 度 和气 n ls [ aej 提
2 GR P S中尺度模式 的三种积云 A E 对流参数化方案介绍
21 Kan F i c t 简 称 KF T )方 案 . i. r shE a( t E A
Fi c— hp e ( 9 0 方案是该方案的基础 , rshC apl 18 ) t l

混合像元分解

混合像元分解

混合像元分解
混合像元分解(MixedPixelDecomposition,MPD)是一种不需要任何理论假设的半监督算法,用于自动地从复杂的观测图像中分解出多个不同的像元组。

MPD是计算机视觉和图像处理领域的一个关键技术,它支持多种现代视觉任务,包括目标检测、跟踪、语义分割、深度学习等。

MPD技术应用于图像处理,首先要建立一个模型,该模型由不同的像元组成,比如彩色图像的RGB通道,使用MPD技术,可以将彩色图像分解成RGB三个通道,也可以分解成更多的像元,比如灰度、噪声、亮度、颜色等像元。

使用MPD技术可以方便地处理复杂的图像,将它们分解成可操作的不同像元集。

MPD技术采用半监督学习方法,把原始图像分解成不同的像元,可以是灰度、噪声、亮度、颜色等像元,这样就可以很容易地提取,保存和操作不同的像元,MPD技术的优点是不需要任何理论假设,只要输入输入完整的图像,就可以得到准确的结果。

MPD技术的基本流程是:输入原始图像,通过全局优化算法,得到混合像元,然后使用机器学习模型,学习每个混合像元的结构,最终得到像元分解的结果。

MPD技术的应用非常广泛,可以应用在图像分类和识别、目标检测、图像处理领域,深度学习、自然语言处理等领域。

比如在目标检测任务中,可以使用MPD技术训练的模型来识别目标物体或背景中的特征;在图像处理领域,可以用MPD技术来分离图像中的不同像元,
从而得到更高质量的图像;在深度学习和自然语言处理领域,MPD技术也可以用来提取文本特征和语义信息。

总之,MPD是一种非常有用的技术,可以应用于图像处理、目标检测、深度学习、自然语言处理等领域,可以有效处理复杂的图像信息,提取出单像素或多像素的信息,以及文本特征和语义信息等,为图像分析和处理提供了可靠的基础。

基于GrabCut的改进分割算法

基于GrabCut的改进分割算法

Intelligent Algorithm

•智能算法

基于GrabCut的改进分割算法

!

王茜,何小海,吴晓红,吴小强

滕奇志

(四川大学电子信息学院图像信息研究所,四川成都610065)

摘 要:针对GrabCut

算法对于特征不明显、纹理复杂的图像分割效果不理想,且需要用户交互的问题,提

出一种基于GrabCut的改进分割算法%首先,运用图像增强,对特征不明显的图像进行改善,提高图像质 量&然后,利用YOLOv4网络对图像进行目标检测,获取前景目标所在矩形框位置,从而减少用户操作;其

次,

在高斯混合模型

(GMM)中加入图像像素的位置信息和局部二值模式算子(LBP)

提取的像素纹理特征信

息,优化高斯混合模型参数,改进GrabCut算法,实现图像优化分割;最后

,将分割图像掩膜与原始图像结

合,得到原始图像%实验结果表明,对特征不明显、

纹理信息复杂的图像,

该算法分割效果更优%

关键词:GrabCut

; k

- means

;图像增强

图像分割

中图分类号:TP391.41 文献标识码:A DOI : 10.19358/ j.issn.2096-5133.2021.10.007

引用格式:

王茜,何小海,吴晓红,等.基于

GrabCut的改进分割算法[J],

信息技术与网络安全,

2021,40(10)

:

43-47,52.

An improved segmentation algorithm based

on GrabCut

Wang Qian , He Xiaohai , Wu Xiaohong , Wu Xiaoqiang , Teng Qizhi

(Institute of Image Information, School of Electronics and Information Engineering , Sichuan University ,

Chengdu 610065

, China)

Abstract: To slove the problem that GrabCut does not have satisfactory segmentation effect for images with obscure fea

一种改进的高斯-拉普拉斯金字塔互感器红外图像增强算法

一种改进的高斯-拉普拉斯金字塔互感器红外图像增强算法

一种改进的高斯-拉普拉斯金字塔互感器红外图像增强算法范晓狄;万文略;郑银【期刊名称】《电力科技与环保》【年(卷),期】2024(40)2【摘要】互感器为电力系统中不可或缺的重要设备之一。

然而由于采集到互感器红外图像受到不同的强噪声以及设备特性等因素影响,可能导致互感器无法正常识别,因此,互感器图像的清晰程度尤为重要。

采用不同算法对图像进行灰度化对比试验,根据图像效果,选择加权平均法对互感器红外图像进行灰度化;针对红外图像强噪声、模糊等问题,通过采用均值、高斯、中值以及双边滤波等不同算法对互感器红外图像进行去噪对比实验,比选出峰值信噪比(peak signal to noise ratio,PSNR)值较高的双边滤波作为互感器去噪处理算法,在此基础上,为提高图像对比度,提出了一种改进的高斯-拉普拉斯金字塔图像增强算法,并通过PyCharm实验平台进行直方图、对比度(Contrast)评价指标的对照实验。

实验结果表明:电流互感器Contrast 值为100.6886,比原图像增强算法Contrast值提高了19.9087;电压互感器Contrast值为86.1501,比原图像增强算法Contrast值提高了21.8088,验证了该方法的有效性。

【总页数】9页(P198-206)【作者】范晓狄;万文略;郑银【作者单位】重庆理工大学电气与电子工程学院;贵州电网有限责任公司遵义供电局【正文语种】中文【中图分类】TK011【相关文献】1.一种改进的红外图像增强算法及其在FPGA上的实现2.一种改进的红外图像增强算法3.基于高斯金字塔和拉普拉斯金字塔融合的图像对比度增强算法研究4.基于高斯-拉普拉斯金字塔的DR图像增强改进算法研究5.基于高斯-拉普拉斯滤波的增强局部对比度红外小目标检测算法因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GRAPES四维变分同化系统MPI和OpenMP混合算法研究
摘要:本文阐述了mpi和openmp的编程模式,并在此基础上利
用mpi和openmp混合并行的方式,即:在节点内应用openmp共享
存储、在节点间应用mpi进行消息传递的模式,对我国自行研发的
数值天气预报系统grapes(global/regional assimilation and
prediction syste)进行测试,。结果表明,混合并行算法比原来
的单纯的mpi模式有更加理想的并行效率和加速比。
关键词:混合编程;mpi+openmp
中图分类号:tp301.6 文献标识码:a 文章编号:1007-9599
(2012) 19-0000-02
1 引言
在高性能计算技术研究领域,机群系统具有良好的可扩展性与
高性价比,受到越来越多的大学及科研机构的青睐。随着多核技术
以及现代网络技术的发展,越来越多的集群采用多核处理器作为核
心部件,基于多核技术的集群已经成为高性能计算领域的主流平
台,集群下最常用的并行编程模式的消息传递接口mpi(message
passing interface)被广泛应用与分布式以及共享内存系统,成
为目前并行编程的标准。但在很多情况下,采用单纯mpi消息传递
编程模式并不能取得理想的性能。针对多核机群系统既有分布式存
储又有共享存储的特点,mpi+openmp混合模式更贴近于多核机群的
体系结构,结合消息传递与共享存储两种编程模式的优点,优化节
点内部通信,在节点间应用mpi消息传递、节点内部应用openmp
共享存储则能取得更理想的结果。
2 mpi和openmp编程模式
2.1 mpi编程模式
mpi不是一种编程语言,而是一个消息传递的接口,它以实际可
用的、可移植的、高效的和灵活的特点被广泛用于消息传递的并行
程序。mpi是一个接口库,它支持c语言和fortran语言。
mpi适用于共享和分布式存储的并行计算环境,它的显式并行有
着很好的性能和可移植性,通常用在聚集通信的优化实例中。然而
它也存在着不足:应用的开发、分解、调试都很困难,有时候还要
对代码作大量的修改。为了减少通信开销和延迟,通常使用粗粒度
模型。
在mpi的整个传递过程中,需要指定数据的传递类型,再数据
到达传到目的进程后还需要对数据进行转换和匹配。消息传递的整
个过程如下图所示:
2.2 openmp编程模式
openmp是作为共享存储标准出现的,是为共享存储环境编写并
行程序而设计的一个应用接口。
openmp的工作模式采用的是“fork/join”模式。其并行执行示
意图如下:
程序开始的主线程是串行,当在需要并行的时候(这时候程序
中应该有相应的openmp指令语句),多个线程开始一起工作。若当
前的并行块结束(仍旧由相应的openmp指令语句来控制)时,又
重新回到单一的主线程。这就是共享存储标准的并行模式—
fork/join式并行模式。
2.3 混合编程模式
mpi和openmp编程模式的相结合充分利用了共享存储编程模型
和消息传递编程模式的优点,提供节点内和节点间的两级并行,很
好的映射多处理器计算机组成的集群体系结构。
使用混合编程模式的结构如上图所示,mpi位于顶层而openmp
位于底层。每个mpi进程都可以在#gragma omp parallel编译制
导的区域内产生多线程的并行,而在区域外仍是单线程。首先对问
题进行mpi分解,每个mpi进程被分配到一个节点上,进程间使用
消息传递交换信息;然后在每个mpi进程中,使用openmp制导指
令创建一组线程,并分配到不同处理器上并行执行。
同单纯的mpi模型相比,mpi和openmp混合模型使用快速的共
享内存访问代替节点间的消息传递模式,不仅解决了处理器间的粗
粒度通信,还解决了各个处理器内部的交互,有效的降低通信的开
销。此外,一般情况下随着mpi进程个数增加,并行性能会下降。
而混合模式由于mpi进程数等于节点个数而不是mpi模型中的处理
器的个数,这样在保证解决问题的处理器数量不变的情况下大大减
少了进程数。因此混合模式有更强的可扩展性。
3 混合并行的实现
混合并行是实现时需要注意的:
3.1 对openmp中私有变量private和共享变量shared的设定。
共享变量所有线程都能访问,而私有变量是只有拥有该线程的变量
才能访问。为了提高catch性能,同时避免假共享问题,在实验中
应尽可能采用私有变量。
3.2 在线程执行中使用!$omp barrier制导语句来控制线程的
行为。防止由于负载不均衡导致线程步调不一致出现错误结果。
实验测试的实例为我国自主研发的新一代数值天气预报系统
grapes的有限区域切线模式。它的主要计算过程是一个典型的
helmholtz方程。这里不再对方程求解做过多赘述。实验平台为国
家气象局高性能计算集群ibm-cluster1600,编译器为xlfortran,
编译优化级别为3。在集群上对单纯mpi程序和mpi+openmp混合并
行程序进行测试。为了方便起见,只启动 了1、 2、 4、 6、
8个节点数去运行程序。对于用单纯mpi实现的程序,每个节点上
有两个进程;而对于用mpi+openmp实现的程序,每个节点上创建
一个进程,每个进程内有两个线程。程序在集群上分别测试三次,
取三次测试的平均值来计算加速比和运行效率。在集群的8个节点
上分别运行mpi实现的程序和mpi+openmp实现的程序,当对于用
mpi实现的程序,每个节点为2个进程,一共16个进程并行执行。
当对于用mpi+openmp实现的程序,每个节点1个进程,每个进程
中分配两个线程,一共8个进程,16个线程并行。
设定计算网格为37×31×15,水平格距1.0°,积分步长600
s,积分1600步;
4 结果与分析
这两种计算规模在不同处理器规模下的并行加速比与并行效率
如下:
从以上结果不难发现:使用mpi+openmp混合并行实现的程序的
优势要明显高于单纯用mpi实现的程序。当单纯mpi实现的程序并
行效率下降到90%以下时,使用混合并行方式实现的程序的并行效
率要比单纯用mpi实现的程序高5%到10%。
5 结束语
本文充分利用mpi和openmp各自的特点,在节点间消息传递、
节点内共享存储从而实现mpi+openmp混合并行,并对grapes切线
模式做出尝试,同时与单纯用mpi实现的程序的结果作对比,并得
出了较为明显的结果。这说明这以混合算法在这一领域是可行的、
是有一定意义的。接下来的工作就是继续挖掘并行计算的潜力,使
grapes切线模式的计算效率有进一步提高,争取在原有基础上再提
升10%。
参考文献:
[1]张平,李清宝,赵荣彩.openmp并行程序的编译器优化[j].
计算机工程,2006(24):24-26.
[2]冯云,周淑秋.mpi+openmp混合并行编程模型应用研究[j].
计算机系统应用,2006(2):33-35.
[3]陈勇,陈国良,李春生,何家华.smp机群混合编程模型研究
[j].小型微型计算机系统,2004,25(10).
[4]吴兆明.mpi+openmp混合编程模式研究与效率分析[j].南京
工业职业技术学院学报,2009,9(4).
[5]蔡佳佳,李名世,郑锋.多核微机基于openmp的并行计算[j].
计算机技术与发展,2007,17(10).
[6]孙洪迪,高柱.基于openmp技术的多核处理器程序的开发实
现[j].北京工业职业技术学院学报,2010,09(1).
[7]hybrid programming:combining mpi with openmp
brown ccv parailel programming workshop spring2005
www c“brown edu/events/hybrid -ma05pdf
[8]michoeij quinn parallei programming in c with
mpi and openmp [m]mcgraw—hill higer education
[9]许彦芹,陈庆奎.基于smp集群的mpi+cuda模型的研究与实
现[期刊论文]-计算机工程与设计.2010(15).
[10]于方,郑晓薇,孙晓鹏.基于smp集群的三维网格多粒度混
合并行编程模型[j].计算机应用与软件.2009(3).
[11]张军,万剑怡.多核集群系统上的混合编程模型研究[j].计
算机与现代化.2009(5).
[12]李肯立,杨进,彭成斌,秦云川.基于mpi+openmp混合模
型的并行地震数据处理支撑库的研究[j].计算机工程与科学,2007
(12).
[13]向文,刘青昆,于方,郑晓薇.基于lam-mpi和openmp的
机群编程环境配置与应用[j].大连民族学院学报.
[作者简介]
樊志杰(1985- ),男,河南郑州市中牟县人,硕士,主要研
究领域:grspes四维变分同化系统;赵文涛(1969- ),男,教授,
湖南长沙人,博士生导师,主要研究领域为:grspes四维变分同化
系统,氢氧火箭发动机燃烧理论。

相关文档
最新文档