发明名称 基于GPU众核平台的脉冲压缩参考矩阵并行生成方法
摘要 本发明公开了一种基于众核平台的脉冲压缩参考矩阵的并行生成方法,该方法通过并行编程,实现了在GPU上的脉冲压缩参考矩阵的并行,将用到的临时自变量都在每个线程块的共享存储器中生成,运算时自变量直接在共享存储器中找而不必到全局存储器去取数据,充分利用内部共享存储器的结构,通过GPU的同步机制,保证所有元素均成功生成之后再将结果回写到CPU内存;本发明所采用的海量计算结合单次通信的策略大大隐藏了通信消耗,提高了程序的并行度,使得运行效率很大的提高,运算时间大大减少。
申请公布号 CN101937555B 申请公布日期 2013.07.31
申请号 CN200910088374.2 申请日期 2009.07.02
申请人 北京理工大学 发明人 姚迪;龙腾;靳星星;刘峰
分类号 G06T1/00(2006.01)I;G06T1/20(2006.01)I;G06T1/60(2006.01)I;G01S13/90(2006.01)I 主分类号 G06T1/00(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 张利萍
主权项 一种基于众核平台的脉冲压缩参考矩阵的并行生成方法,其中脉冲压缩参考矩阵即为合成孔径雷达SAR成像算法中的脉冲压缩参考矩阵;其特征在于:包括以下步骤:第一步:计算存储空间的大小:设脉冲压缩参考矩阵为M行N列,根据脉冲压缩参考矩阵的大小和矩阵元素的数据类型计算存储空间的大小,标识为A;第二步:分别在内存和GPU的全局存储器分配大小为A的一维数组:分别标识为B、C;第三步:数据分割:GPU的组织包括线程网格层、线程块层、线程层,即一个网格包含两个以上线程块,每个线程块包含两个以上运行线程,线程块由线程组织成一维、二维或三维的组织,每个线程块有一个被该线程块内所有运行线程可见的共享存储器;线程块层设置为二维的而且每维的大小一致;线程网格层设置成二维的,大小由脉冲压缩参考矩阵的大小M、N决定;第四步:查阅硬件允许的每个线程块内共享存储器的上限W,计算每个线程块内所需要的临时自变量所占的总的存储空间Q,要求Q<W,否者,多余的临时自变量分配在GPU全局存储器;计算频繁、使用频率高的临时自变量优先分配在共享存储器,然后在每个线程块的共享存储器或GPU全局存储器上分配临时自变量;第五步:输入数据索引:以线程块为单位运算,根据要求得到的矩阵模型和GPU通用编程的内置变量计算出行方向对脉冲压缩参考矩阵的索引以及列方向的索引;所述要求得到的矩阵模型即为脉冲压 缩参考矩阵的矩阵模型;第六步:根据索引和参考函数的物理关系,生成临时自变量;第七步:根据第六步的临时自变量生成对应于每个线程的每个参考矩阵元素相位,然后计算实部与虚部,结果保存在对应元素的存储空间C;第八步:同步所有的线程,所有的线程均运算完毕,将一维数组C拷贝到CPU内存B;第九步:将B每N个数切割一次成为一行并按序组合成一个M行N列的二维数组,此即为时域的脉冲压缩参考矩阵。
地址 100081 北京市海淀区中关村南大街5号