System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于计算机,具体涉及一种基于dcu加速器的并行浸没边界方法及装置。
技术介绍
1、多相流模拟问题是计算流体力学的一个分支,用于描述同种或异种化学成分物质的流体流动过程,近年来,多相流模拟发展迅速,浸没边界法是处理多相流模拟的有效方法之一。
2、当前处理多相流模拟多是采用cpu(central processing unit,中央处理器)进行处理,而随着多相流模拟的几何形状复杂度和计算规模的增加,对于大规模的多相流模拟,采用cpu处理已不能满足工程上对计算效率的要求,大部分复杂湍流模拟的问题甚至无法在串行计算机上解决,因而需要大规模并行计算平台的支持,目前我国的超级计算机发展迅速,计算能力持续发展提高,异构并行架构是当前构建超大规模高性能计算机系统的重要途径,超级计算机为计算流体力学的并行实现提供了硬件支持。异构并行架构常见的是cpu+dcu(deep computing unit,深度计算器)的异构体系结构,dcu也即dcu加速器是一种类gpu(graphics processing unit)设备,但是现有的浸没边界方法并未应用在dcu加速器中,导致大规模的多相流模拟未能加持更优秀的硬件设备,处理效率较低。
3、因此,如何提高大规模多相流模拟的处理速度,是本领域技术人员有待解决的技术问题。
技术实现思路
1、本专利技术的目的是为了解决现有技术中大规模多相流模拟的处理速度较低的技术问题。
2、为实现上述技术目的,一方面,本专利技术提供了
3、初始化流场计算域,并根据初始化参数确定出所述流场计算域中所有网格对应的节点的压力泊松方程;
4、将所述压力泊松方程传输至dcu加速器内的共享内存数组空间中,并通过所述dcu加速器中的线程块根据多重网格算法或者共轭梯度算法将所述压力泊松方程求解,得到下一时刻的压力值;
5、将所述下一时刻的压力值传输至主机端,以使通过主机端根据所述下一时刻的压力值对所述浸没边界点的位置进行更新。
6、进一步地,所述将所述压力泊松方程传输至dcu加速器内的共享内存数组空间中,具体包括:
7、通过预设函数为每个线程块分配共享内存数组空间;
8、将所述压力泊松方程转移至所述共享内存数组空间中。
9、进一步地,多重网格算法中的循环为v循环,循环过程为先从当前密度网格迭代到密度最稀网格,然后再从所述密度最稀网格迭代至当前密度网格,所述通过所述dcu加速器中的线程块根据多重网格算法将所述压力泊松方程求解,具体包括:
10、在从当前密度网格迭代到密度最稀网格时,将当前执行网格上依次执行平滑操作、残差计算和插值操作,在从所述密度最稀网格迭代至当前密度网格时,将当前执行网格得到的解插值到下一级执行网格中,并在下一级执行网格上依次执行平滑操作和修正;
11、当迭代次数达到预设要求次数或误差小于预设误差值时,结束所述v循环,并输出所述压力泊松方程的解。
12、进一步地,所述dcu加速器中的线程块根据共轭梯度算法将所述压力泊松方程求解,具体包括:
13、将所述压力泊松方程转换为预设格式的待解方程;
14、设置初始解并计算初始残差后确定搜索步长;
15、基于初始解、初始残差和搜索步长在共轭方向上更新解,并基于更新后解对初始残差进行更新得到更新后残差;
16、若所述更新后残差满足收敛准则,则输出所述压力泊松方程的解;
17、若所述更新后残差不满足收敛准则,则更新方向向量后继续确定更新后搜索步长,直至更新后残差满足收敛准则。
18、进一步地,所述在从当前密度网格迭代到密度最稀网格时,当前执行网络中执行到残差计算后,还包括计算限制算子,以使将当前执行网格中的残差压缩在下一级执行网格中。
19、进一步地,所述在从所述密度最稀网格迭代至当前密度网格时,将当前执行网格得到的解插值到下一级执行网格中,具体包括计算出延拓算子,以使通过延拓算子将当前执行网格得到的解通过插值的方式映射到所述下一级执行网格。
20、另一方面,本专利技术还提供了一种基于dcu加速器的并行浸没边界装置,所述装置包括:
21、初始模块,初始化流场计算域,并根据初始化参数确定出所述流场计算域中所有网格对应的节点的压力泊松方程;
22、求解模块,用于将所述压力泊松方程传输至dcu加速器内的共享内存数组空间中,并通过所述dcu加速器中的线程块根据多重网格算法或者共轭梯度算法将所述压力泊松方程求解,得到下一时刻的压力值;
23、更新模块,用于将所述下一时刻的压力值传输至主机端端,以使通过主机端根据所述下一时刻的压力值对浸没边界点的位置进行更新。
24、本专利技术提供的一种基于dcu加速器的并行浸没边界方法,与现有技术相比,本方法先初始化流场计算域,并根据初始化参数确定出所述流场计算域中所有网格对应的节点的压力泊松方程;然后将所述压力泊松方程传输至dcu加速器内的共享内存数组空间中,并通过所述dcu加速器中的线程块根据多重网格算法或者共轭梯度算法将所述压力泊松方程求解,得到下一时刻的压力值;最后将所述下一时刻的压力值传输至主机端端,以使通过主机端根据所述下一时刻的压力值对浸没边界点的位置进行更新,适应了cpu+dcu异构平台的浸没边界并行算法框架,提高了大规模多相流模拟的处理速度。
本文档来自技高网...【技术保护点】
1.一种基于DCU加速器的并行浸没边界方法,其特征在于,所述方法包括:
2.如权利要求1所述的基于DCU加速器的并行浸没边界方法,其特征在于,所述将所述压力泊松方程传输至DCU加速器内的共享内存数组空间中,具体包括:
3.如权利要求2所述的基于DCU加速器的并行浸没边界方法,其特征在于,多重网格算法中的循环为V循环,循环过程为先从当前密度网格迭代到密度最稀网格,然后再从所述密度最稀网格迭代至当前密度网格,所述通过所述DCU加速器中的线程块根据多重网格算法将所述压力泊松方程求解,具体包括:
4.如权利要求2所述的基于DCU加速器的并行浸没边界方法,其特征在于,所述DCU加速器中的线程块根据共轭梯度算法将所述压力泊松方程求解,具体包括:
5.如权利要求3所述的基于DCU加速器的并行浸没边界方法,其特征在于,所述在从当前密度网格迭代到密度最稀网格时,当前执行网络中执行到残差计算后,还包括计算限制算子,以使将当前执行网格中的残差压缩在下一级执行网格中。
6.如权利要求3所述的基于DCU加速器的并行浸没边界方法,其特征在于,所述在
7.一种基于DCU加速器的并行浸没边界装置,其特征在于,所述装置包括:
...【技术特征摘要】
1.一种基于dcu加速器的并行浸没边界方法,其特征在于,所述方法包括:
2.如权利要求1所述的基于dcu加速器的并行浸没边界方法,其特征在于,所述将所述压力泊松方程传输至dcu加速器内的共享内存数组空间中,具体包括:
3.如权利要求2所述的基于dcu加速器的并行浸没边界方法,其特征在于,多重网格算法中的循环为v循环,循环过程为先从当前密度网格迭代到密度最稀网格,然后再从所述密度最稀网格迭代至当前密度网格,所述通过所述dcu加速器中的线程块根据多重网格算法将所述压力泊松方程求解,具体包括:
4.如权利要求2所述的基于dcu加速器的并行浸没边界方法,其特征在于,所述dcu加速器中的线程块根据共轭...
【专利技术属性】
技术研发人员:韩林,高伟,金倩倩,罗有才,徐金龙,赵孟收,
申请(专利权)人:韩林,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。