【技术实现步骤摘要】
电力矩阵LU分解加速方法、装置、设备及存储介质
[0001]本专利技术涉及电力系统高性能计算
,具体涉及电力矩阵LU分解加速方法、装置、设备及存储介质。
技术介绍
[0002]随着电力系统的发展,电网变得越来越复杂。为了实时确保电力系统的安全稳定,电力系统模型必须能够处理这种增加的复杂性。因此,为了确保电力系统的高效日常运行,需要更有效的建模和减少计算时间。然而,如何降低电力系统仿真的时间成本是一个难题。稀疏线性代数方程组的求解是电力系统仿真工具中不可或缺的模块之一。LU分解主要用于稀疏线性代数方程组的求解,其中,LU分解是矩阵分解的一种,是指将稀疏矩阵A分解为下三角稀疏矩阵L和上三角稀疏矩阵U的乘积,即A=LU。L和U矩阵与前向和后向替换一起使用,以获得最终解。LU分解是稀疏直接求解器的关键模块之一,通常在电力稀疏线性代数方程组的求解时间中占主导地位。因此,LU分解成为电力系统仿真的关键部分。
[0003]作为高性能计算领域的一项新兴技术,GPU(graphics processing unit,图形处理器) ...
【技术保护点】
【技术特征摘要】
1.一种电力矩阵LU分解加速方法,其特征在于,包括:根据电力矩阵中列与列之间的依赖关系,对所述电力矩阵进行分层处理,得到多个层级;所述层级中包含一个或多个列;根据每个层级的列数量,从多个处理单元中确定对应层级中每一列的目标处理单元,以及每一列的目标处理单元的预设数量;所述列数量表示对应层级中列的数量,所述多个处理单元包括CUDA线程、CUDA线程束或者CUDA流;通过各个层级中与每一列对应的预设数量的目标处理单元,对对应列进行LU分解。2.根据权利要求1所述的方法,其特征在于,所述根据每个层级的列数量,从多个处理单元中确定对应层级中每一列的目标处理单元,以及每一列的目标处理单元的预设数量,包括:如果对应层级的列数量大于流多处理器数量,则确定对应层级中每一列的目标处理单元为CUDA线程或者CUDA线程束,根据可用线程数量和对应层级的列数量,确定对应层级中每一列的CUDA线程或者CUDA线程束的数量;所述CUDA线程或者CUDA线程束用于对对应列的子矩阵进行LU分解;如果对应层级的列数量小于或者等于流多处理器数量,则确定对应层级中每一列的目标处理单元为CUDA流,根据对应层级的列数量以及对应层级的下一层级的列数量,确定对应层级中每一列的CUDA流的数量;所述CUDA流用于对对应列的子矩阵进行LU分解。3.根据权利要求2所述的方法,其特征在于,所述根据可用线程数量和对应层级的列数量,确定对应层级中每一列的CUDA线程或者CUDA线程束的数量,包括:如果对应层级的列数量大于第一数值,则根据对应层级的平均子矩阵大小和预设线程数,对该层级中每列的CUDA线程的数量进行设置;所述第一数值由可用线程数量确定;如果对应层级的列数量小于或者等于第一数值,并且所述列数量大于第二数值,则将对应层级中每列的CUDA线程束的数量设置为预设阈值;所述第二数值小于所述第一数值;如果对应层级的列数量小于或者等于第二数值,并且列数量大于或者等于第三数值,则根据可用线程数量、对应层级的列数量和平均子矩阵大小,对该层级中每列的CUDA线程束的数量进行设置;所述第三数值小于所述第二数值,所述第三数值为流多处理器数量。4.根据权利要求3所述的方法,其特征在于,所述根据对应层级的平均子矩阵大小和预设线程数,对该层级中每列的CUDA线程的数量进行设置,包括:如果对应层级的平均子矩阵大小小于所述预设线程数,则对该层级中每列的CUDA线程的数量设置为所述平均子矩阵大小。5.根据权利要求3或4所述的方法,其特征在于,所述根据可用线程数量、对应层级的列数量和平均子矩阵大小,对该层级中每列的CUDA线程束的数量进行设置...
【专利技术属性】
技术研发人员:史存存,林龙,杨訸,黄远平,申屠磊璇,
申请(专利权)人:国网浙江省电力有限公司电力科学研究院国家电网有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。