[发明专利]一种利用时间局部性的格子玻尔兹曼方法并行加速方法有效
申请号: | 201711297745.9 | 申请日: | 2017-12-08 |
公开(公告)号: | CN108038304B | 公开(公告)日: | 2020-08-18 |
发明(设计)人: | 伍卫国;刘松;邹年俊;崔元桢;谢骁;屈彬 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F30/28 | 分类号: | G06F30/28;G06F119/14;G06F113/08 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 徐文权 |
地址: | 710049 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 时间 局部性 格子 玻尔兹曼 方法 并行 加速 | ||
本发明提供了一种利用时间局部性的格子玻尔兹曼方法并行加速方法,包括步骤:1)将单时间迭代步内的三个空间维的DOALL循环融合成一个DOACROSS循环;2)对融合后的DOACROSS循环执行循环偏斜,消除与时间维相关的负依赖,形成融合时间维的DOACROSS循环;3)使用循环分块技术,对融合时间维的DOACROSS循环执行循环分块,形成分块大小为a×a×t的多个分块;4)对分块实现波阵面并行。该方法可以显著提高格子玻尔兹曼方法的计算速度。
技术领域
本发明属于计算机技术领域,特别涉及一种利用时间局部性的格子玻尔兹曼方法并行加速方法。
背景技术
格子玻尔兹曼方法(LBM)是一种应用于计算流体动力学的数值仿真方法。它基于量子统计力学的理论,将流体看做大量有质量无体积的微粒,可以通过统计这些微粒的碰撞规律来描述流体的真实流动。格子玻尔兹曼方法主要由格子(离散速度模型)、平衡态分布函数、分布函数的演化方程组成,采用不同的格子、平衡态分布函数以及演化方程,一般便能解决各式各样的流体问题。
LBGK模型是一种针对普通湍流问题求解的经典单松弛模型,采用D2Q9格子的LBGK模型经常用于格子玻尔兹曼方法的加速研究。采用D2Q9格子的LBM,每个微粒要和二维空间上相邻的8个微粒进行碰撞和速度交换,演化过程可分为碰撞(collision)和流动(streaming)两步,再加上宏观物理量的更新这一步,从执行角度来看,单时间迭代步内一共具有三个多维嵌套循环,每个多维嵌套循环分别构成一个单独的循环域。
格子玻尔兹曼方法具有显式并行的特点,单时间迭代步计算过程中三个多维嵌套循环均各自满足DOALL循环的特征。DOALL循环是指不携带跨迭代依赖的循环(所有的迭代都可以与其他迭代进行完全并行,具有数据无关性),因此这些循环可以采取并行计算。由于格子玻尔兹曼方法适合在大规模计算集群上实现并行计算,因此广泛应用于多种场景的计算流体动力学相关模拟仿真。虽然在DOALL循环上直接进行简单并行就能够很大程度地提升计算速度,但是原始的格子玻尔兹曼方法仍然具有诸多优化的途径,能够进一步提高计算速度。
多年来计算机CPU速度的高速增长和内存速度的缓慢增长使得CPU与内存之间的速度差距越来越大,导致了内存数据访问成为性能瓶颈。现代计算机引入多级cache的存储层次来降低内存访问的性能瓶颈,cache的层次越高越接近CPU,CPU对其的访问速度就越快。Cache优化利用数据局部性原理为程序的高速运行提供了有效的支持,将访问次数较多的较小工作集放入高层次cache(私有L1/L2cache),以减少cache失效,保持计算性能。重用距离是度量cache局部性的一个指标,其意义是串行程序运行时连续两次访问同一数据变量之间所访问的不同数据变量的数目,重用距离越大,该数据变量的局部性越差。数据依赖是程序执行数据流所产生的执行次序约束,在动作B发生之前,动作A必须先发生,称为B依赖于A。对于一个二维循环而言,若迭代实例(i0,j0)中语句S1依赖于迭代实例(i1,j1)中语句S2,则定义依赖距离向量为(i0-i1,j0-j1)。合法的依赖距离向量的值必须按词典序大于0。循环变换技术是指在不破坏程序正确执行结果的条件下,改变原始循环的执行次序的一种程序优化技术,是循环偏斜、循环融合、循环分块等一系列技术的合称。循环偏斜是指通过内层循环相对于外层循环的偏斜,来消除某些阻止其他循环变换的依赖条件,循环偏斜并不能改变循环的执行次序,对局部性也没有任何增强。循环融合是将两个及以上的循环合并为一个循环,用以增强循环体大小,增强局部性,消除某些阻止其他循环变换的状态。循环分块是将原始的迭代空间进行划分,使工作集减小,从而增强局部性,减少cache失效。同时,程序的并行化为了增大并行粒度也需要将循环进行分块。循环分块要求循环交换后的新循环所携带的依赖距离向量必须保持词典序为正。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711297745.9/2.html,转载请声明来源钻瓜专利网。