基于CPU与GPU混合异步并行方式的时域物理光学计算方法技术

技术编号:12707118 阅读:99 留言:0更新日期:2016-01-14 03:45
本发明专利技术公开了一种基于CPU与GPU混合异步并行方式的时域物理光学算法。包括步骤:1:采用3Dmax建模,以三角面元进行剖分,导出模型为OBJ格式。2:用MPI并行方式,取三线程分别同步读取①模型文件的三角面元顶点坐标和顶点数量②模型文件的面元顶点编号和面元数量③入射电场等有用信息。3:采用OpenMP并行加速整个过程。4:向GPU里传输数据如高斯节点数组,三角面元数组等等;GPU加速高斯积分数值运算,得散射场传入CPU中。5:散射场时域经傅里叶变换为频域与入射电场频域相除,得RCS数组。本发明专利技术对电大目标的瞬态散射计算量较大时以此方法将大大节省时间。

【技术实现步骤摘要】

本专利技术属于电磁场数值分析领域,涉及数学数值分析中的高斯积分公式,具体是 一种基于CPU与GPU混合异步并行方式的时域物理光学算法。
技术介绍
超宽带雷达和微波、毫米波雷达的广泛应用,使得对电大尺寸目标宽频带时域特 性的研究受到广泛重视。物理光学近似是分析电大尺寸目标频域电磁特性的高效方法之 一。然而,在时域只有有限的关于瞬态或脉冲激励的物理光学分析见于报道。早期的时域 物理光学近似是先得到目标被时谐源激励的频域响应,然后利用逆傅里叶变换得到所需的 时域数据。直到1994年Sun用傅里叶级数展开得到了真正意义上的TDP0(时域物理光 学)方法。然而对于电大尺寸目标或者超电大尺寸目标,如毫米波雷达工作条件下的目标 (飞机、舰船等),其特征尺寸约数千个波长,在现有普通微机的计算条件下,不但计算时间 长,甚至单台微机根本无法计算。国外如Corradi,Antonio等人在文献《Anenvironment basedonparallel0BJects:P0》文章中到提到基于MPI(信息传递)的po并行,1989年, 南非的EMSS公司在商业软件FEK0里首次实现对P0进行了并行加速,2007年,国内西安电 子科技大学的杨凌霞博士的文章《TDP0及其并行算法在电磁散射中的应用》第一次提出了 基于MPI的TDP0, 2014年西电智能天线实验室史伟强文章《电大复杂目标散射时频域分析 及RCS(雷达散射截面)统计》的提出了基于OpenMP的TDP0。但是,这些并行TDP0都是基 于CPU来实现的,平台单一,为了实现高加速比,常常需高性能工作站甚至PC集群,占用空 间大,而且价格昂贵,仿真硬件成本高,由于CPU众多,编程调试难度增加,急需一种简易高 效的并行编程方式和平台,降低软件开发和硬件仿真的成本。
技术实现思路
本专利技术的目的是克服上述现有技术中存在的问题,提供一种基于CPU和GPU的异 步架构并行方式,具体是用基于CPU的MPI进行文件信息读写和基于CPU的OpenMP并行对 文件进行预处理操作,本专利技术基于GPU的OpenACC指令加速数值计算,编程难度大大降低, 相比多核CPU而言,高性能GPU来实现并行成本更是低廉,节约空间和时间。 本专利技术的技术方案:本专利技术提供了一种基于CPU与GPU混合异步并行方式的时域 物理光学算法,包括以下步骤: 01)对目标建模:用3dmax建模,建立基于三角面元为基本单位的模型,导出以0BJ 格式的模型文件,面元只包含三角面元顶点坐标及面元顶点坐标编号; 02)读取数据:基于MPI并行方式读取模型信息和入射电磁场信息,程序分配三线 程分别同步读取:①模型文件的三角面元顶点坐标以及顶点数量;②模型文件的面元的顶 点编号以及面元数量;③模拟入射电场的时域离散数组、频域离散数组、极化方向以及入射 方向; 03)模型文件预处理:该过程采用基于CPU中央处理器OpenMP来加速计算,对模 型文件进行自遮挡判断,筛选符合条件的三角面元的三个顶点与各自编号,根据三维高斯 积分,将筛选出的单个三角面元变为7个高斯节点:ii为面元编号高斯节点 = 1/3 ·顶点 1 (ii)+l/3 ·顶点 2(ii)+l/3 ·顶点 3(ii) 高斯节点 = 0· 1028 ·顶点l(ii)+0. 1028 ·顶点 2(ii)+0.79372 ·顶点 3(ii) 高斯节点 = 0· 1028 ·顶点l(ii)+0.79372 ·顶点 2(ii)+0. 1028 ·顶点 3(ii) 高斯节点 = 0· 79372 ·顶点l(ii)+0. 1028 ·顶点 2(ii)+0. 1028 ·顶点 3(ii)高斯节点 = 0· 47014 ·顶点l(ii)+0. 47014 ·顶点 2(ii)+0. 05971587 ·顶 点 3(ii)高斯节点 = 0.47014 ·顶点l(ii)+1/3 . 0.05971587 (ii)+0.47014 ·顶点 3(ii)高斯节点 = 0· 05971587 ·顶点l(ii)+0. 47014 ·顶点 2(ii)+0. 47014 ·顶 点 3(ii) 04)数值计算:分为两部分,即传输声明区和数值计算区; 传输:向GPU传入高斯点数组,面片法向量,面片编号,入射电场极化向量,电场入 射方向,入射电场时域离散数组; 数值计算:采用基于GPU的OpenACC指令集加速程序的数值计算区 启x(?)为散射电场,; (F, 〇为入射电场,步为极化矢量,『为入射场极 化,?为面片法向量,f为高斯点,r。为建模的原点到目标距离,C为光速,气:为偏微分符 号,t是时间,ds'是在一个面片的积分,N是面片的总数,k为面片编号,SK为第k个面akl,ak2,ak3,ak4......akn" …·为高斯权值,Xi,X2,X3,……Xn……为高斯节点,由TDPO结合高斯 积分求时域散射场; 05)得到结果:从GPU中得到的散射时域电场,然后傅里叶变换后变为散射频域电 场,与入射电场频域形式相除,根据如下公式进一步算得RCS:Es为步骤4)里求得的散射场,E1为设定的入射场,r为目标与场源的距离。 上述步骤1)中所述对目标建模不含纹理坐标以及编号,不需要贴图,不需要包含 材质模型信息。 上述步骤2)中,MPI分配3个线程,要负载均衡,或者加MPI_Barrier〇函数确保 每个进程运行完任务后结束,将读取文件存入设好的数组中。 上述步骤4)中整个过程中不要加逻辑运算与if判断。 上述步骤5)中,傅里叶变换和RCS计算不需要并行化,只需普通串行。 本专利技术的有益效果:本专利技术提出了一种基于CPU与GPU混合异步并行方式的时域 物理光学算法,分别是基于MPI的消息接口、并行编程基于OpenMP的共享内存式并行编程 和基于OpenACC的应用编程接口,可以大大可节省时间,降低硬件和软件开发编写成本。 本专利技术有如下优点: 1)GPU与CPU并行,硬件空间与传统集群相比所占空间小且高效,降低硬件成本; 2)只是在原有TDP0算法上简单改动,具有可扩展性; 3)与传统相比加速比大大提高,节省时间; 4)OpenACC指令明确,格式简单,上手快。【附图说明】 图1是模型文件图; 图2是模型局部放大图; 图3是二角面兀顶点图; 图4是二角面兀顶点编号图; 图5是算法流程图;图6是金属球的雷达散射面积计算值与理论值对比图。【具体实施方式】 以下将结合附图对本专利技术做进一步详细说明。 本专利技术属于电磁场数值分析领域,涉及数学数值分析中的高斯积分公式,是求 解时域物理光学方程这种无原函数的积分方程的一种易于理解实施的高效算法,结合 MPI(CPU信息传递的并行编程)并行方式加速读取模型文件,入射场信息,结合OpenMP(CPU 共享内存式并行)并行方式加速文件预处理,结合〇penACC(GPU应用编程接口)并行方式 加速数值计算,可用于加速需大量时间的电大目标RCS(雷达散射截面)和实现电大目标实 时RCS(雷达散射截面)预估等方面,本专利技术具体是一种基于CPU(中央处理器)与GPU混 合异步并行方式的(TDP0)时域物理光学算法。 本专利技术提供的这种基于CPU与GPU混合异步并行方式的时域物理光学算法,包括本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/CN105243280.html" title="基于CPU与GPU混合异步并行方式的时域物理光学计算方法原文来自X技术">基于CPU与GPU混合异步并行方式的时域物理光学计算方法</a>

【技术保护点】
基于CPU与GPU混合异步并行方式的时域物理光学算法,其特征在于,包括以下步骤:01)对目标建模:用3dmax建模,建立基于三角面元为基本单位的模型,导出以OBJ格式的模型文件,面元只包含三角面元顶点坐标及面元顶点坐标编号;02)读取数据:基于MPI并行方式读取模型信息和入射电磁场信息,程序分配三线程分别同步读取:①模型文件的三角面元顶点坐标以及顶点数量;②模型文件的面元的顶点编号以及面元数量;③模拟入射电场的时域离散数组、频域离散数组、极化方向以及入射方向;03)模型文件预处理:该过程采用基于CPU中央处理器OpenMP来加速计算,对模型文件进行自遮挡判断,筛选符合条件的三角面元的三个顶点与各自编号,根据三维高斯积分,将筛选出的单个三角面元变为7个高斯节点:ii为面元编号高斯节点[ii,1]=1/3·顶点1(ii)+1/3·顶点2(ii)+1/3·顶点3(ii)高斯节点[ii,2]=0.1028·顶点1(ii)+0.1028·顶点2(ii)+0.79372·顶点3(ii)高斯节点[ii,3]=0.1028·顶点1(ii)+0.79372·顶点2(ii)+0.1028·顶点3(ii)高斯节点[ii,4]=0.79372·顶点1(ii)+0.1028·顶点2(ii)+0.1028·顶点3(ii)高斯节点[ii,5]=0.47014·顶点1(ii)+0.47014·顶点2(ii)+0.05971587·顶点3(ii)高斯节点[ii,6]=0.47014·顶点1(ii)+1/3·0.05971587(ii)+0.47014·顶点3(ii)高斯节点[ii,7]=0.05971587·顶点1(ii)+0.47014·顶点2(ii)+0.47014·顶点3(ii)04)数值计算:分为两部分,即传输声明区和数值计算区;传输:向GPU传入高斯点数组,面片法向量,面片编号,入射电场极化向量,电场入射方向,入射电场时域离散数组;数值计算:采用基于GPU的OpenACC指令集加速程序的数值计算区TDPO:为散射电场,为入射电场,为极化矢量,为入射场极化,为面片法向量,为高斯点,r0为建模的原点到目标距离,C为光速,为偏微分符号,t是时间,ds'是在一个面片的积分,N是面片的总数,k为面片编号,SK为第k个面片;高斯公式:F(x)=∫abf(x)dx≈ak1·f(x1)+ak2·f(x2)+......akn·f(xn)+......]]>ak1,ak2,ak3,ak4......akn......]]>为高斯权值,x1,x2,x3,……xn……为高斯节点,由TDPO结合高斯积分求时域散射场;05)得到结果:从GPU中得到的散射时域电场,然后傅里叶变换后变为散射频域电场,与入射电场频域形式相除,根据如下公式进一步算得RCS:RCS=10log104πr2(ESEI)2]]>ES为步骤4)里求得的散射场,EI为设定的入射场,r为目标与场源的距离。...

【技术特征摘要】

【专利技术属性】
技术研发人员:徐乐赵伟李蕊史小卫
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

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

1