一种KNL集群加速求解方法及装置制造方法及图纸

技术编号:15251086 阅读:134 留言:0更新日期:2017-05-02 14:19
本发明专利技术公开了一种KNL集群加速求解装置,包括:读取对称正定线性方程组的系数矩阵及常数项,并设定初始解及求解精度要求;利用MPI控制各KNL内核进行程序主体计算,构造近似解;其中,程序主体为集成在KNL内核中的大规模稀疏矩阵向量相乘、向量加法、向量内积、标量与向量乘积的运算代码段;判断近似解是否满足所述求解精度要求;若是则输出该近似解;该方法将共轭梯度算法移植到了KNL集群平台上提高了硬件资源的利用率,从而缩短了求解大规模对称正定线性方程组的时间,而且降低了能耗,减少了机房管理、运维的成本,且加速方法简单易于实现,降低开发成本;本发明专利技术公开了一种KNL集群加速求解装置,具有上述有益效果。

Method and device for accelerating KNL cluster solution

The invention discloses a KNL cluster to accelerate the solving device, including: read a symmetric positive definite linear equations coefficient matrix and constant, and set the requirements of the initial solution and the solution precision; using MPI control of the KNL kernel is the main body of the program calculation, construct approximate solution; among them, the main body of the program for computing code integrated in the KNL kernel the sparse matrix vector multiplication and vector addition and vector inner product, scalar and vector product; determine the approximate solution meets the precision requirements; if the output of the approximate solution; the method of the conjugate gradient algorithm is transplanted to the KNL cluster platform to improve the utilization of hardware resources, shorten the solving large-scale symmetrical linear equations of the time, but also reduces the energy consumption, reduce room management, operation and maintenance costs, and the acceleration method is simple and easy to implement, The invention discloses a KNL cluster acceleration solving device, which has the beneficial effect.

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种KNL集群加速求解方法及装置。
技术介绍
数学物理模型的求解是众多工程生产与科研领域必不可少的工作之一。随着计算机的发展,有限差分、有限元、边界元、无网格方法等一系列的数值计算方法相继诞生。这些数值计算方法具有一个相同之处:将实际问题导出的数学物理模型通过特定的方式离散成一个线性代数方程组。运用有限元方法离散得到的线性方程组往往是对称正定的或经过简单的处理可变成对称正定问题。然而,随着问题规模的增大,线性方程组的求解成为工程生产和科研中的一大瓶颈。因此,如何提高缩短了求解大规模对称正定线性方程组的时间,而且降低了能耗,减少了机房管理、运维的成本,是本领域技术人员需要解决的技术问题。
技术实现思路
本专利技术的目的是提供一种KNL集群加速求解方法及装置,将共轭梯度算法移植到了KNL集群平台上,提高硬件资源的利用率,从而缩短了求解大规模对称正定线性方程组的时间,降低了能耗,降低开发成本。为解决上述技术问题,本专利技术提供一种KNL集群加速求解方法,包括:读取对称正定线性方程组的系数矩阵及常数项,并设定初始解及求解精度要求;利用MPI控制各KNL内核进行程序主体计算,构造近似解;其中,程序主体为集成在KNL内核中的大规模稀疏矩阵向量相乘、向量加法、向量内积、标量与向量乘积的运算代码段;判断所述近似解是否满足所述求解精度要求;若是,则输出满足所述求解精度要求的近似解。可选的,利用MPI控制各KNL内核进行程序主体计算,构造近似解,包括:将所述对称正定线性方程组的求解任务进行划分;根据求解任务的划分个数启动对应数量的进程,并为每个进程设置私有存储空间;MPI主进程读取预定数据,并将所述预定数据发送给全部进程;其中,所述预定数据包括所述系数矩阵、所述常数项及所述初始解;所述MPI主进程接收全部进程根据所述预定数据进行计算后的结果,并对全部结果进行处理,得到近似解。可选的,将所述对称正定线性方程组的求解任务进行划分,包括:采用静态划分方式,按行划分将对称正定线性方程组的系数矩阵按行划分成N_p块;其中,N_p=Nnode*Ngrp;其中,Nnode为KNL集群中计算节点个数,Ngrp为每个计算节点内将处理核心划分成Ngrp个组。可选的,KNL内核进行程序主体计算,包括:所述KNL内核组开启4*Nknlcore个OpenMP线程进行程序主体计算。可选的,KNL内核进行程序主体计算,包括:将程序主体中内存读写受限的数据或数组开辟到MCDRAM高带宽内存。本专利技术还提供一种KNL集群加速求解装置,包括:读取模块,用于读取对称正定线性方程组的系数矩阵及常数项,并设定初始解及求解精度要求;近似解求解模块,用于利用MPI控制各KNL内核进行程序主体计算,构造近似解;其中,程序主体为集成在KNL内核中的大规模稀疏矩阵向量相乘、向量加法、向量内积、标量与向量乘积的运算代码段;判断求解精度模块,用于判断所述近似解是否满足所述求解精度要求;结果输出模块,用于输出满足所述求解精度要求的近似解。可选的,所述近似解求解模块,包括:任务划分单元,用于将所述对称正定线性方程组的求解任务进行划分;任务分配单元,用于根据求解任务的划分个数启动对应数量的进程,并为每个进程设置私有存储空间;数据分配单元,用于MPI主进程读取预定数据,并将所述预定数据发送给全部进程;其中,所述预定数据包括所述系数矩阵、所述常数项及所述初始解;近似解求解单元,用于所述MPI主进程接收全部进程根据所述预定数据进行计算后的结果,并对全部结果进行处理,得到近似解。可选的,所述任务划分单元具体为采用静态划分方式,按行划分将对称正定线性方程组的系数矩阵按行划分成N_p块的单元;其中,N_p=Nnode*Ngrp;其中,Nnode为KNL集群中计算节点个数,Ngrp为每个计算节点内将处理核心划分成Ngrp个组。可选的,所述近似解求解单元,包括:近似解求解子单元,用于所述KNL内核组开启4*Nknlcore个OpenMP线程进行程序主体计算。可选的,所述近似解求解模块,包括:访存带宽受限数组空间开辟单元,用于将程序主体中内存读写受限的数据或数组开辟到MCDRAM高带宽内存。本专利技术所提供的KNL集群加速求解方法,包括:读取对称正定线性方程组的系数矩阵及常数项,并设定初始解及求解精度要求;利用MPI控制各KNL内核进行程序主体计算,构造近似解;其中,程序主体为集成在KNL内核中的大规模稀疏矩阵向量相乘、向量加法、向量内积、标量与向量乘积的运算代码段;判断所述近似解是否满足所述求解精度要求;若是,则输出满足所述求解精度要求的近似解;可见,该方法将共轭梯度算法移植到了KNL集群平台上,即利用MPI实现了节点之间任务的分配及消息传递,利用KNL芯片实现大规模矩阵向量计算的并行加速从而提高了硬件资源的利用率,缩短了求解大规模对称正定线性方程组的时间,而且降低了能耗,减少了机房管理、运维的成本,且加速方法简单易于实现,降低开发成本;本专利技术公开了一种KNL集群加速求解装置,具有上述有益效果,在此不再赘述。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例所提供的KNL集群加速求解方法的流程图;图2为本专利技术实施例所提供的任务划分示意图;图3为本专利技术实施例所提供的MPI设计流程示意图;图4为本专利技术实施例所提供的KNL集群加速求解装置的结构框图。具体实施方式本专利技术的核心是提供一种KNL集群加速求解方法及装置,将共轭梯度算法移植到了KNL集群平台上,提高了硬件资源的利用率,从而缩短了求解大规模对称正定线性方程组的时间,降低了能耗,降低开发成本。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。目前,共轭梯度法(即CG)是当前最受欢迎的求解对称大规模稀疏线性方程组的一类方法。之所以如此受欢迎,是由于CG的求解仅需利用一阶导数信息,具有比最速下降法更快的收敛速度,比牛顿迭代法计算量更小,且不需确定任何参数。因此,CG具有存储小,收敛快,稳定性强,无需外来参数且适合并行等优点。其中,CG是50年代初期由Hestenes和Stiefel首先提出的,进几十年来有关的研究得到了前所未有的发展,目前有关的理论和方法已经十分成熟。对于稀疏线性方程组Ax=b,本利采用的共轭梯度法算法流程如下:KNL(KnightsLanding)是Intel公司推出的第二代至强融核芯片,用于高性能并行计算的众核处理器。KNL芯片可以单独做中央主处理器,其采用了Silvermont架构的改进定制版和14nm新工艺,核心数量多达64-72个,每个核心最多可开启4个线程,最多拥有288个线程,双精度浮点性能超过3TFlops,单精度则本文档来自技高网...

