[发明专利]一种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/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top