[发明专利]一种基于强化学习的计算网格并行区域划分方法和装置有效
| 申请号: | 202010154775.X | 申请日: | 2020-03-08 |
| 公开(公告)号: | CN111353260B | 公开(公告)日: | 2023-01-10 |
| 发明(设计)人: | 李龙翔;刘羽;崔坤磊;张敏 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
| 主分类号: | G06F30/27 | 分类号: | G06F30/27;G06F30/28;G06N20/00;G06F113/08 |
| 代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 刘小峰 |
| 地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 强化 学习 计算 网格 并行 区域 划分 方法 装置 | ||
本发明提供一种基于强化学习的计算网格并行区域划分方法和装置,该方法包括以下步骤:对计算网格进行初始区域划分并将所述划分结果作为初始状态,将改变所述计算网格中的每个单元所属区域作为动作以根据强化学习算法构建动作价值函数;将求解器在集群上单步运行速度作为奖励,根据所述奖励对所述动作价值函数进行迭代计算,以得到收敛函数值;根据所述迭代后的状态、动作和收敛函数值实现所述并行区域网格划分。本发明通过强化学习训练对计算网格并行区域进行划分,有效提高程序运行过程中负载平衡情况,并减小区域间消息通信所用时间。
技术领域
本发明涉及计算机领域,并且更具体地,涉及一种基于强化学习的计算网格并行区域划分方法和装置。
背景技术
CFD(Computational Fluid Dynamics)是指采用数学方法在计算机中对设计流体的流动、热传递和化学反应等相关现象进行模拟的一种技术手段。CFD的基本特征是数值模拟和计算机实验,它从基本物理定律出发,在很大程度上替代了耗资巨大的流体动力学实验设备,在科学研究和工程技术中产生了巨大的影响。随着科技的发展,特别是计算机硬件技术和产业的飞速发展,为CFD技术的发展和推广打下坚实的基础。目前CFD技术已被应用到航空航天、海洋、气象等领域,同时也是现代工业设计中一个重要的组成部分。
到了最近二十年,CFD的发展进入了高峰期,出现了了一大批用于数值模拟的商业和开源软件。随着计算机运行性能提高,CFD软件模拟的问题的规模也越来越大。为了充分利用高性能集群的运算性能,大部分CFD软件都通过数据并行方法,即通过一定算法将计算区域划分后,通过MPI(信息传递接口)消息传递实现多节点并行计算。在附图1中,绘制了CFD模型实际计算时使用的计算网格和并行区域划分结果。在求解过程中,多个进程分别对划分好的不同区域网格进行计算,在计算过程中根据划分好网格的拓扑关系进行效率传递。在计算过程中,进程上计算负载平衡以及消息数据传递大小会影响计算迭代过程,因此并行区域划分对于CFD软件运行效率具有重大影响。
在并行区域划分过程中,可以使用人工或算法进行划分。由于人工方法的局限性,当模拟问题较为复杂时无法得到较好的计算结果。依据不同的图形分割算法,也有专门用于并行区域划分的软件,如Metis、Scotch、Kahip等。这些软件依据不同的算法,如DualRecursive Bi-partitioning和Multilevel k-way Partitioning Paradigm等,将计算网格内顶点与单元按照给定的权重划分为不同的区域,在负载平衡的同时,尽量减小并行计算时通信的大小。
尽管使用并行区域划分软件可以对复杂问题的计算网格进行划分,但是这些软件得到的结果并不适合所有CFD软件,并行划分结果也不是最优的。在众多CFD软件中,应用了包括FDM(Finite difference methods,有限差分法)、FVM(Finite volume methods,有限体积法)、FEM(Finite element methods,有限元法)等不同数值离散方法。对于不同数值方法,其计算时会依据不同几何单元进行迭代计算,如顶点、单元和交界面等,因此在计算时计算量也和几何单元的个数有关。在划分并行区域时,理论上应依据计算几何单元的数量划分,保证各个区域在计算时负载的平衡。但是由于并行划分软件依据特定算法实现,并且主要依据计算网格内顶点或单元进行划分,因此无法针对不同CFD软件使用进行修正,划分的结果常常无法保证负载平衡的要求。此外,在现代集群中越来越多使用GPU等异构计算设备,或硬件配置不同的CPU节点实现并行计算。在实际情形中,由于不同节点的硬件设备运算能力不同,在使用并行区域划分软件时,针对不同区域对应的几何元素需要人工给定权重系数进行不均匀划分,而不恰当的权重系数会大幅增加运行时负载不平衡情况,导致无法充分利用所用设备的计算能力,导致计算时间大幅增加。
发明内容
鉴于此,本发明实施例的目的在于提出一种基于强化学习的计算网格并行区域划分方法和装置,以实现根据CFD软件采用算法以及所使用的计算设备的实际性能,通过强化学习训练获得对应的划分结果,有效提高程序运行过程中负载平衡情况。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010154775.X/2.html,转载请声明来源钻瓜专利网。





