一种基于GPU加速的空间碎片预警方法技术

技术编号:13917633 阅读:70 留言:0更新日期:2016-10-27 15:59
一种基于GPU加速的空间碎片预警方法,步骤如下:(1)在GPU上移植SGP4/SDP4模型,在CPU上初始化SGP4/SDP4模型参数并分配GPU的内存,设置GPU的线程块的数量以及每个线程块的线程数;(2)在CPU上,获取当前预警的空间碎片的TLE数据,并将获取的数据复制到上述分配的GPU内存中;(3)在CPU上初始化零拷贝内存指针,将该指针映射到上述GPU内存上,根据当前预警的空间碎片数量结合GPU的可用最大内存以及线程数,计算空间碎片的批次大小;(4)根据上述批次大小,使用零拷贝技术对空间碎片进行分批,以流水线的方式得到每个碎片在每个时间点的碰撞概率并回传CPU并存储;(5)所有空间碎片处理完成后,释放分配的GPU内存。

【技术实现步骤摘要】

本专利技术涉及一种空间碎片预警方法,更特别地说,是利用英伟达公司的GPU通用计算平台开发一种并行算法进行空间碎片预警计算。
技术介绍
空间碎片预警,即预分析在轨空间碎片与目标航天器位置关系,判断碎片与航天器碰撞的危险程度是进行空间活动的先决条件。然而在短时间内完成常规预警任务需要巨大的计算资源。使用高性能计算设备,开发高性能算法来加速空间碎片预警计算是必然的选择。目前国内外大都选择多台服务器多个计算核心组成计算机集群来做大规模空间碎片碰撞预警计算。中国科学院的杨大陶在其公开的论文《空间碎片预警并行计算系统设计与实现》中公开了一种空间碎片预警算法并完成开发了预警系统的设计开发。该系统使用曙光公司TC2600高性能计算设备,内置八台CB85-F刀片服务器共128个计算核心组成计算机机群对我国航天器进行72小时空间碎片预警计算。其工作包括对空间物体的接近分析和目标筛选(使用几何筛选法和时间筛选法),空间物体的轨道预报(使用SGP4/SDP4模型)和误差计算(全轨道周期误差生产)。该算法较好的解决了短时间内完成空间碎片碰撞预警的问题。但是计算代价巨大,功耗高,效费比低,无法用于大规模普及应用。
技术实现思路
本专利技术的技术解决问题是:在保证计算性能的同时,大幅度降低计算成本,降低计算功耗,提出一种新的基于GPU和SGP4/SDP4模型的空间碎片预警算法。本专利技术的技术解决方案是:一种基于GPU加速的空间碎片预警方法,步骤如下:(1)在GPU上移植SGP4/SDP4模型,在CPU上初始化SGP4/SDP4模型参数并分配GPU的内存,设置GPU的线程块的数量以及每个线程块的线程数;(2)在CPU上,获取当前预警的空间碎片的TLE数据,并将获取的数据复制到上述分配的GPU内存中;(3)在CPU上初始化零拷贝内存指针,将该指针映射到上述GPU内存上,根据当前预警的空间碎片数量结合GPU的可用最大内存以及线程数,计算空间碎片的批次大小;(4)根据上述批次大小,使用零拷贝技术对空间碎片进行分批,以流水线的方式执行如下处理:(4.1)将每个线程块代表一个碎片,每个时间点对应一个线程;(4.2)利用GPU上的SGP4/SDP4模型计算每个碎片每个时间点的轨道参数,进而该碎片在该时间点的碰撞概率;(4.3)将每个碎片在每个时间点的碰撞概率回传CPU并存储;(5)所有空间碎片处理完成后,释放分配的GPU内存。所述步骤(3)中批次大小其中,空间碎片总数为N个,以Δt为时间步长,计算t时间内的所有可能碰撞概率事件;总共开启m个线程块,每个线程块开启n条线程。线程块m的最优范围为512-2048之间且为16的倍数。线程n的最优范围为64-512之间且为64的倍数。对于TLE两行轨道要素数据的处理采用字符串处理的方式,同时利用宏定义的方式减少动态分配内存。本专利技术与现有技术相比有益效果为:(1)本专利技术将传统的SGP4/SDP4轨道预报模型移植到NVIDA的GPU平台,然后使用块分解策略,将所有空间碎片分成多个批次作流处理,利用GPU的零拷贝内存将计算和数据传输操作重叠,从而隐藏内存读取延迟,获得更快的加速比。(2)由于一个GPU的成本远远低于一台服务器的价格,本专利技术与现有开发的算法相比成本可以极大的降低。一个较高性能的GPU如Tesla C2075便可以在五六百s内完成我国所有空间目标(有TLE编目的目标)的空间碎片预警计算,加速比最大可达25倍左右(见图3),完全满足常规预警任务的时效性要求。具有很高的效费比。(3)通过合理设置线程块和每个线程块线程数的小,既可以充分利用GPU上的所有寄存器,避免每个流处理器上的计算资源浪费,也能获得最大的计算效率而不需要把计算空间碎片预警计算中的一部分存到显卡内存而降低执行效率。附图说明图1本专利技术流程图;图2本专利技术块分解策略示意图(x=最优线程数目,y=可用内存);图3为CPU和GPU计算时长对比曲线;图4为本专利技术方法处理实施例的加速比曲线。具体实施方式下面将结合附图和实施例对本专利技术做进一步的详细说明。本专利技术的空间碎片预警算法主要包括两大部分:1)精确轨道预报和考虑误差的碰撞概率计算,2)使用块分解策略设计基于GPU的预警并行算法。步骤一,将SGP4/SDP4模型和概率计算模型移植至GPU;由于在GPU上运行的程序是基于英伟达公司的CUDA平台编写的,现场的算法不能直接应用于GPU并行计算,首先要做的工作是将SGP4/SDP4模型和碰撞概率计算模型移植到GPU平台。其碰撞预警计算算法包括基本分两个部分,包括精确轨道预报和考虑误差的碰撞概率计算。首先通过TLE数据库计算空间碎片与航天器的接近距离、接近时刻和此时各自的位置速度矢量和相对速度。另外,由于轨道预报和数据库本身数据存在误差,因此需要在精确数据计算的基础上,考虑轨道预报误差进行碰撞概率计算。步骤1.1:SGP4/SDP4是由北美防空司令部(North American Aerospace Defense Command,NORAD)开发用于轨道预报的模型,结合美国全球观测网的观测资料生产了全球最大的空间目标编目数据库,并以两行轨道要素(Two-line element,TLE)形式发布。配套使用TLE根数与SGP4/SDP4模型可以获得很好的轨道预报精度。其中SGP4由Ken Cranford于1970年开发,适用于中低轨目标,在大气摄动修正模型中运用含二次方项的密度函数;SDP4为SGP4的外延,由Hujsak于1979年开发,加入了日月引力项和地球引力势函数中的某些扇形和田形谐函数项,专用于深空轨道预报。应用时,首先对卫星轨道根数进行修正: a 1 = ( μ n 0 ) 2 / 3 ]]> δ 1 = 1.5 k 2 a 1 2 × ( 3 cos 2 i 0 - 1 ) ( 1 - e 0 2 ) 本文档来自技高网...