【技术保护点】
一种KNL集群加速求解方法,其特征在于,包括:读取对称正定线性方程组的系数矩阵及常数项,并设定初始解及求解精度要求;利用MPI控制各KNL内核进行程序主体计算,构造近似解;其中,程序主体为集成在KNL内核中的大规模稀疏矩阵向量相乘、向量加法、向量内积、标量与向量乘积的运算代码段;判断所述近似解是否满足所述求解精度要求;若是,则输出满足所述求解精度要求的近似解。

【技术特征摘要】
1.一种KNL集群加速求解方法,其特征在于,包括:读取对称正定线性方程组的系数矩阵及常数项,并设定初始解及求解精度要求;利用MPI控制各KNL内核进行程序主体计算,构造近似解;其中,程序主体为集成在KNL内核中的大规模稀疏矩阵向量相乘、向量加法、向量内积、标量与向量乘积的运算代码段;判断所述近似解是否满足所述求解精度要求;若是,则输出满足所述求解精度要求的近似解。2.根据权利要求1所述的KNL集群加速求解方法,其特征在于,利用MPI控制各KNL内核进行程序主体计算,构造近似解,包括:将所述对称正定线性方程组的求解任务进行划分;根据求解任务的划分个数启动对应数量的进程,并为每个进程设置私有存储空间;MPI主进程读取预定数据,并将所述预定数据发送给全部进程;其中,所述预定数据包括所述系数矩阵、所述常数项及所述初始解;所述MPI主进程接收全部进程根据所述预定数据进行计算后的结果,并对全部结果进行处理,得到近似解。3.根据权利要求2所述的KNL集群加速求解方法,其特征在于,将所述对称正定线性方程组的求解任务进行划分,包括:采用静态划分方式,按行划分将对称正定线性方程组的系数矩阵按行划分成N_p块;其中,N_p=Nnode*Ngrp;其中,Nnode为KNL集群中计算节点个数,Ngrp为每个计算节点内将处理核心划分成Ngrp个组。4.根据权利要求3所述的KNL集群加速求解方法,其特征在于,KNL内核进行程序主体计算,包括:所述KNL内核组开启4*Nknlcore个OpenMP线程进行程序主体计算。5.根据权利要求4所述的KNL集群加速求解方法,其特征在于,KNL内核进行程序主体计算,包括:将所述程序主体中内存读写受限的数据或数组开辟到MCDRAM高带宽内存。6.一种KNL集群加速求解装置,其特征在于,包括:读取模块,...

【专利技术属性】
技术研发人员:王明清张清
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南;41

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

1