1.一种广域空间铁路线路GPU并行智能搜索方法,其特征在于,包括如下步骤:S1、建立综合地理信息模型并初始化数据;S2、对网格进行层次划分;S3、在GPU中并行化进行网格扫描以更新距离图,寻找可行的线路路径;S4、判断距离图中的距离值是否改变,若改变则回到S3,否则输出最终的距离图数据;所述S3具体包括以下步骤:S3-1、根据扫描控制数组检查当前块是否需要更新距离图数据;S3-2、从全局内存中将每一个块所对应的局部网格数据与局部距离图数据拷贝到块所在的共享内存,且拷贝时将全局索引转换为局部索引;S3-3、在共享内存中建立布尔变量,用于控制S3-4的扫描循环;S3-4、所有线程块不断对其范围内的网格进行遍历扫描,寻找可行的线路路径;S3-5、检测扫描过程中距离图数据是否发生改变,若改变则将共享内存中的局部距离图数据拷贝到全局内存;所述S4包括:S4-1、更新扫描控制数组;在每轮S3步骤结束后,每个线程块的扫描控制数组将被更新;若本轮搜索中块的距离图数据有所改变,则位于同一位置的扫描控制数组值为true,那么在下一轮搜索中将其周围八个相邻块所对应的扫描控制数组值设为true;S4-2、检测本轮扫描的距离值是否有修改,若有所修改,则回到S3,若没有修改,则算法结束;每一个块在进行网格扫描搜索路径时使用到的距离图数据来自于上一轮扫描的距离图数据,通过执行两轮S3的步骤将相邻块中到目标点的最短距离传播到本块中;经过最多max{B r ,B c }+1轮的S3的步骤,各个块的距离图数据均不再改变,此时距离图中存储的即为所有网格点到目标点的最短距离。
2.根据权利要求1所述的一种广域空间铁路线路GPU并行智能搜索方法,其特征在于,所述S1的具体步骤包括:S1-1、建立网格数据的综合地理信息模型数组,所述网格数据包括高程、网格类型、填挖方、桥隧、征地单价以及控制因素信息;S1-2、初始化距离图数组;S1-3、初始化扫描控制数组;S1-4、初始化标记变量;所述综合地理信息模型数组存入GPU全局内存。
3.根据权利要求2所述的一种广域空间铁路线路GPU并行智能搜索方法,其特征在于,距离图数组中的距离图数据包括广义距离值以及当前网格到目标点的最短路径上的下一个网格的相对行偏移量和相对列偏移量。
4.根据权利要求2所述的一种广域空间铁路线路GPU并行智能搜索方法,其特征在于,S2的网格层次划分包括以下步骤:将S1中的网格数据划分为B r ×B c 个块;每一个块再被细分为N×N个线程块;每个线程块专门负责处理M×M大小的一片网格数据;根据已知网格数据的大小、块大小以及线程块大小,通过以下公式来计算网格数据所包含的块数量:式中:B r 表示网格数据划分成的块的总行数,B c 表示网格数据划分成的块的总列数;NRow为网格数据的总行数,NCol为网格数据的总列数;M为线程块中包含的网格数据的总行数或总列数;N为块中包含的线程块的总行数或总列数。
5.根据权利要求4所述的一种广域空间铁路线路GPU并行智能搜索方法,其特征在于,S3-1具体是:建立一个尺寸为B r ×B c 的二维布尔数组作为扫描控制数组,并存储在GPU的全局内存中;该扫描控制数组的作用是指示当前块是否需要进行网格扫描来降低广义距离值,表达式如下:式中:Ctrl(i,j)表示扫描控制数组;扫描控制数组通过标记哪些块需要进一步处理来优化计算过程,当块中的距离图数据有所改变,则该块及其相邻块的Ctrl值会被设置为true,从而触发下一轮的网格扫描并更新距离图。
6.根据权利要求5所述的一种广域空间铁路线路GPU并行智能搜索方法,其特征在于,在S3-4所述网格扫描开始前定义一个只能在本线程块内访问的局部布尔变量,若扫描过程中该线程块修改了局部共享内存中的距离图数据,则将其赋值为true,否则默认为false;S3-5中检测扫描过程中距离图数据是否改变的步骤如下:在扫描结束后,若局部布尔变量为true,则使用CAS操作将全局内存中的标记变量设为true;若标记变量为false,则代表所有块中的所有线程块均没有改变距离图数据。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的广域空间铁路线路GPU并行智能搜索方法。
8.一种电子设备,其特征在于,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行如权利要求1-6任一项所述的广域空间铁路线路GPU并行智能搜索方法。