[发明专利]一种针对模板计算的菱形分块并行优化方法有效
申请号: | 202010136404.9 | 申请日: | 2020-03-02 |
公开(公告)号: | CN111381886B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 伍卫国;王倩;刘松;屈彬 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 高博 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 模板 计算 菱形 分块 并行 优化 方法 | ||
本发明公开了一种针对模板计算的菱形分块并行优化方法,定义一个d维空间迭代域计算定义模板,根据模板计算的斜率与菱形分块的宽度和高度选择菱形分块形状以及模板计算运行的计算机系统的Cache大小,确定菱形分块大小,针对模板计算确定菱形分块策略;对得到的菱形分块进行并行调度策略,并在菱形分块的某一未进行菱形分块的维度上采取波阵面并行策略,针对模板计算采取所有菱形分块粗粒度并行策略及菱形分块内部细粒度波阵面并行的策略,完成并行优化。本方法可以使得优化后的模板计算程序相比于模板计算原始程序获得相更好的数据局部性以及更好的程序并行性,从而进一步缩短运行时间。
技术领域
本发明属于计算机程序的局部性与并行性开发技术领域,具体涉及一种针对模板计算的菱形分块并行优化方法。
背景技术
模板计算(Stencil Computations),是根据固定的模板跟新数据的迭代,在图像和视频处理、大规模科学和工程模拟及计算领域都作为计算核心而被关注。常见的模板计算包括计算流体力学中的结构化网格计算(LBM等)、显式和隐式的偏微分方程求解(PDEsolver)、雅可比(Jacobi)和高斯-赛德尔(Gauss-Seidel)方法以及时域有限差分方法(FDTD)等。
随着计算设备的迭代更新,计算设备的计算能力和系统通信带宽之间的这种不平衡构成的“存储墙”问题,目前仍然是提高程序性能的瓶颈问题。模板计算的算数强度(算数强度=计算量/访存量)非常低,更加重了上述“存储墙”问题对程序性能的影响,所以优化模板计算通过改善其数据局部性以及程序并行性两个方面成为了研究热点。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种针对模板计算的菱形分块并行优化方法,能够获得相比原始方法更好的数据局部性以及更好的加速比,加速比为同一个任务在单处理器系统和并行处理器系统中运行消耗的时间的比率。
本发明采用以下技术方案:
一种针对模板计算的菱形分块并行优化方法,包括以下步骤:
S1、定义一个d维空间迭代域计算定义模板,根据模板计算的斜率与菱形分块的宽度和高度选择菱形分块形状以及模板计算运行的计算机系统的Cache大小,确定菱形分块大小,针对模板计算确定菱形分块策略;
S2、对步骤S1得到的菱形分块进行并行调度策略,并在菱形分块的某一未进行菱形分块的维度上采取波阵面并行策略,针对模板计算采取所有菱形分块粗粒度并行策略及菱形分块内部细粒度波阵面并行的策略,完成并行优化。
具体的,步骤S1中,定义模板计算具体为:
定义一个d维空间迭代域为:
Φ={0,...,N1}×...×{0,...,Nd}
其中,Ni表示迭代空间中的任意一个迭代实例,Φ中共有N个迭代实例,每个迭代遵守模板S进行数据的更新,具体为:
S:Φ×{-R,...,+R}d
其中,R表示模板计算的斜率;模板计算的迭代时空域为Φ×{0,...,T},在时空域中共有T×N个迭代实例需要计算,T为总的时间步长。
具体的,步骤S1中,模板计算的斜率R与菱形分块的宽度以及高度的关系如下:
其中,DW为菱形的宽度,DH为菱形的高度。
进一步的,步骤S1中,菱形分块的宽度为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010136404.9/2.html,转载请声明来源钻瓜专利网。