The present invention is a high-speed parallel terrain shelter calculation method based on CPU and GPU. The method uses grid digital elevation model and shelter analysis algorithm to analyze the terrain data of the region, thereby calculating the farthest visual distance of the given viewpoint and observation point on this line segment. The hybrid method of common CPU parallel algorithm and CUDA parallel computing framework adopted by the invention solves the problems of insufficient adaptability to environment and low computational efficiency in the process of terrain shelter calculation, realizes support for various application scenarios, and greatly improves the computational efficiency of the algorithm.
【技术实现步骤摘要】
一种基于CPU和GPU混合的高速并行地形遮蔽计算方法
本专利技术属于数据分析领域,涉及一种基于CPU和GPU混合的高速并行地形遮蔽计算方法。
技术介绍
三维场景模拟仿真与地形数据息息相关,而对地形遮蔽的计算能够很好的分析一定范围数据与地形之间的关系,在军事、国土、测绘等方向具有很好的实际意义。传统的地形遮蔽算法的实现过程常使用CPU编程的方法。CPU并行计算最常用的方法是多线程并行运算,通常利用OpenMP对循环进行并行化处理,OpenMP提供了一系列应用程序接口,通过在源代码中加入“pragma”来标明并行化,并通过系统级的抽象降低了并行编码的复杂性。OpenMP以fork-join模型执行。但是CPU编程的方法在大量数据情况下计算效率不高。目前,在大规模的并行计算中,越来越多地应用图形处理器(GPU)进行并行计算。运算平台CUDA(ComputeUnifiedDeviceArchitecture)是一种操作GPU计算的硬件和软件架构,它将GPU视作一个数据并行计算设备,而且无需把这些计算映射到图形API。但在使用GPU进行并行计算的过程中,经常会遇到服务器或者工作站没有显卡或者显卡不支持CUDA的情况。
技术实现思路
本专利技术的目的在于采用普通CPU并行算法和CUDA并行计算框架混合的方法,解决地形遮蔽计算过程中对环境适应能力不足、计算效率低下的问题。为实现上述技术目的,达到上述技术效果,本专利技术通过以下技术方案实现:一种基于CPU和GPU混合的高速并行地形遮蔽计算方法,该方法包括以下步骤:步骤1)建立网格化数字高程模型,以高程矩阵方式来表示地面高程, ...
【技术保护点】
1.一种基于CPU和GPU混合的高速并行地形遮蔽计算方法,其特征在于,该方法包括以下步骤:步骤1)建立网格化数字高程模型,以高程矩阵方式来表示地面高程,根据需要计算的区域和高程的读取范围,将该区域划分成若干网格,对网格进行编码,记录每个网格的高程值,计算网格化的高程矩阵,使得区域内任一位置有对应的网格编码,从而得到该位置的高程值;步骤2)采用遮蔽分析算法对区域的地形数据进行分析,将两点在高程矩阵中的编码拟合成一条直线,通过计算直线与高程网格矩阵的交点,得到视点到观察点的地形剖面,根据点与点之间的夹角判断是否通视,计算出最远通视点;步骤3)高程数据校正,将影响高程数据的地球曲率和大气衰减因素作为校正参数,构建校正公式对高程数据进行校正。
【技术特征摘要】
1.一种基于CPU和GPU混合的高速并行地形遮蔽计算方法,其特征在于,该方法包括以下步骤:步骤1)建立网格化数字高程模型,以高程矩阵方式来表示地面高程,根据需要计算的区域和高程的读取范围,将该区域划分成若干网格,对网格进行编码,记录每个网格的高程值,计算网格化的高程矩阵,使得区域内任一位置有对应的网格编码,从而得到该位置的高程值;步骤2)采用遮蔽分析算法对区域的地形数据进行分析,将两点在高程矩阵中的编码拟合成一条直线,通过计算直线与高程网格矩阵的交点,得到视点到观察点的地形剖面,根据点与点之间的夹角判断是否通视,计算出最远通视点;步骤3)高程数据校正,将影响高程数据的地球曲率和大气衰减因素作为校正参数,构建校正公式对高程数据进行校正。2.根据权利要求1所述的基于CPU和GPU混合的高速并行地形遮蔽计算方法,其特征在于,所述步骤1)中,将需要计算的区域划分成网格m×n,网格编码以起始点的地理坐标为网格的原点(0,0),水平方向为0到n-1,垂直方向为0到m-1。3.根据权利要求2所述的基于CPU和GPU混合的高速并行地形遮蔽计算方法,其特征在于,所述步骤1)中,计算网格化的高程矩阵,包括以下步骤:步骤1.1)根据需要计算的区域的网格大小(m×n),最小点的位置Pmin(lon,lat),其中lon和lat分别表示经度和纬度,最大点的位置Pmax(lon,lat),计算点P(lon,lat)对应的网格编码(x,y),其计算公式如下:单位网格的经纬度分辨率为:R(∆lon,∆lat)=Pmax-Pmin/(n,m);步骤1.2)根据单位网格的经纬度分辨率和起始点的经纬度计算出对应点的网格编码,计算公式如下:(x,y)=(P-Pmin)/R。4.根据权利要求3所...
【专利技术属性】
技术研发人员:王毅,俞信,廉海明,张培,
申请(专利权)人:中国科学院电子学研究所苏州研究院,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。