(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210760820.5
(22)申请日 2022.06.29
(71)申请人 南京大学
地址 210023 江苏省南京市栖霞区仙林大
道163号
(72)发明人 周琛 余治欣 陈振杰 杜皓阳
温伯清 王梓安 邱小倩 李满春
(74)专利代理 机构 南京行高知识产权代理有限
公司 32404
专利代理师 赵洪玉
(51)Int.Cl.
G06T 7/13(2017.01)
G06T 1/20(2006.01)
G06F 9/48(2006.01)
G06F 9/50(2006.01)
(54)发明名称
一种CPU-GP U协同的遥感影像边缘检测并行
计算方法
(57)摘要
本发明涉及一种CPU ‑GPU协同的遥感影像边
缘检测并行计算方法, 属于数据处理技术领域。
该方法执行如下步骤: 步骤1、 并行环境初始化;
步骤2、 CP U主线程初始化 GPU, 并优 化GPU内存; 步
骤3、 由CPU计算端与GPU计算端分别执行计算任
务; 步骤4、 同步CP U与GPU; 步骤5、 更新任 务队列,
若任务队列不为空, 则返回步骤3, 否则退出并行
环境, 终止计算。 本发明通过对任务队列的数据
进行划分 以及GPU与CPU各计算线程双 向任务调
度分配的方式, 优化了CPU与GP U内的线程组织与
调度模式, 实现了CPU与GP U间的负载均衡与高效
并行的兼得。
权利要求书1页 说明书5页 附图3页
CN 115100227 A
2022.09.23
CN 115100227 A
1.一种CPU ‑GPU协同的遥感影 像边缘检测并行计算方法, 其特 征在于执 行如下步骤:
步骤1: 并行环境初始化;
步骤11、 读取源栅格数据, 获取栅格行 数、 列数、 像元深度和像元 数值类型;
步骤12、 设置并行参数, 其中包括GPU计算端的流并行粒度、 GPU线程组织模式和CPU计
算端的CPU计算线程数;
步骤13、 创建有向任务队列, 将所述源栅格数据以所述栅格行数为最小并行粒度进行
分块, 并对首、 尾行进 行锚点标记, 从而 形成若干具有 首锚点标记和尾锚点标记的子任务队
列;
步骤2: CPU 主线程初始化GPU, 并优化GPU内存
步骤3: 由CPU计算端与GPU计算端分别执 行计算任务;
GPU计算端, 由CPU主线程初始化3个GPU流, 按照所述流并行粒度从对应子任务队列的
首锚点标记开始, 向所述子任务队列中部顺次提取数据块, 填入各GPU流中并由GPU执行计
算;
CPU计算端, CPU各计算线程对应子任务队列尾锚点标记开始, 向所述子任务队列中部
遍历提取 数据块, 并根据CPU计算线程数目对数据块进行分块计算;
步骤4: 同步CPU与GPU;
CPU主线程等待各GPU流中的操作执 行完毕, 同时各CPU计算线程向主 线程反馈信息;
步骤5: 更新任务队列, 若任务队列不为空, 则返回步骤3, 否则退出并行环境, 终止计
算。
2.根据权利要求1所述的CPU ‑GPU协同的遥感影像边缘检测并行计算方法, 其特征在
于: 所述GPU计算端与所述CPU计算端中进行的计算均基于Laplace算子的边 缘检测算法。
3.根据权利要求1所述的CPU ‑GPU协同的遥感影像边缘检测并行计算方法, 其特征在
于: 所述在CPU计算端, 将各CPU计算线程与所述有向任务队列的尾锚点标记 依次进行锚定 。
4.根据权利要求1所述的CPU ‑GPU协同的遥感影像边缘检测并行计算方法, 其特征在
于: 在步骤3的各GPU流中对所述数据块的分块过程如下:
1) 将数据块映射 为一维线性序列;
2) 设置GPU流内线程格网的组织模式 (Gird,Block) , Grid代表GPU流内线程格网中包含
的线程块数目, Block代表各线程块包含的线程数 目, 并将GPU流内线程格网中的所有线程
映射为一维线性序列, 各线程都对应唯一编号;
3) 依照线程编号 顺次完成该 数据块的循环分配。权 利 要 求 书 1/1 页
2
CN 115100227 A
2一种CPU‑GPU协同的遥感影像边缘检测并行计算方 法
技术领域
[0001]本发明涉及一种CPU ‑GPU协同的遥感影像边缘检测并行计算方法, 属于数据处理
技术领域。
背景技术
[0002]对地观测技术的日新月异促使多源异构的地理空间数据呈爆炸式增长, 并行计算
技术在大规模、 高密集度地理空间数据分析方面发挥着重要作用。 而随着 高性能计算硬件
架构的不断发展, 如何与时俱进地利用新型并行计算技术, 突破数据密集、 计算密集和通信
密集等问题带来的性能瓶颈成为GIS领域的研究热点。
[0003]栅格邻域分析的计算结果通常仅与焦点栅格及其邻域栅格有关, 具有较小的任务
依赖性与较强的计算独立性, 是众多 学者进行并行效率提升的重点研究对象。 早期以CPU计
算节点执行并行计算, 但随着 需求增加CPU的并行计算能力愈发难以满足对海量地理空间
数据的大规模并行 处理需求。 随着GPU的问世与发展, 其 强大的数值并行计算能力已为遥感
影像边缘检测、 非监督分类、 数字地形分析、 区域时空变化模拟等分析过程带来更加显著的
并行加速效果。 与此同时, 采用CPU ‑GPU异步的并行思想, 高效协同CPU与GPU的计算资源, 进
一步提高栅格邻域分析等具有较强计算独立 性的数值计算速度。
[0004]但是在栅格邻域分析的并行算法中, 需要合理的空间数据划分和任务调度机制来
保证计算资源的高效利用, 即进 行负载均衡处理。 针对栅格数据, 目前最常用的数据划分方
法为一维划分或二 维划分、 等面积分割法、 自然流域分割法。 上述划分方法侧重在数值计算
前对源栅格数据进行预分割, 并分配给各计算节点, 然而实际运行过程中各计算节点的算
力并不一致, 导致不稳定, 且自适应性差。 为此, 还产生了通过实时监控 各节点的算力大小,
动态调整数据划分结果的不规则数据划分方法, 实现了更加精细的负载均衡策略。 但寻找
最佳负载方案过程中的反复通信加大了CPU和GPU各计算节点间的通信竞争, 增大额外开
销, 得不偿失。
发明内容
[0005]本发明要解决的技术问题是: 提供一种实现CPU与GPU间的负载均衡与高效并行兼
得的遥感影 像边缘检测并行计算方法。
[0006]为了解决上述技术问题, 本 发明提出的技术方案是: 一种CPU ‑GPU协同的遥感影像
边缘检测并行计算方法, 执 行如下步骤:
[0007]步骤1, 并行环境初始化;
[0008]步骤11, 读取源栅格数据, 获取栅格行 数、 列数、 像元深度和像元 数值类型;
[0009]步骤12, 设置并行参数, 其中包括GPU计算端的流并行粒度、 GPU线程组织模式和
CPU计算端的CPU计算线程数;
[0010]步骤13, 创建有向任务队列, 将所述源栅格数据以所述栅格行数为最小并行粒度
进行分块, 并对首、 尾行进 行锚点标记, 从而形成若干具有 首锚点标记和尾锚点标记的子任说 明 书 1/5 页
3
CN 115100227 A
3
专利 一种CPU-GPU协同的遥感影像边缘检测并行计算方法
文档预览
中文文档
10 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 13:25:35上传分享