[发明专利]一种GPU加速的电力潮流雅可比矩阵的LU分解方法有效
申请号: | 201610597129.4 | 申请日: | 2016-07-26 |
公开(公告)号: | CN106157176B | 公开(公告)日: | 2019-07-12 |
发明(设计)人: | 周赣;孙立成;张旭;柏瑞;冯燕钧;秦成明;傅萌 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06Q50/06 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 张婧 |
地址: | 210096 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本文公开了一种GPU加速的电力潮流雅可比矩阵的LU分解方法,包括CPU中对雅可比矩阵J进行LU符号分解,得到下三角变换矩阵L和上三角矩阵U矩阵的稀疏结构,符号分解之后的J的稀疏结构等于L+U;根据U阵的稀疏结构,对矩阵J各列进行并行化分层,并将计算所需数据传输给GPU;GPU中按层次递增的顺序计算分层LU分解内核函数SparseLU。本发明利用CPU控制程序的流程并处理基础数据和GPU处理密集的浮点运算相结合的模式提高了电力潮流雅可比矩阵LU分解的效率,解决了电力系统静态安全性分析中潮流计算耗时大的问题。 | ||
搜索关键词: | 一种 gpu 加速 电力 潮流 可比 矩阵 lu 分解 方法 | ||
【主权项】:
1.一种GPU加速的电力潮流雅可比矩阵的LU分解方法,其特征在于:所述方法包括:(1)CPU中对雅可比矩阵J进行LU符号分解,得到下三角变换矩阵L和上三角矩阵U矩阵的稀疏结构,符号分解之后的J的稀疏结构等于L+U;根据U阵的稀疏结构,对矩阵J各列进行并行化分层,并将计算所需数据传输给GPU;(2)GPU中按层次递增的顺序计算分层LU分解内核函数SparseLU,其中分层LU分解内核函数定义为SparseLU<Nblocks,Nthreads>,其线程块大小Nthreads固定为128,当对k层进行计算时,线程块数量Nblocks=Levelnum(k),总线程数量为:Nblocks×Nthreads;按照层次递增的顺序,调用内核函数SparseLU<Levelnum(k),Nthreads>来分解属于第k层的所有列;所述内核函数SparseLU<Levelnum(k),Nthreads>的计算流程为:(2.1)CUDA自动为每个线程分配线程块索引blockID和线程块中的线程索引threadID;(2.2)将blockID和threadID赋值给变量bid和t,之后通过bid和t来索引bid号线程块中的t号线程;(2.3)第bid号线程块负责LU分解雅可比矩阵J的第j=Mapk(bid)列;(2.4)第bid号线程块中,变量i从1递增到j‑1,如果U(i,j)≠0,采用公式J(i+1:n,j)=J(i+1:n,j)‑J(i,j)×L(i+1:n,i)更新雅可比矩阵J的第j列,具体步骤如下:1)判断线程编号t是否小于n–i,否则线程结束执行;2)J(t+i+1,j)=J(t+i+1,j)‑J(i,j)×L(t+i+1,i);3)t=t+128,返回1);(2.5)计算L阵的第j列变换向量:采用公式L(j:n,j)=J(j:n,j)/J(j,j)计算下三角阵L阵的第j列,具体步骤如下:1)判断线程编号t是否小于n–j+1,否则线程结束执行;2)L(j+t,j)=J(j+t,j)/J(j,j);3)t=t+128,返回1);(2.6)更新J阵第j列:J(j+1:n,j)=0。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610597129.4/,转载请声明来源钻瓜专利网。