一种基于MPICH+OPENMP的国产化并行计算架构和方法与流程

文档序号:30793525发布日期:2022-07-16 11:10阅读:来源:国知局

技术特征:
1.一种基于mpich+openmp的国产化并行计算架构,其特征在于,该架构包括上位机客户端与并行计算节点;上位机客户端包括qt图形界面模块和网络通信模块,用于与并行计算节点进行通讯,运行计算任务,通过向并行计算节点请求计算服务,获得计算结果,通过图形界面显示计算结果;其中,qt图形界面模块实现了计算结果、计算时间、连接情况的图形化显示;网络通信模块用于实现udp通信客户端的搭建,以及消息的打包、解包和转发;并行计算节点包括多台国产并行计算节点,其中包括主计算节点与分支计算节点,每个计算节点包括网络服务器端、mpi粗粒并行计算模块、openmp细粒并行计算模块以及算法模块;用于接收计算服务、统计算力、计算工作分配、执行具体算法以及汇集计算结果;网络服务器端实现了udp通信服务器端的搭建,与udp通信客户端建立通信,实现消息的打包、解包和转发;mpi粗粒并行计算模块,用于区分主计算节点与分支计算节点,统计并行计算节点的总数量,实现分支计算节点、主计算节点在并行计算时的通信与同步;openmp细粒并行计算模块用于统计本节点cpu核数量,设置细粒并行计算使用的线程数量,将多组算法根据线程数量进行分组,由细粒并行计算线程实现细粒并行;算法模块用于执行并行计算使用的算法,被openmp细粒并行计算线程调用执行,通过接口与细粒并行线程进行交互。2.如权利要求1所述的基于mpich+openmp的国产化并行计算架构,其特征在于,各计算节点通过mpi并行网络通信。3.如权利要求1所述的基于mpich+openmp的国产化并行计算架构,其特征在于,上行接口和下行接口使用不同的网络端口。4.如权利要求1所述的基于mpich+openmp的国产化并行计算架构,其特征在于,计算请求包括算法类型目标数和坐标数据,计算结果包括结果数据及计算消耗的时间。5.如权利要求1所述的基于mpich+openmp的国产化并行计算架构,其特征在于,所述计算节点采用飞腾2000+arm架构cpu、龙芯mpis架构cpu或intel/amdx86架构cpu,运行于支持mpich3.4.2、gcc9.2.0的国产linux操作系统。6.如权利要求1所述的基于mpich+openmp的国产化并行计算架构,其特征在于,客户端可运行于windows或支持qt13.4以上的linux操作系统。7.一种基于权利要求1-6任一项的架构的基于mpich+openmp的国产化并行计算方法,其特征在于,该方法包括如下步骤:s11、并行计算节点通过接口接收来自客户端的计算请求;s12、计算请求经转译发送给主计算节点,主计算节点根据请求实现并行计算节点间的mpi粗粒并行散播,将计算任务给各分支计算节点;s13、各分支计算节点节点根据计算任务与节点硬件资源,分配并行任务执行openmp细粒并行计算;s14、细粒并行计算结果经由mpi粗粒并行汇集到主计算节点;s15、主计算节点经由上行接口将计算结果发送到客户端,客户端显示计算结果。8.如权利要求7所述的基于mpich+openmp的国产化并行计算方法,其特征在于,在步骤
s11之前还包括如下步骤:s21、在所有节点安装银河麒麟操作系统;s22、在所有节点安装gcc9.2.0编译器、openssh1.0.2和ssh-askpass;s23、在所有节点配置ssh免密登录并在hosts文件中设置计算节点ip;s24、在所有节点编译mpich并行计算环境;s25、在所有节点使用mpich混合编译计算框架与算法代码。9.一种基于权利要求1-6任一项的架构的基于mpich+openmp的国产化并行计算方法,其特征在于,该方法包括如下步骤:s31、各计算节点系统启动初始化并行环境,统计计算节点数与计算节点计算资源;其中,具体包括:对mpi、openmp并行环境的初始化,国产化平台服务器端并行计算缓冲区的初始化,统计并行计算节点数量和cpu内核的数量,基础变量初始化;s32、并行计算主节点建立网络服务器线程,等待客户端发出的计算请求并行计算主计算节点建立udp服务器等待来自客户端的消息,收到有效消息后重新打包转发到mpi并行计算的主线程;s33、根据收到计算请求生成计算命令,之后散播到各分支计算节点主计算节点根据收到的计算请求和节点数,生成计算命令散播到所有分支计算节点;计算命令目标数量的分配原则是基于节点数量与各节点cpu可以使用核的数量;计算命令通过mpi并行网络散播到各分支计算节点;s34、各分支计算节点接收到散播的命令后,开始调用算法执行细粒并行计算各分支计算节点在接收到散播的计算命令后,根据cpu可用核数量设置openmp并行线程数量,并拆分根据线程数量拆分计算命令,根据计算命令调用需要做并行的算法生成循环后,使用openmp并行执行算法循环并将结果转存到国产化平台服务器端的缓冲区;每个可用的cpu内核执行并行拆分后的计算命令;s35、汇集计算结果利用mpi汇集操作将各分支计算节点的计算结果汇集到主计算节点的缓冲区;s36、发送计算结果主计算节点将缓冲区中的计算结果转为计算结果消息经上行接口发往客户端,客户端显示计算结果与计算时间。10.如权利要求9所述的基于mpich+openmp的国产化并行计算方法,其特征在于,在步骤s31之前还包括如下步骤:s21、在所有节点安装银河麒麟操作系统;s22、在所有节点安装gcc9.2.0编译器、openssh1.0.2和ssh-askpass;s23、在所有节点配置ssh免密登录并在hosts文件中设置计算节点ip;s24、在所有节点编译mpich并行计算环境;s25、在所有节点使用mpich混合编译计算框架与算法代码。

技术总结
本发明涉及一种基于MPICH+OPENMP的国产化并行计算架构和方法,属于并行计算领域。本发明基于MPICH+OpenMP混合架构构建,通过实现对于计算算法的混合并行加速达到提高计算效率的效果。基于MPICH并行架构的粗粒并行实现节点间的并行计算,包含节点间的任务分发,数据汇集同步等功能。基于OpenMP并行架构的细粒并行计算实现节点内部CPU核之间的算法层面的并行计算。并行加速平台可灵活应用于飞腾、龙芯等国产硬件平台,中标麒麟、银河麒麟等国产操作系统。本发明可以根据并行计算节点系统资源自动调整并行线程数量实现分配并行线程实现算力的最大化利用,相比传统MPI并行拥有更好的稳定性与灵活性,同时弥补了OpenMP只支持单一计算节点的缺点。单一计算节点的缺点。单一计算节点的缺点。


技术研发人员:赵漫菲 储一光 王浩枫
受保护的技术使用者:北京计算机技术及应用研究所
技术研发日:2022.03.28
技术公布日:2022/7/15
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1