基于GPU的电力系统潮流并行计算

2018-02-25 06:21林亚君
电子技术与软件工程 2018年9期
关键词:并行计算

林亚君

摘要 随着并行计算的发展,实现潮流计算的并行化是提高计算速度的有效方法,而如何利用GPU技术优化潮流计算中线性方程组的求解则是关键。研究了潮流迭代求解中易于并行的线性方程组求解方法,提出了采用预处理的稳定双共轭梯度算法( Bi-CGSTAB),提高线性方程纽的并行性与计算性能。最后通过应用InterPSS对所提的方法进行验证。

【关键词】潮流计算 并行计算 预条件处理稳定 双共轭梯度算法

现代电网朝着大规模、复杂性、多元性的方向发展,电力系统潮流的计算量与复杂度急剧增加,使得越来越多的研究者致力于将CUDA应用于电力系统潮流计算中。文献[1]主要是基于CUDA平台通过对高斯消去法求解线性方程组并行化实现潮流计算的并行。文献[2]利用GMRES (m)算法求解潮流计算中的线性方程组,并将该算法基于CUDA移植到GPU上执行。文献[3]研究了基于双共轭梯度法实现牛顿.拉夫遜法潮流算法的并行化。

本文尝试基于GPU针对大规模电网提出一种新的迭代法求解线性方程组的预处理方案,进而大幅度提升大规模电网潮流求解的计算性能。

1 潮流计算的可并行性

所谓并行计算是一种可同时执行多个指令的算法,目的是通过提高计算速度或扩大问题求解规模,解决大型而复杂的计算问题。采用并行技术解决的问题必须具有以下两个特点:

(1)对这些数据要执行的指令基本相同;

(2)各个数据之间基本相互独立,互不依赖。

1.1 各步骤可并行性分析

(1)形成节点导纳矩阵的并行性:根据支路信息(包括开始节点编号、终止节点编号、支路等效导纳)计算节点导纳矩阵,即所谓支路追加法,各个支路对导纳矩阵的贡献相互独立,互不干扰。并且对每个支路的处理指令是一致的,符合上述的并行计算原则。

(2)形成雅可比矩阵的并行性:在潮流计算中雅可比矩阵中各个元素的形成之间是相互独立、互不干扰的。并且对于雅可比矩阵中各子矩阵上的元素除对角元素外,其余元素计算公式是一致的。即处理该数据所执行的指令是相同的。于是符合并行计算的两个特点,故形成雅可比矩阵的过程可以采用并行技术实现。

(3)求解修正方程组的并行性:在潮流计算过程中求解修正方程组,通常采用的是直接法和迭代法。文献[4]对潮流计算中修正方程组求解的迭代法和直接法进行了比较,结果表明,对于大规模电网(几百个节点以上),采用适当的预处理的迭代法计算速度优于直接法。不仅如此,利用迭代法求解稀疏线性方程组时,会出现大量相对易于并行化的矩阵向量运算。

1.2 潮流计算各步骤的耗时

上一小节分析了潮流程序中有三个步骤是可并行的,然而采用并行技术需要将计算任务映射到并行机中,中间的数据传输会带来一定的延时。如果上述的三个步骤在采用串行技术时,已经耗时较少,采用并行技术将得不偿失。

通过InterPSS平台,对不同大小电网进行潮流计算,分析以上三个可并行步骤的串行计算耗时。结果表明形成节点导纳矩阵和雅可比矩阵在串行计算中耗时很短,并且占整个潮流程序总耗时的比例很小,故不考虑将这两个步骤并行。另一方面,随着电网规模的增大,求解修正方程组在整个算法耗时所占比重越来越大。这与并行对规模越大的数据加速效果越显著不谋而合,于是对潮流程序进行加速就可以锁定为对求解线性方程组过程进行加速。

2 基于GPU的修正方程组求解

2.1 修正方程组求解算法及预处理技术

