[发明专利]基于CUDA的巨型星座覆盖性能并行计算方法有效
申请号: | 202210227313.5 | 申请日: | 2022-03-08 |
公开(公告)号: | CN114580181B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 高朝阳;侯锡云;胡松华;谷晓松;谭盼 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F30/20 | 分类号: | G06F30/20;G06F17/10 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 王安琪 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 cuda 巨型 星座 覆盖 性能 并行 计算方法 | ||
1.基于CUDA的巨型星座覆盖性能并行计算方法,其特征在于,包括如下步骤:
(1)设置星座的初始参数;
(2)设置覆盖性能计算条件;
(3)根据星座的初始参数在GPU中为星历数据预分配内存;
(4)根据星座的初始参数和覆盖性能计算条件在GPU中为覆盖计算中间变量以及最终计算结果预分配内存;
(5)对星座进行轨道预报;
(6)坐标转换,将卫星星历从地心天球坐标系转到地固系;
(7)将星历数据从CPU拷贝到GPU;
(8)按照给定的覆盖性能计算条件,在GPU中进行覆盖性能计算;具体包括如下步骤:
(a)二维线程块的维度为BLOCK_SIZE×BLOCK_SIZE,BLOCK_SIZE=16,为核函数1分配线程,二维线程网格的X轴和Y轴方向的维度分别为(N_lat*N_t+BLOCK_SIZE-1)/BLOCK_SIZE和(N_lon*N_sat+BLOCK_SIZE-1)/BLOCK_SIZE;运行核函数1,按照步骤(2)中的可见性条件计算星座中所有卫星,所有时刻,所有网格点的覆盖结果;
(b)为核函数2分配线程,二维线程网格的X轴和Y轴方向的维度分别为(N_lat+BLOCK_SIZE-1)/BLOCK_SIZE和(N_lon*N_sat+BLOCK_SIZE-1)/BLOCK_SIZE;运行核函数2,对步骤(a)得到的覆盖计算结果进行归约,得到星座整体、所有时刻的覆盖结果;
(c)为核函数3分配线程,二维线程网格的X轴和Y轴方向的维度分别为(N_lat+BLOCK_SIZE-1)/BLOCK_SIZE和(N_lon+BLOCK_SIZE-1)/BLOCK_SIZE;运行核函数3,对步骤(b)得到的覆盖计算结果进一步归约,得到星座整体的平均覆盖性能;
(9)将计算结果从GPU拷贝到CPU输出。
2.如权利要求1所述的基于CUDA的巨型星座覆盖性能并行计算方法,其特征在于,步骤(1)中,星座的初始参数包括星座的初始历元,星座中的各个卫星的初始轨道根数,仿真时长以及仿真的时间间隔;将轨道根数转为位置速度,按照设置的仿真时长以及仿真的时间间隔,共N_t个时刻。
3.如权利要求1所述的基于CUDA的巨型星座覆盖性能并行计算方法,其特征在于,步骤(2)中,设定覆盖性能计算条件,即计算覆盖性的时间和空间分辨率需求,对地定向天线的波束角2β0、以及地面观测的截止仰角h0;卫星对地面站的可覆盖性条件1为:地面站对航天器的可见条件2为:若航天器和地面站之间的链路仅为单向链路,则仅需满足条件1或条件2即可;若航天器和地面站之间的链路为双向链路,则需要两个条件均须满足。
4.如权利要求1所述的基于CUDA的巨型星座覆盖性能并行计算方法,其特征在于,步骤(3)中,根据星座的初始参数在GPU中为星历数据预分配内存,星座中包含的卫星颗数N_sat,以及星历共N_t个时刻,通过cudaMalloc()函数在GPU中为即将导入的星历数据预分配内存,大小为4*N_sat*N_t*sizeof(double)。
5.如权利要求1所述的基于CUDA的巨型星座覆盖性能并行计算方法,其特征在于,步骤(4)中,根据星座的初始参数和覆盖性能计算条件在GPU中为覆盖计算中间变量以及最终计算结果预分配内存,将地球表面在经度和纬度方向上根据覆盖计算分辨率需求网格化,在GPU中为覆盖计算中间过程数据以及覆盖计算最终结果预分配内存,星座中共N_sat颗星,每颗星的星历共N_t个时刻,经度和维度方向共划分为N_lon和N_lat个网格点;通过cudaMalloc()函数在GPU显存中为星座中所有卫星,所有时刻,所有网格点的覆盖计算结果分配内存,大小为N_lat*N_t*N_sat*N_lon*sizeof(int);通过cudaMalloc()函数在GPU显存中为星座覆盖计算结果中间过程分配内存,大小为N_lat*N_t*N_lon*sizeof(int),通过cudaMalloc()函数在GPU显存中为星座覆盖计算最终结果分配内存,大小为N_lat*N_lon*sizeof(double)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210227313.5/1.html,转载请声明来源钻瓜专利网。