一种基于CPU-DCU异构架构的LBM并行计算方法技术

技术编号:42496708 阅读:18 留言:0更新日期:2024-08-22 14:07
本发明专利技术公开的一种基于CPU‑DCU异构架构的LBM并行计算方法,涉及算法优化领域,本方法扩展格子玻尔兹曼方法在流体动力学模拟中的流体域范围,实现了基于CPU‑DCU异构集群的格子玻尔兹曼计算方法,可以在集群上进行大规模并行模拟,可以实现大范围、高精度的基于格子玻尔兹曼方法的流体动力学模拟。

【技术实现步骤摘要】

本专利技术涉及算法优化领域,尤其是一种基于cpu-dcu异构架构的lbm并行计算方法。


技术介绍

1、格子玻尔兹曼方法(lattice boltzmann method,以下简称lbm)是计算流体力学领域中一种独特的流体动力学模拟方法。与传统的方法如有限体积法(宏观尺度)和分子动力学模拟(微观尺度)等不同,lbm基于分子动力学理论,专注于在介观尺度上模拟流体流动。

2、lbm通过将流体域离散化为均匀的网格,每个网格点上存储相应的速度分布函数,用于描述该点在不同速度方向上的粒子密度。在每个时间步内,lbm通过迭代执行碰撞和迁移两个主要步骤,从而模拟流体的演化。在碰撞阶段,粒子在每个网格点上发生碰撞,依据碰撞模型调整速度分布函数。在迁移阶段,速度分布函数沿着预定义的速度方向传播到相邻的格点,模拟了粒子在流场中的移动。

3、lbm模型因其简单性和方便进行并行计算而受到广泛认可,在复杂流体模拟中表现出色。相较于传统方法,lbm的优势在于其适用于多尺度模拟,提供了一种灵活而高效的方式来研究包括化学反应、湍流、热传递等在内的复杂流体行为。...

【技术保护点】

1.一种基于CPU-DCU异构架构的LBM并行计算方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,步骤S1具体为:全局网格的大小为(X,Y,Z),则沿着x正方向的前(X mod npx)个进程对应的子网格块在x方向上的网格数量为floor(X/npx)+1个,其他进程对应的网格块在x方向上的网格数量为floor(X/npx)个,沿着y正方向的前(Y mod npy)个进程对应的网格块在y方向上的网格数量为floor(Y/npy)+1个,其他进程对应的网格块在y方向上的网格数量为floor(Y/npy)个,每个进程对应的网格块在z方向上的网格数量为Z...

【技术特征摘要】

1.一种基于cpu-dcu异构架构的lbm并行计算方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,步骤s1具体为:全局网格的大小为(x,y,z),则沿着x正方向的前(x mod npx)个进程对应的子网格块在x方向上的网格数量为floor(x/npx)+1个,其他进程对应的网格块在x方向上的网格数量为floor(x/npx)个,沿着y正方向的前(y mod npy)个进程对应的网格块在y方向上的网格数量为floor(y/npy)+1个,其他进程对应的网格块在y方向上的网格数量为floor(y/npy)个,每个进程对应的网格块在z方向上的网格数量为z个,mod为取余函数。

3.根据权利要求2所述的方法,其特征在于,步骤s4中为cpu端的每个进程分配一个dcu加速器,然后cpu端各进程向对应的dcu端传输子网格数据结构信息具体为:通过hipsetdevice函数为cpu端的每个进程分配一个dcu加速器,然后cpu端各进程通过hipmemcpy函数向对应的dcu端传输子网格数据结构信息。

4.根据权利要求1所述的方法,其特征在于,步骤s5中所述预设赋值规则具体为:将子网格块对应的进程(x,y)的边界层划分为第一边界面、第二边界面、第三边界面和第四边界面,交换层划分成第一数据面,第二数据面、第三数据面及第四数据面,将边界层的四个面的数据向外赋值到交换层的对应位置,交换层数据面之间相交的棱网格数据赋值为对应边界层数据面之间相交的棱网格数据,其中第一边界面及第一数据面为y轴正向面,第二边界面及第二数据面为y轴负向面,第三边界面及第三数据面为x轴负向面,第四边界面及第四数据面为x轴正向面。

5.根据权利要求1所述的方法,其特征在于,步骤s5中计算完成后通过hipmemc...

【专利技术属性】
技术研发人员:朱肖雄李彪张志成
申请(专利权)人:长沙星河云顶科技有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1