[发明专利]一种GPU加速的电力潮流下三角方程组前推方法在审
申请号: | 201710478882.6 | 申请日: | 2017-06-22 |
公开(公告)号: | CN107392429A | 公开(公告)日: | 2017-11-24 |
发明(设计)人: | 周赣;姚瑶;孙立成;张亮;李琦;何朝伟;冯燕钧 | 申请(专利权)人: | 东南大学 |
主分类号: | G06Q10/06 | 分类号: | G06Q10/06;G06Q50/06;G06F17/12;G06T1/20 |
代理公司: | 南京苏高专利商标事务所(普通合伙)32204 | 代理人: | 张婧 |
地址: | 210018 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 gpu 加速 电力 潮流 三角 方程组 方法 | ||
技术领域
本发明属于电力系统高性能计算应用领域,尤其涉及一种GPU加速的电力潮流下三角方程组前推方法。
背景技术
潮流计算是电力系统中应用最广泛、最基本和最重要的一种电气运算。在电力系统运行方式和规划方案的研究中,都需要进行潮流计算以比较运行方式或规划供电方案的可行性、可靠性和经济性。同时,为了实时监控电力系统的运行状态,也需要进行大量而快速的潮流计算。因此,在系统规划设计和安排系统的运行方式时,采用离线潮流计算;在电力系统运行状态的实时监控中,则采用在线潮流计算。
而实际生产过程中,无论离线潮流和在线潮流计算都对潮流的计算速度有这比较高的要求。在涉及规划设计和安排运行方式的离线潮流中,因设备落地方案等情况复杂,需要仿真运行的种类多,潮流计算量大,单个潮流计算时间影响整体仿真时长;而在电力系统运行中进行的在线潮流计算对计算时间敏感度高,需要实时给出潮流计算结果,如在预想事故、设备退出运行对静态安全的影响的潮流计算中,系统需要计算大量预想事故下潮流分布,并实时地做出预想的运行方式调整方案。
GPU是一种众核并行处理器,在处理单元的数量上要远远超过CPU。传统的GPU只负责图形渲染,而大部分的处理都交给了CPU。现在的GPU已经发展为一种多核、多线程、具有强大计算能力和极高存储器带宽、可编程的处理器。在通用计算模型下,GPU作为CPU的协处理器工作,通过任务合理分配分解完成高性能计算。
稀疏线性方程组求解是电力系统潮流计算中一个重要部分,其中下三角方程组求解是线性方程组求解中最常见的操作,是LU分解法求解线性方程组的后续步骤,通常也被称为前推运算。对方程组系数矩阵进行LU符号分解后,得到下三角变换矩阵L的稀疏结构,对L矩阵各行进行并行化分层,其中每层中的行的计算相互独立,没有依赖关系,天然可以被并行的计算处理,适合GPU加速。通过CPU和GPU的有效合作可以完成稀疏线性方程组中下三角方程组的求解,目前国内外研究人员研究重点在于计算量分配的线程设计,而缺乏对线程计算方式和数据索引方式的深入研究,GPU的优势没有得到充分发挥。
因此,亟待解决上述问题。
发明内容
发明目的:本发明的目的是提供一种能大幅减少电力潮流下三角方程组前推运算的计算时间并能提升潮流计算速度的GPU加速的电力潮流下三角方程组前推方法。
潮流计算:电力学名词,指在给定电力系统网络拓扑、元件参数和发电、负荷参量条件下,计算有功功率、无功功率及电压在电力网中的分布。
GPU:图形处理器(英语:GraphicsProcessingUnit,缩写:GPU)。
技术方案:为实现以上目的,本发明公开了一种GPU加速的电力潮流下三角方程组前推方法,所述方法包括如下步骤:
(1)CPU中根据雅可比矩阵的LU符号分解结果,即下三角变换矩阵L的稀疏结构,对下三角变换矩阵L各行进行并行化分层,并将计算所需数据传输至GPU;
(2)GPU中按层次递增的顺序启动分层LU前推运算内核函数LUForward。
其中,所述步骤(1)中,并行化分层将下三角变换矩阵L的n行归并到MaxLevel层中,属于同一层中的行之间相互独立,可并行进行前推运算;每层包含的行的数量为Levelnum(k),k表示层号;存储第k层中所有行号至映射表Mapk;最后CPU将GPU计算所需数据传输给GPU,GPU计算所需的数据包括:下三角变换矩阵L,矩阵维度n,线性方程组右端向量b,层数MaxLevel,每层包含的行数Levelnum以及映射表Map。
优选的,所述步骤(2)中,LU前推运算内核函数定义为LUForward<Nblocks,Nthreads>,其线程块大小Nthreads固定为128,当对k层进行计算时,线程块数量Nblocks=(Levelnum(k)-1)/Nthreads+1,调用内核函数LUForward<Nblocks,Nthreads>来计算属于第k层的所有行。
再者,所述内核函数LUForward<Nblocks,Nthreads>的计算流程为:
(2.1)CUDA自动为每个线程分配线程块索引blockID和线程块中的线程索引threadID;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710478882.6/2.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理