【技术实现步骤摘要】
一种针对模板计算的菱形分块并行优化方法
本专利技术属于计算机程序的局部性与并行性开发
,具体涉及一种针对模板计算的菱形分块并行优化方法。
技术介绍
模板计算(StencilComputations),是根据固定的模板跟新数据的迭代,在图像和视频处理、大规模科学和工程模拟及计算领域都作为计算核心而被关注。常见的模板计算包括计算流体力学中的结构化网格计算(LBM等)、显式和隐式的偏微分方程求解(PDEsolver)、雅可比(Jacobi)和高斯-赛德尔(Gauss-Seidel)方法以及时域有限差分方法(FDTD)等。随着计算设备的迭代更新,计算设备的计算能力和系统通信带宽之间的这种不平衡构成的“存储墙”问题,目前仍然是提高程序性能的瓶颈问题。模板计算的算数强度(算数强度=计算量/访存量)非常低,更加重了上述“存储墙”问题对程序性能的影响,所以优化模板计算通过改善其数据局部性以及程序并行性两个方面成为了研究热点。
技术实现思路
本专利技术所要解决的技术问题在于针对上述现有技术中的不足,提供一种针 ...
【技术保护点】
1.一种针对模板计算的菱形分块并行优化方法,其特征在于,包括以下步骤:/nS1、定义一个d维空间迭代域计算定义模板,根据模板计算的斜率与菱形分块的宽度和高度选择菱形分块形状以及模板计算运行的计算机系统的Cache大小,确定菱形分块大小,针对模板计算确定菱形分块策略;/nS2、对步骤S1得到的菱形分块进行并行调度策略,并在菱形分块的某一未进行菱形分块的维度上采取波阵面并行策略,针对模板计算采取所有菱形分块粗粒度并行策略及菱形分块内部细粒度波阵面并行的策略,完成并行优化。/n
【技术特征摘要】
1.一种针对模板计算的菱形分块并行优化方法,其特征在于,包括以下步骤:
S1、定义一个d维空间迭代域计算定义模板,根据模板计算的斜率与菱形分块的宽度和高度选择菱形分块形状以及模板计算运行的计算机系统的Cache大小,确定菱形分块大小,针对模板计算确定菱形分块策略;
S2、对步骤S1得到的菱形分块进行并行调度策略,并在菱形分块的某一未进行菱形分块的维度上采取波阵面并行策略,针对模板计算采取所有菱形分块粗粒度并行策略及菱形分块内部细粒度波阵面并行的策略,完成并行优化。
2.根据权利要求1所述的针对模板计算的菱形分块并行优化方法,其特征在于,步骤S1中,定义模板计算具体为:
定义一个d维空间迭代域为:
Φ={0,...,N1}×...×{0,...,Nd}
其中,Ni表示迭代空间中的任意一个迭代实例,Φ中共有N个迭代实例,每个迭代遵守模板S进行数据的更新,具体为:
S:Φ×{-R,...,+R}d
其中,R表示模板计算的斜率;模板计算的迭代时空域为Φ×{0,...,T},在时空域中共有T×N个迭代实例需要计算,T为总的时间步长。
3.根据权利要求1所述的针对模板计算的菱形分块并行优化方法,其特征在于,步骤S1中,模板计算的斜率R与菱形分块的宽度以及高度的关系如下:
其中,DW为菱形的宽度,DH为菱形的高度。
4.根据权利要求3所述的针对模板计算的菱形分块并行优化方法,其特征在于,步骤S1中,菱形分块的宽度为:
其中,Cache_size经过试验,选择L2Cac...
【专利技术属性】
技术研发人员:伍卫国,王倩,刘松,屈彬,
申请(专利权)人:西安交通大学,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。