【技术保护点】
一种基于GPU加速的空间碎片预警方法,其特征在于步骤如下:(1)在GPU上移植SGP4/SDP4模型,在CPU上初始化SGP4/SDP4模型参数并分配GPU的内存,设置GPU的线程块的数量以及每个线程块的线程数;(2)在CPU上,获取当前预警的空间碎片的TLE数据,并将获取的数据复制到上述分配的GPU内存中;(3)在CPU上初始化零拷贝内存指针,将该指针映射到上述GPU内存上,根据当前预警的空间碎片数量结合GPU的可用最大内存以及线程数,计算空间碎片的批次大小;(4)根据上述批次大小,使用零拷贝技术对空间碎片进行分批,以流水线的方式执行如下处理:(4.1)将每个线程块代表一个碎片,每个时间点对应一个线程;(4.2)利用GPU上的SGP4/SDP4模型计算每个碎片每个时间点的轨道参数,进而该碎片在该时间点的碰撞概率;(4.3)将每个碎片在每个时间点的碰撞概率回传CPU并存储;(5)所有空间碎片处理完成后,释放分配的GPU内存。

【技术特征摘要】
1.一种基于GPU加速的空间碎片预警方法,其特征在于步骤如下:(1)在GPU上移植SGP4/SDP4模型,在CPU上初始化SGP4/SDP4模型参数并分配GPU的内存,设置GPU的线程块的数量以及每个线程块的线程数;(2)在CPU上,获取当前预警的空间碎片的TLE数据,并将获取的数据复制到上述分配的GPU内存中;(3)在CPU上初始化零拷贝内存指针,将该指针映射到上述GPU内存上,根据当前预警的空间碎片数量结合GPU的可用最大内存以及线程数,计算空间碎片的批次大小;(4)根据上述批次大小,使用零拷贝技术对空间碎片进行分批,以流水线的方式执行如下处理:(4.1)将每个线程块代表一个碎片,每个时间点对应一个线程;(4.2)利用GPU上的SGP4/SDP4模型计算每个碎片每个时间点的轨道参数,进而该碎片在该时间点的碰撞概率;(4.3)...

【专利技术属性】
技术研发人员:徐明林名培胡肖肖何艳超付小宇罗通
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

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

1