CN101937555A - 基于gpu众核平台的脉冲压缩参考矩阵并行生成方法 - Google Patents
基于gpu众核平台的脉冲压缩参考矩阵并行生成方法 Download PDFInfo
- Publication number
- CN101937555A CN101937555A CN2009100883742A CN200910088374A CN101937555A CN 101937555 A CN101937555 A CN 101937555A CN 2009100883742 A CN2009100883742 A CN 2009100883742A CN 200910088374 A CN200910088374 A CN 200910088374A CN 101937555 A CN101937555 A CN 101937555A
- Authority
- CN
- China
- Prior art keywords
- matrix
- gpu
- dimension
- thread block
- pulse compression
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Image Processing (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
本发明公开了一种基于众核平台的脉冲压缩参考矩阵的并行生成方法,该方法通过并行编程,实现了在GPU上的脉冲压缩参考矩阵的并行,将用到的临时自变量都在每个线程块的共享存储器中生成,运算时自变量直接在共享存储器中找而不必到全局存储器去取数据,充分利用内部共享存储器的结构,通过GPU的同步机制,保证所有元素均成功生成之后再将结果回写到CPU内存;本发明所采用的海量计算结合单次通信的策略大大隐藏了通信消耗,提高了程序的并行度,使得运行效率很大的提高,运算时间大大减少。
Description
技术领域
本发明涉及一种基于GPU众核平台的脉冲压缩参考矩阵的并行生成方法以及在工程实践中的应用。
背景技术
合成孔径雷达是一种二维微波遥感成像雷达,这种雷达具有远距离全天候高分辨率成像、自动识别目标和先进的数字处理能力等特点,而其中的高分辨率一方面是方位向的合成孔径技术的结果,另一方面是距离向的脉冲压缩的结果,可见脉冲压缩技术的成熟程度和精确程度在很大程度上影响着SAR最终成像的质量。在脉冲压缩技术中,脉冲压缩参考矩阵的生成是重要的一步而且往往占用SAR成像算法的很大一部分的时间,因此,对参考矩阵的生成的优化就很有价值。目前,参考矩阵的生成均是采用二重循环的办法,在CPU上串行生成,但是CPU的集成度比较低,算法并行度较差,运行效率比较低,而GPGPU是一种处理密集型数据和并行数据的可以内含成百上千个处理核心的处理器,因此更适合于大规模并行计算。但是,目前并没有在数百个处理核心上同时并行处理完成脉冲压缩参考矩阵的生成。
发明内容
本专利要解决的问题就是提供一种基于众核平台的脉冲压缩参考矩阵的并行生成方法,能够在包含成百上千个处理核心的GPGPU上并行、高效的实现脉冲压缩参考矩阵的生成并在各种工程实践中加以应用,从而提高了运算效率和运算的精度。
该基于众核平台的脉冲压缩参考矩阵的并行生成方法包括以下步骤:
第一步:计算存储空间的大小:设参考矩阵是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列的二维数组,此即为时域的脉冲压缩参考矩阵。
通过以上步骤就实现了基于GPU众核平台的脉冲压缩参考矩阵的并行生成。
本发明的有益效果:
1、通过并行编程,实现了在GPU上的脉冲压缩参考矩阵的并行实现,提高了程序的并行度,使得运行效率很大的提高,运算时间大大减少;
2、在实现过程中,我把需要用到的临时自变量都在每个块block的shared memory中生成,这样运算时自变量直接在共享存储器中找而不必到显存去取数据,这种充分利用内部共享存储器的结构大大提高了程序的运行效率;
3、先通过GPU的同步机制,保证所有元素均成功生成之后再将结果回写到CPU内存,这种海量计算结合单次通信的策略大大隐藏了通信消耗。
附图说明
图1为本发明的流程图。
具体实施方式
以在SAR系统中4096×4096点目标成像的方位向脉冲压缩参考矩阵的生成为例,GPU平台是NVIDIA的GPU,型号quadro fx 5600,本专利的实现主要包括以下流程:
1.先将要用到的字符串常量写成头文件,标识为RefMatrixConst.h,并将该文件包含在主程序中;
2.计算存储空间的大小:在本系统应用中,矩阵元素的数据类型为浮点数,那么GPU生成的一维数组所占存储空间为:mem_size=sizeof(float)*4096*4096=67108864b ytes;
3.分别在CPU内存和GPU全局存储器分配mem_size大小的一维数组:CPU实部RefMatrix_Re_h[16777216],CPU虚部RefMatrix_Im_h[16777216],GPU实部RefMatrix_Re_d[16777216],GPU虚部RefMatrix_Im_d[16777216];
4.数据分割:先考虑线程块层,quadro_fx_5600允许的线程块内含的线程不可以超过512,为了方便处理,我们设置为二维的而且每维的大小一致即每个线程块包含16×16个线程;考虑网格层,为方便处理,我们也设置成二维的,但是大小由原矩阵的大小决定:沿行的方向gridx=4096/16=256,沿列的方向gridy=4096/16=256;
5.Quadro_FX_5600允许的每个线程块内共享存储器的上限为16384bytes,而每个线程块内所需要的临时自变量包括:
_shared_double Rr_D[16];
_shared_double ChirpSlope_Azimuth_D[16];
shared_double_AzimuthTime_D[16];
_shared_double AzimuthReArg_D[16][16];
以上自变量依次是:距离向距离数组、方位向调频率、方位向时间、方位向参考相位矩阵,那么所占存储空间为:sizeof(double)*(16*3+16*16)=2432bytes<16384bytes,因此所有临时自变量均分配在共享存储器;
6.输入数据索引:以线程块为单位运算,首先根据要生成的矩阵的模型和GPU通用编程的内置变量blockIdx.x和threadIdx.x计算出行方向的索引:xIndex=blockIdx.x*16+threadIdx.x,同理计算出列方向的索引:yIndex=blockIdx.y*16+threadIdx.y;
7.先生成临时自变量距离向距离数组、方位向调频率、方位向时间;
8.由以上准备好的临时自变量生成对应于每个线程的每个参考矩阵元素相位,然后将该相位的余弦和正弦分别对应输出到全局存储器上的一维的实部数组和虚部数组;
9.采用GPU内部函数_syncthreads()来进行同步,然后将GPU运算得到的实部和虚部拷贝到CPU内存RefMatrix_Re_h和RefMatrix_Im_h;
10.将RefMatrix_Re_h和RefMatrix_Im_h每4096个数切割一次成为一行并按序组合成一个4096行4096列的二维数组,此即为时域的脉冲压缩参考矩阵。
通过以上十步就实现了在GPU上对SAR成像系统中脉冲压缩方位向参考矩阵的并行生成。在本方法中,为充分利用GPU的数百的处理核心,对数据进行了三个层次的分割,同时采用了单词通信海量运算的模式来最大程度的提高运行效率,还有就是充分利用了GPU的高效内部存储器:共享存储器,从而进一步减少了运行时间,总之,通过以上三个策略,最终完成了对参考矩阵的高效、并行生成。
Claims (3)
1.基于众核平台的脉冲压缩参考矩阵的并行生成方法,其特征在于:包括以下步骤:
第一步:计算存储空间的大小:设参考矩阵是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列的二维数组,此即为时域的脉冲压缩参考矩阵。
通过以上步骤就实现了基于GPU众核平台的脉冲压缩参考矩阵的并行生成。
2.根据权利要求1所述的一种基于众核平台的脉冲压缩参考矩阵的并行生成方法,其特征在于:线程块层设置为二维或二维以上,而且每维的大小一致。
3.根据权利要求1所述的一种基于众核平台的脉冲压缩参考矩阵的并行生成方法,其特征在于:线程网格层设置成二维或二维以上,大小由原矩阵的大小M、N决定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910088374 CN101937555B (zh) | 2009-07-02 | 2009-07-02 | 基于gpu众核平台的脉冲压缩参考矩阵并行生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910088374 CN101937555B (zh) | 2009-07-02 | 2009-07-02 | 基于gpu众核平台的脉冲压缩参考矩阵并行生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101937555A true CN101937555A (zh) | 2011-01-05 |
CN101937555B CN101937555B (zh) | 2013-07-31 |
Family
ID=43390870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910088374 Expired - Fee Related CN101937555B (zh) | 2009-07-02 | 2009-07-02 | 基于gpu众核平台的脉冲压缩参考矩阵并行生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101937555B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102901951A (zh) * | 2011-07-26 | 2013-01-30 | 张朝晖 | 基于gpu的雷达信号脉内特征实时分析实现方案 |
CN103207387A (zh) * | 2013-03-26 | 2013-07-17 | 北京理工雷科电子信息技术有限公司 | 一种机载相控阵pd雷达杂波的快速模拟方法 |
CN103427844A (zh) * | 2013-07-26 | 2013-12-04 | 华中科技大学 | 一种基于gpu和cpu混合平台的高速无损数据压缩方法 |
CN103761215A (zh) * | 2014-01-15 | 2014-04-30 | 北京新松佳和电子系统股份有限公司 | 基于图形处理器的矩阵转置优化方法 |
CN104181510A (zh) * | 2014-09-05 | 2014-12-03 | 电子科技大学 | 一种并行雷达脉冲压缩方法 |
CN104849698A (zh) * | 2015-05-21 | 2015-08-19 | 中国人民解放军海军工程大学 | 一种基于异构多核系统的雷达信号并行处理方法及系统 |
CN105137402A (zh) * | 2015-08-19 | 2015-12-09 | 电子科技大学 | 一种基于gpu的机载前视扫描雷达并行处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1877360A (zh) * | 2005-06-10 | 2006-12-13 | 中国科学院电子学研究所 | 一种合成孔径雷达实时成像处理转置存储器 |
US20090027417A1 (en) * | 2007-07-24 | 2009-01-29 | Horsfall Joseph B | Method and apparatus for registration and overlay of sensor imagery onto synthetic terrain |
CN101441271A (zh) * | 2008-12-05 | 2009-05-27 | 航天恒星科技有限公司 | 基于gpu的sar实时成像处理设备 |
-
2009
- 2009-07-02 CN CN 200910088374 patent/CN101937555B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1877360A (zh) * | 2005-06-10 | 2006-12-13 | 中国科学院电子学研究所 | 一种合成孔径雷达实时成像处理转置存储器 |
US20090027417A1 (en) * | 2007-07-24 | 2009-01-29 | Horsfall Joseph B | Method and apparatus for registration and overlay of sensor imagery onto synthetic terrain |
CN101441271A (zh) * | 2008-12-05 | 2009-05-27 | 航天恒星科技有限公司 | 基于gpu的sar实时成像处理设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102901951A (zh) * | 2011-07-26 | 2013-01-30 | 张朝晖 | 基于gpu的雷达信号脉内特征实时分析实现方案 |
CN103207387A (zh) * | 2013-03-26 | 2013-07-17 | 北京理工雷科电子信息技术有限公司 | 一种机载相控阵pd雷达杂波的快速模拟方法 |
CN103427844A (zh) * | 2013-07-26 | 2013-12-04 | 华中科技大学 | 一种基于gpu和cpu混合平台的高速无损数据压缩方法 |
CN103427844B (zh) * | 2013-07-26 | 2016-03-02 | 华中科技大学 | 一种基于gpu和cpu混合平台的高速无损数据压缩方法 |
CN103761215A (zh) * | 2014-01-15 | 2014-04-30 | 北京新松佳和电子系统股份有限公司 | 基于图形处理器的矩阵转置优化方法 |
CN103761215B (zh) * | 2014-01-15 | 2016-08-24 | 北京新松佳和电子系统股份有限公司 | 基于图形处理器的矩阵转置优化方法 |
CN104181510A (zh) * | 2014-09-05 | 2014-12-03 | 电子科技大学 | 一种并行雷达脉冲压缩方法 |
CN104849698A (zh) * | 2015-05-21 | 2015-08-19 | 中国人民解放军海军工程大学 | 一种基于异构多核系统的雷达信号并行处理方法及系统 |
CN104849698B (zh) * | 2015-05-21 | 2017-04-05 | 中国人民解放军海军工程大学 | 一种基于异构多核系统的雷达信号并行处理方法及系统 |
CN105137402A (zh) * | 2015-08-19 | 2015-12-09 | 电子科技大学 | 一种基于gpu的机载前视扫描雷达并行处理方法 |
CN105137402B (zh) * | 2015-08-19 | 2017-05-10 | 电子科技大学 | 一种基于gpu的机载前视扫描雷达并行处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101937555B (zh) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101937555B (zh) | 基于gpu众核平台的脉冲压缩参考矩阵并行生成方法 | |
CN104657436B (zh) | 基于MapReduce的静态瓦片金字塔并行构建方法 | |
Barnes Jr et al. | Warp speed: executing time warp on 1,966,080 cores | |
CN101937425B (zh) | 基于gpu众核平台的矩阵并行转置方法 | |
DE102021120605A1 (de) | Effiziente softmax-berechnung | |
DE112021002830T5 (de) | Erzeugung von bildern von virtuellen umgebungen unter verwendung eines oder mehrerer neuronaler netzwerke | |
CN101283913B (zh) | Ct图像重建的gpu加速方法 | |
WO2018212826A1 (en) | A parallelized pipeline for vector graphics and image processing | |
CN109859107A (zh) | 遥感图像超分辨率方法、装置、设备及可读存储介质 | |
Usher et al. | Interactive visualization of terascale data in the browser: Fact or fiction? | |
CN106484532B (zh) | 面向sph流体模拟的gpgpu并行计算方法 | |
Zheng et al. | Cache-aware GPU memory scheduling scheme for CT back-projection | |
Liu et al. | Parallel reconstruction of neighbor-joining trees for large multiple sequence alignments using CUDA | |
CN109451322A (zh) | 用于图像压缩的基于cuda架构的dct算法和dwt算法的加速实现方法 | |
Zhang et al. | A GPU-based parallel slicer for 3D printing | |
Ma et al. | Parallel visualization of large-scale aerodynamics calculations: A case study on the cray t3e | |
Xie et al. | Visualizing large 3D geodesic grid data with massively distributed GPUs | |
Zhou et al. | A Parallel Scheme for Large‐scale Polygon Rasterization on CUDA‐enabled GPUs | |
Patidar et al. | Scalable split and gather primitives for the gpu | |
CN104992425A (zh) | 一种基于gpu加速的dem超分辨率方法 | |
CN107679126A (zh) | 激光三维点云数据存储和管理方法及其系统 | |
US10217269B1 (en) | Compressive sensing of light transport matrix | |
Yao et al. | A parallel volume rendering method for massive data | |
Solano-Quinde et al. | Multi-GPU implementation of the Horizontal Diffusion method of the Weather Research and Forecast Model | |
Zhang et al. | GPU-accelerated parallel algorithms for map algebra |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130731 Termination date: 20160702 |