一种基于gpu-cpu异构计算平台的静态安全分析双层并行方法
【技术领域】
[0001] 本发明设及电网仿真领域,具体设及一种基于GPU-CPU异构计算平台的静态安全 分析双层并行方法。
【背景技术】
[0002] 静态安全分析是电力系统在线分析中的基本工具,需要检验系统出现故障后系统 的运行状态。在电力系统中,为避免过负荷和电压越界引起的设备损坏,或由于过负荷设备 在系统保护作用下退出运行而导致大面积连锁反应性的停电,在线地进行系统静态安全分 析非常重要。静态安全分析实质上是电力系统运行的稳态分析过程,即潮流问题,不设及元 件动态特性和电力系统动态过程。静态安全在线分析对对电网元件逐个设置故障,然后进 行潮流分析。由于电网元件数量巨大,其导致包含巨大的计算量。潮流计算常用PQ潮流算法 和牛顿拉夫系方法。PQ法计算速度快,收敛性并不好。牛顿拉夫逊方法需要反复求解一系列 的线性方程组,具有更好的鲁棒性和可预测性。
[0003] 传统的在线分析通过CPU机群并行来实现,需要耗费大量的电力。相比传统CPU, GPU具备强大的浮点计算能力,却耗费更少的电力。作为加速器件,它已经越来越普遍地运 用于超级计算机中。在电力系统研究领域,一些基于GPU的暂态稳定求解器W及潮流求解器 已经开展。对于如何充分考虑计算过程中矩阵运算的稀疏性,充分利用GPU的计算能力,是 目前研究的重点。
【发明内容】
[0004] 为了弥补上述缺陷,本发明提供一种基于GPU-CPU异构计算平台的静态安全分析 双层并行方法,该方法充分利用GPU的计算能力将多个预想事故计算中雅克比矩阵对应的 消去树合并,通过运个合并后的消去树指导多个算例的粗粒度并行计算。
[0005] 为了实现上述发明目的,本发明采取如下技术方案:
[0006] -种基于GPU-CPU异构计算平台的静态安全分析双层并行方法,其特征在于,所述 方法包括:
[0007] (1)将电力系统数据初始化,根据实际需要,设置K个预想故障;
[000引(2)提取n个预想故障neK,利用GPU为n个预设故障分配多组线程,
[0009] (3)针对每个预想故障下的线程组进行潮流计算,每组线程均包含多组潮流计算 中的一次迭代;并在每次迭代的结束后检查各个算例的收敛情况;
[0010] (4)如果某个线程组下的潮流计算收敛,则提取一个新的预想故障,并根据步骤 (3)执行潮流计算,直到所有预想故障计算完毕。
[0011] 优选的,所述步骤(3)的潮流计算具体包括下
[0012] 述步骤;
[0013] (3.1)将电力系统初始化,构建电网导纳矩阵Y;
[0014] (3.2)根据导纳矩阵Y的电网电压、功率初始值,获取雅克比矩阵的功率差额向量 AW;
[0015] (3.3)利用=分支并行分解算法求解雅克比矩阵;
[0016] (3.4)获取电压修正量AV;
[0017] (3.5)确定收敛情况,若A V小于设定值,则结束本次计算任务;否则,返回步骤 (3.2)。
[0018] 进一步地,所述步骤(3.1)的初始化包括:获取电网数据,建立相应的电网导纳矩 阵Y,所述初始化仅在每个算例开始计算时执行一次;
[0019] 所述步骤(3.2)获取雅克比矩阵为
(1)
[00別]简记为:
[0022] JAV=AWd
[0023] 其中,J为雅克比矩阵,AW为功率差额向量,AV为电压修正量。
[0024] 进一步地,所述步骤(3.2)获取雅克比矩阵的功率差额向量A W包括:
[0025] 对于PQ节点,有功功率和无功功率为给定值,节点电压和相位为待求量;则对应的 功率差额表达式为:
[0029] 其中,A Pi为节点有功功率差额;A化为节点无功功率差额;
[0030] 对应的雅克比矩阵J和电压向量A Vi的表达式为;
贷
[0032]对于PV节点,其有功功率和电压幅值为给定值,节点的无功功率和电压相位为待 求量,则功率差额表达式为:
[0036] 对应的雅克比矩阵和待求的电压向量为: 'HN~\ [M.'
[0037] (9)
[0038] 结合式(5)和式(9),获得H、N、M、L、R、S的表达式:
[00;39 ] if = 热^ iV =歲\巧M =汹径/族f
[0040] L二化 Q;阿,民二化S 二化阿)
[0041 ]其中,P为电力系统节点有功,Q为电力系统节点无功,ei和fi分别为节点电压Vi的 实部与虚部;Pis和化S分别为节点有功与无功的初始值,Vis为节点电压的初始值;G和B分别 为电网导纳矩阵Y的实部与虚部,Gij和Bij的下标表示节点i到j的导纳。
[0042] 进一步地,所述步骤(3.3)中利用=分支并行分解算法求解雅克比矩阵包括:对雅 克比矩阵J进行LU分解,并对消去树分层,获取导纳矩阵中J矩阵的依赖关系。
[0043] 进一步地,所述LU分解的方法包括,将矩阵J分解为矩阵L和U的乘积,L为下S角矩 阵,U为上S角矩阵;
[0044] 当第i次迭代时,在矩阵L上对每一个je IxI i+1 < 有 1-1
[0045] 祉沪,,, (10) -P=I
[0046] 在L矩阵上,对于矩阵对角元素,有 1-1
[0047] 馬,'二 心(in P=J
[004引在U矩阵上,对每一个je{x|i+l <x<n}有
[0049] 封,,£/路 (12) P=I
[0050] 最后,对U矩阵进行标么化
[0051] Uij = UijZlii (13)
[0052] 其中,Lu为L矩阵上第i行第j列的元素,Uu为U矩阵上第i行第j列的元素,Ju代表J 矩阵上第i行第j列的元素。
[0053] 进一步地,所述对雅克比矩阵LU分解之前还包括:将J矩阵的下S角部分复制入L 矩阵,上=角部分复制入U矩阵,并将U矩阵对角元均置为1。
[0054] 进一步地,所述步骤(3.3)中,对消去树分层包括,采用消去树理论,将导纳矩阵分 层;
[0055] 所述潮流并行计算层,用于消去树的导纳矩阵并行计算。
[0056] 进一步地,所述获得导纳矩阵中J矩阵的依赖关系包括:引入消去树结构,分析雅 克比矩阵的消去顺序;
[0057] 对于结构对称的nXn矩阵J,其对应的消去树上的节点j的父节点W满足下式:
[005引 pj=min{i I Lij辛0,1 < j<i < n} (14)
[0059] 其中,LiJ为L矩阵上第i行第巧U的元素。
[0060] 进一步地,所述消去树的性质包括:
[0061] 性质I:若i〉j,则第i行或列的元素在消去过程中受第i行或者第j列的元素直接影 响的充要条件为Lij^O;
[0062] 将消去树进行分层,使得消去树指导矩阵并行分解;对于没有子节点的节点,将其 层号定义为0;对于其他节点i,其层号di定义为:
[0063] di=max{dj I j EK}+1 (15)
[0064] 集合K由节点i的所有子节点构成:
[00化]K={j |pj = i,l < j<i <n} (16)
[0066] 将节点i的消去过程定义为均按照式(I)~式(4)进行计算,并结合性质I和分层方 法获得如下性质:
[0067] 性质2:消去树第m层所有节点可W被消去的充分条件为第0层到第m-1层的所有节 点均被消去;
[0068] 性质3:消去树同一层中的所有节点消去过程之间没有依赖。
[0069] 进一步地,所述根据GPU线性方程组的分层并行算法潮流任务分配方法包括:结合 最小度原则和最小层原则提出基于MD-ML和改进ML-MD算法的混合算法定义轮数:
[0070] 对于采用最小度作为优先编号判据的算法,对采用同样出线度上限作为限制条件 的所有节点编号过程定义为一轮;
[0071] 对于采用最小层作为优先编号判据的算法,对采用相同层数作为限制条件的所有 节点编号过程定义为一轮,具体包括:
[0072] 设置动态参数d限制每轮编号过程中的节点出线度的最大值;
[0073] 假设节点编号的轮数为R,令
[0074] d = R (17)
[0075] 或者,按分段函数的形式设置 R R<\0
[0076] d=\ (喊
[10 + 巧一1巧。代>10
[0077] 在编号的初始阶段,采用MD-ML编号方法;在出线度为1的节点编号完成之后,改用 改进的MkMD编号方法进行编号。
[0078] 进一步地,所述步骤(3.4)中电压修正量A V的获取如下式所示:
[0079