Bi-CGSTAB本质上是Bi-CG和反复使用GMRES(1)的结合,利用递归的方法逐步减小残量,因此占用的内存小,被证明是一种处理稀疏矩阵为非对称实矩阵的线性方程十分有效的算法。所以可以采用该算法实现潮流计算中的修正方程组的求解。

然而利用Bi-CGSTAB算法求解潮流中的修正方程组时,系数矩阵(雅可比矩阵)随着网络规模的变大会出现病态,亦即条件数会渐渐变大,迭代收敛性很差。为了提高迭代法的收敛性,需要对修正方程组进行适当的变换,此过程即为预处理过程。

目前常用的预处理方法有不完全分解法(ILU)、PQ分解法、稀疏近似逆法和基于雅可比矩阵逆的预处理方法。考虑到潮流计算过程中的两个特点:

(1)雅可比矩阵在潮流程序整个迭代过程中不会大幅度变化;

(2)迭代法求解修正方程组的最大迭代次数都是在第一次外迭代时发生的,于是采用基于雅可比矩阵逆的预处理方法。

2.2 基于GPU的修正方程组求解

在带预处理的Bi-CGSTAB算法中涉及到大量的向量相加、向量内积、向量与稠密矩阵相乘、向量与稀疏矩阵相乘等运算。基于GPU实现Bi-CGSTAB算法并行化,主要就是根据GPU的硬件结构确定合理的并行化方式完成以上四种运算。

3 算例及分析

为了验证本文所提出的实现InterPSS中潮流并行化拓展的方法的实际效果,本节对不同规模的电网进行测试。

在计算过程中Bi-CGSTAB算法的迭代误差取l0-10,最大迭代次数取5000;牛顿法的迭代误差取l0-20,其并行性能的一些指标如表1所示。

从表1可以看出采用该方法在处理电网节点小于162左右时加速比小于1;在大于162节点的电网中,加速比大于1,且加速比随着电网规模增大而增大。

4 结论

本文基于GPU实现了潮流计算的并行计算,并取得了理想的加速效果。电力系统仿真对计算能力的需求随着电网规模的增大而越来越大。在电力系统的各种仿真中都会涉及到矢量矩阵运算,所以InterPSS中的其他电力系统仿真的矢量矩阵运算都可以采用本文提出的基于GPU的实现类来拓展,具有广阔的推广前景。

参考文献

[1]夏俊峰,杨帆,李静等,基于GPU的电力系统并行潮流计算的实现[J].电力系统保护与控制,2010, 38 (18):100-103.

[2] Xue-Xin Liu, Hai Wang, Tan,S.X.-D.Parallel Power Grid Analysis UsingPreconditioned GMRES Solver onCPU-GPU Platforms [J]. Computer-Aided Design (ICCAD), 2013 IEEE/ACM International Conferenceon,Page (s): 561-568.

[3] Garcia N.Parallel Power FlowSolutions Using a Bi-ConjugateGradient Algorithm and a NewtonMethod:a GPU-based approach, "2010IEEE Power & Energy Society GeneralMeet ing,2010.

[4]吴建平,王正华,李晓梅.稀疏线性方程组的高效求解与并行计算[M].长沙:湖南科学技术出版社,2004 (05).

[5]李晓梅,吴建平.Krylov子空间方法及其并行计算[J].计算机科学,2005, 32 (01):19-20, 40.

[6]Mori H,Tanako H, Kanno J.APreconditioned Fast DecoupledPowerflow Method for ContingencyScreening [J]. IEEE Trans on PowerSystems,1996,11(01): 357-363.

[7]汪芳宗,何一帆,叶婧,基于稀疏近似逆预处理的牛顿一广义极小残余潮流计算方法[J].电网技术,2008, 32 (17): 50-53.

猜你喜欢
并行计算
基于自适应线程束的GPU并行粒子群优化算法
云计算中MapReduce分布式并行处理框架的研究与搭建
并行硬件简介
不可压NS方程的高效并行直接求解
最大匹配问题Tile自组装模型