[发明专利]一种多米诺优化的GPU加速电力上三角方程组回代方法在审
申请号: | 201710478820.5 | 申请日: | 2017-06-22 |
公开(公告)号: | CN107423259A | 公开(公告)日: | 2017-12-01 |
发明(设计)人: | 周赣;孙立成;张亮;李琦;姚瑶;何朝伟;冯燕钧 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F17/12 | 分类号: | G06F17/12;G06F17/16;G06Q50/06 |
代理公司: | 南京苏高专利商标事务所(普通合伙)32204 | 代理人: | 张婧 |
地址: | 210018 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多米诺 优化 gpu 加速 电力 三角 方程组 方法 | ||
技术领域
本发明属于电力系统高性能计算应用领域,尤其涉及一种多米诺优化的GPU加速电力上三角方程组回代方法。
背景技术
潮流计算是电力系统中应用最广泛、最基本和最重要的一种电气运算。在电力系统运行方式和规划方案的研究中,都需要进行潮流计算以比较运行方式或规划供电方案的可行性、可靠性和经济性。同时,为了实时监控电力系统的运行状态,也需要进行大量而快速的潮流计算。因此,在系统规划设计和安排系统的运行方式时,采用离线潮流计算;在电力系统运行状态的实时监控中,则采用在线潮流计算。
而实际生产过程中,无论离线潮流和在线潮流计算都对潮流的计算速度有这比较高的要求。在涉及规划设计和安排运行方式的离线潮流中,因设备落地方案等情况复杂,需要仿真运行的种类多,潮流计算量大,单个潮流计算时间影响整体仿真时长;而在电力系统运行中进行的在线潮流计算对计算时间敏感度高,需要实时给出潮流计算结果,如在预想事故、设备退出运行对静态安全的影响的潮流计算中,系统需要计算大量预想事故下潮流分布,并实时地做出预想的运行方式调整方案。
GPU是一种众核并行处理器,在处理单元的数量上要远远超过CPU。传统上的GPU只负责图形渲染,而大部分的处理都交给了CPU。现在的GPU已经法阵为一种多核,多线程,具有强大计算能力和极高存储器带宽,可编程的处理器。在通用计算模型下,GPU作为CPU的协处理器工作,通过任务合理分配分解完成高性能计算。
稀疏线性方程组求解是电力系统潮流计算中很重要的计算部分,其中回代运算次数更多。对方程组系数矩阵进行LU符号分解后,得到上三角变换矩阵U的稀疏结构,根据U阵的稀疏结构,对U矩阵各行进行并行化分层,其中每层中的列的计算相互独立,没有依赖关系,天然可以被并行的计算处理,适合GPU加速,但是随着层数增加,每层中的行数变少,并行加速效果急剧下降,无法使程序充分发挥GPU的优势。
因此,亟待解决上述问题。
发明内容
发明目的:本发明的目的是提供一种能大幅减少电力潮流线性方程组回代运算的计算时间并能提升潮流计算速度的一种多米诺优化的GPU加速电力上三角方程组回代方法。
潮流计算:电力学名词,指在给定电力系统网络拓扑、元件参数和发电、负荷参量条件下,计算有功功率、无功功率及电压在电力网中的分布。
GPU:图形处理器(英语:GraphicsProcessingUnit,缩写:GPU)。
技术方案:为实现以上目的,本发明公开了一种多米诺优化的GPU加速电力上三角方程组回代方法,所述方法包括:
(1)CPU中根据雅可比矩阵的LU符号分解结果,即上三角变换矩阵U的稀疏结构,对上三角变换矩阵U各行进行并行化分层,进一步生成回代运算所需的运算顺序eorderU;并将GPU计算所需数据传输至GPU;
(2)在GPU中设置上三角变换矩阵U各行的标志位markU;
(3)在GPU中调用LU回代运算内核函数LUbackward。
其中,所述步骤(1)中,并行化分层将上三角变换矩阵U的n行归并到若干层中,然后根据先小层号后大行号的原则进行排序,生成上三角变换矩阵U的回代运算顺序eorderU;GPU计算所需的数据包括:上三角变换矩阵U,运算顺序eorderU,线性方程组维度n,线性方程组的前推运算结果y。
优选的,所述步骤(2)中,在GPU的设备内存中为上三角变换矩阵U各行设置标志位markU(k),k表示行号,并置值为0,表示没有完成第k行的计算。在内核函数计算完成第k行时,将标志位markU(k)置为1。
再者,所述步骤(3)中,LU回代运算内核函数定义为LUbackward<Nblocks,Nthreads>,其线程块大小Nthreads固定为128,线程块数量Nblocks=(n-1)/Nthreads+1;
进一步,所述内核函数LUbackward<Nblocks,Nthreads>的计算流程为:
(2.1)CUDA自动为每个线程分配线程块索引blockID和线程块中的线程索引threadID;
(2.2)将blockID和threadID赋值给变量bid和t,之后通过bid和t来索引bid号线程块中的t号线程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710478820.5/2.html,转载请声明来源钻瓜专利网。