一種基于gpu-cpu異構(gòu)計算平臺的靜態(tài)安全分析雙層并行方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及電網(wǎng)仿真領(lǐng)域,具體設(shè)及一種基于GPU-CPU異構(gòu)計算平臺的靜態(tài)安全 分析雙層并行方法。
【背景技術(shù)】
[0002] 靜態(tài)安全分析是電力系統(tǒng)在線分析中的基本工具,需要檢驗系統(tǒng)出現(xiàn)故障后系統(tǒng) 的運行狀態(tài)。在電力系統(tǒng)中,為避免過負(fù)荷和電壓越界引起的設(shè)備損壞,或由于過負(fù)荷設(shè)備 在系統(tǒng)保護作用下退出運行而導(dǎo)致大面積連鎖反應(yīng)性的停電,在線地進行系統(tǒng)靜態(tài)安全分 析非常重要。靜態(tài)安全分析實質(zhì)上是電力系統(tǒng)運行的穩(wěn)態(tài)分析過程,即潮流問題,不設(shè)及元 件動態(tài)特性和電力系統(tǒng)動態(tài)過程。靜態(tài)安全在線分析對對電網(wǎng)元件逐個設(shè)置故障,然后進 行潮流分析。由于電網(wǎng)元件數(shù)量巨大,其導(dǎo)致包含巨大的計算量。潮流計算常用PQ潮流算法 和牛頓拉夫系方法。PQ法計算速度快,收斂性并不好。牛頓拉夫遜方法需要反復(fù)求解一系列 的線性方程組,具有更好的魯棒性和可預(yù)測性。
[0003] 傳統(tǒng)的在線分析通過CPU機群并行來實現(xiàn),需要耗費大量的電力。相比傳統(tǒng)CPU, GPU具備強大的浮點計算能力,卻耗費更少的電力。作為加速器件,它已經(jīng)越來越普遍地運 用于超級計算機中。在電力系統(tǒng)研究領(lǐng)域,一些基于GPU的暫態(tài)穩(wěn)定求解器W及潮流求解器 已經(jīng)開展。對于如何充分考慮計算過程中矩陣運算的稀疏性,充分利用GPU的計算能力,是 目前研究的重點。
【發(fā)明內(nèi)容】
[0004] 為了彌補上述缺陷,本發(fā)明提供一種基于GPU-CPU異構(gòu)計算平臺的靜態(tài)安全分析 雙層并行方法,該方法充分利用GPU的計算能力將多個預(yù)想事故計算中雅克比矩陣對應(yīng)的 消去樹合并,通過運個合并后的消去樹指導(dǎo)多個算例的粗粒度并行計算。
[0005] 為了實現(xiàn)上述發(fā)明目的,本發(fā)明采取如下技術(shù)方案:
[0006] -種基于GPU-CPU異構(gòu)計算平臺的靜態(tài)安全分析雙層并行方法,其特征在于,所述 方法包括:
[0007] (1)將電力系統(tǒng)數(shù)據(jù)初始化,根據(jù)實際需要,設(shè)置K個預(yù)想故障;
[000引(2)提取n個預(yù)想故障neK,利用GPU為n個預(yù)設(shè)故障分配多組線程,
[0009] (3)針對每個預(yù)想故障下的線程組進行潮流計算,每組線程均包含多組潮流計算 中的一次迭代;并在每次迭代的結(jié)束后檢查各個算例的收斂情況;
[0010] (4)如果某個線程組下的潮流計算收斂,則提取一個新的預(yù)想故障,并根據(jù)步驟 (3)執(zhí)行潮流計算,直到所有預(yù)想故障計算完畢。
[0011] 優(yōu)選的,所述步驟(3)的潮流計算具體包括下
[0012] 述步驟;
[0013] (3.1)將電力系統(tǒng)初始化,構(gòu)建電網(wǎng)導(dǎo)納矩陣Y;
[0014] (3.2)根據(jù)導(dǎo)納矩陣Y的電網(wǎng)電壓、功率初始值,獲取雅克比矩陣的功率差額向量 AW;
[0015] (3.3)利用=分支并行分解算法求解雅克比矩陣;
[0016] (3.4)獲取電壓修正量AV;
[0017] (3.5)確定收斂情況,若A V小于設(shè)定值,則結(jié)束本次計算任務(wù);否則,返回步驟 (3.2)。
[0018] 進一步地,所述步驟(3.1)的初始化包括:獲取電網(wǎng)數(shù)據(jù),建立相應(yīng)的電網(wǎng)導(dǎo)納矩 陣Y,所述初始化僅在每個算例開始計算時執(zhí)行一次;
[0019] 所述步驟(3.2)獲取雅克比矩陣為
(1)
[00別]簡記為:
[0022] JAV=AWd
[0023] 其中,J為雅克比矩陣,AW為功率差額向量,AV為電壓修正量。
[0024] 進一步地,所述步驟(3.2)獲取雅克比矩陣的功率差額向量A W包括:
[0025] 對于PQ節(jié)點,有功功率和無功功率為給定值,節(jié)點電壓和相位為待求量;則對應(yīng)的 功率差額表達(dá)式為:
[0029] 其中,A Pi為節(jié)點有功功率差額;A化為節(jié)點無功功率差額;
[0030] 對應(yīng)的雅克比矩陣J和電壓向量A Vi的表達(dá)式為;
貸
[0032]對于PV節(jié)點,其有功功率和電壓幅值為給定值,節(jié)點的無功功率和電壓相位為待 求量,則功率差額表達(dá)式為:
[0036] 對應(yīng)的雅克比矩陣和待求的電壓向量為: 'HN~\ [M.'
[0037] (9)
[0038] 結(jié)合式(5)和式(9),獲得H、N、M、L、R、S的表達(dá)式:
[00;39 ] if = 熱^ iV =歲\巧M =洶徑/族f
[0040] L二化 Q;阿,民二化S 二化阿)
[0041 ]其中,P為電力系統(tǒng)節(jié)點有功,Q為電力系統(tǒng)節(jié)點無功,ei和fi分別為節(jié)點電壓Vi的 實部與虛部;Pis和化S分別為節(jié)點有功與無功的初始值,Vis為節(jié)點電壓的初始值;G和B分別 為電網(wǎng)導(dǎo)納矩陣Y的實部與虛部,Gij和Bij的下標(biāo)表示節(jié)點i到j(luò)的導(dǎo)納。
[0042] 進一步地,所述步驟(3.3)中利用=分支并行分解算法求解雅克比矩陣包括:對雅 克比矩陣J進行LU分解,并對消去樹分層,獲取導(dǎo)納矩陣中J矩陣的依賴關(guān)系。
[0043] 進一步地,所述LU分解的方法包括,將矩陣J分解為矩陣L和U的乘積,L為下S角矩 陣,U為上S角矩陣;
[0044] 當(dāng)?shù)趇次迭代時,在矩陣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矩陣進行標(biāo)么化
[0051] Uij = UijZlii (13)
[0052] 其中,Lu為L矩陣上第i行第j列的元素,Uu為U矩陣上第i行第j列的元素,Ju代表J 矩陣上第i行第j列的元素。
[0053] 進一步地,所述對雅克比矩陣LU分解之前還包括:將J矩陣的下S角部分復(fù)制入L 矩陣,上=角部分復(fù)制入U矩陣,并將U矩陣對角元均置為1。
[0054] 進一步地,所述步驟(3.3)中,對消去樹分層包括,采用消去樹理論,將導(dǎo)納矩陣分 層;
[0055] 所述潮流并行計算層,用于消去樹的導(dǎo)納矩陣并行計算。
[0056] 進一步地,所述獲得導(dǎo)納矩陣中J矩陣的依賴關(guān)系包括:引入消去樹結(jié)構(gòu),分析雅 克比矩陣的消去順序;
[0057] 對于結(jié)構(gòu)對稱的nXn矩陣J,其對應(yīng)的消去樹上的節(jié)點j的父節(jié)點W滿足下式:
[005引 pj=min{i I Lij辛0,1 < j<i < n} (14)
[0059] 其中,LiJ為L矩陣上第i行第巧U的元素。
[0060] 進一步地,所述消去樹的性質(zhì)包括:
[0061] 性質(zhì)I:若i〉j,則第i行或列的元素在消去過程中受第i行或者第j列的元素直接影 響的充要條件為Lij^O;
[0062] 將消去樹進行分層,使得消去樹指導(dǎo)矩陣并行分解;對于沒有子節(jié)點的節(jié)點,將其 層號定義為0;對于其他節(jié)點i,其層號di定義為:
[0063] di=max{dj I j EK}+1 (15)
[0064] 集合K由節(jié)點i的所有子節(jié)點構(gòu)成:
[00化]K={j |pj = i,l < j<i <n} (16)
[0066] 將節(jié)點i的消去過程定義為均按照式(I)~式(4)進行計算,并結(jié)合性質(zhì)I和分層方 法獲得如下性質(zhì):
[0067] 性質(zhì)2:消去樹第m層所有節(jié)點可W被消去的充分條件為第0層到第m-1層的所有節(jié) 點均被消去;
[0068] 性質(zhì)3:消去樹同一層中的所有節(jié)點消去過程之間沒有依賴。
[0069] 進一步地,所述根據(jù)GPU線性方程組的分層并行算法潮流任務(wù)分配方法包括:結(jié)合 最小度原則和最小層原則提出基于MD-ML和改進ML-MD算法的混合算法定義輪數(shù):
[0070] 對于采用最小度作為優(yōu)先編號判據(jù)的算法,對采用同樣出線度上限作為限制條件 的所有節(jié)點編號過程定義為一輪;
[0071] 對于采用最小層作為優(yōu)先編號判據(jù)的算法,對采用相同層數(shù)作為限制條件的所有 節(jié)點編號過程定義為一輪,具體包括:
[0072] 設(shè)置動態(tài)參數(shù)d限制每輪編號過程中的節(jié)點出線度的最大值;
[0073] 假設(shè)節(jié)點編號的輪數(shù)為R,令
[0074] d = R (17)
[0075] 或者,按分段函數(shù)的形式設(shè)置 R R<\0
[0076] d=\ (喊
[10 + 巧一1巧。代>10
[0077] 在編號的初始階段,采用MD-ML編號方法;在出線度為1的節(jié)點編號完成之后,改用 改進的MkMD編號方法進行編號。
[0078] 進一步地,所述步驟(3.4)中電壓修正量A V的獲取如下式所示:
[0079