一种基于gpu的大规模电力系统潮流并行计算系统及其方法

文档序号:6519953阅读:247来源:国知局
一种基于gpu的大规模电力系统潮流并行计算系统及其方法
【专利摘要】本发明涉及一种基于GPU的大规模电力系统潮流并行计算系统及其方法,所述系统包括符号雅克比矩阵形成与分解模块、初始化模块、潮流方程右端项计算模块、雅克比矩阵赋值模块、LU分解模块和前代回代模块;所述符号雅克比矩阵形成与分解模块位于主机端,主机端将计算数据传送到设备端;所述雅克比矩阵右端项计算模块、雅克比矩阵的赋值模块、LU分解模块和前代回代模块在设备端依次连接。所述方法包括:(1)将计算所需数据全部传送到主机端;(2)生成符号雅克比矩阵并对其进行符号分解;(3)主机端将分解结果传送到设备端;(4)执行潮流方程右端项计算;(5)执行雅克比矩阵赋值;(6)执行LU分解;(7)执行前代回代。
【专利说明】一种基于GPU的大规模电力系统潮流并行计算系统及其方法
【技术领域】
[0001]本发明属于电网仿真【技术领域】,具体讲涉及一种基于GPU的大规模电力系统潮流并行计算系统及其方法。
【背景技术】
[0002]潮流计算的任务是根据给定的运行条件确定系统的运行状况。具体地说就是已知电网的接线方式与参数及运行条件,计算电力系统稳态运行各母线电压、各支路电流、功率及网损。对于正在运行的系统,通过潮流计算可以判断电网母线电压、支路电流和功率是否越限,如有越限则调整运行方式。对于正在规划的电力系统,潮流计算可以为选择电网的供电方法和电气设备提供依据。除此之外,潮流计算还可以为继电保护和自动装置整定计算、电力系统故障计算和稳定计算等等提供潮流初值。
[0003]潮流计算的计算结果是进行电力系统静态和暂态稳定计算的基础。一些故障分析以及优化计算也需要潮流计算作配合。这些都是潮流计算在电力系统规划设计及运行方式分析安排中的应用,属于离线计算的范畴。随着现代化的调度控制中心的建立,为了对电力系统进行实时安全监控,需要根据实时数据库提供的信息,随时判断系统当前的运行状况并对预想事故进行安全分析。这就需要进行广泛的潮流计算,并且对计算速度提出了更高的要求,从而产生了潮流的在线计算。
[0004]潮流计算作为电力系统计算的基础,其方法可以运用到很多其他仿真计算场合,稀疏线性方程组的算法在很多涉及计算的场合也均有应用。潮流计算的计算平台有CPU、GPU、FPGA等等。GPU和CPU在芯片设计上有很大的不同。CPU芯片中将更多的晶体管用于构造复杂的控制单元和缓存,并以此来提高少数执行单元的执行效率。GPU芯片中则没有这些复杂的控制单元,但是却拥有大量的执行单元。根据这样的芯片设计,CPU更适合处理逻辑性强的工作,GPU更适合并行度高,基本不需要逻辑,程序分支少的工作。根据GPU芯片的特点,配合其使用的显存也和内存有比较大的不同。内存芯片一般采用DDR SDRAM,而显存芯片一般采用⑶DR SDRAM。尽管⑶DR由DDR改进而来,采用的是相似的技术,但是两者在性能上还是有所不同。显存的带宽更高,延迟更高(400到800个时钟周期);内存的带宽较低,延迟也很低。
[0005]并行系统中耗费时间最多的数值分解模块在算法上没有分支,在数据结构上全部使用简单的一维数组,所以不需要复杂的逻辑判断;在计算过程中没有额外的指令需求,所以计算量上没有增加。性能上唯一的瓶颈指向了存储器的读取与写入。在我们这个程序数值分解过程中,整体数据量不大,但是数据存取写入次数频繁,这导致了程序性能低下。

【发明内容】

[0006]针对现有技术的不足,本发明提供一种基于GPU的大规模电力系统潮流并行计算方法,具体涉及用于加速牛顿-拉夫逊法潮流计算的基于GPU的潮流计算雅克比矩阵并行生成模块,稀疏矩阵并行分解模块、前代回代算法模块。潮流计算的核心是求解潮流方程,从数学的角度上讲,这是一个非线性的方程组。牛顿-拉夫逊法是求取非线性方程组近似解的常用办法,其核心思想是将非线性方程组的求解转化为一系列的线性方程组的求解。由于电力网络稀疏的特点,潮流方程转化得到的一系列线性方程组系数矩阵均为稀疏矩阵。为了减少矩阵分解的数值计算量,减少矩阵分解过程中的非零元填充,会采用MD(最小度)算法或者MDML (最小度最小层)算法对网络节点进行重新编号。为了解析稀疏矩阵的元素依赖关系,指导节点消去顺序,常常引入消去树结构。矩阵分解通常分为符号分解、数值分解几部分,符号分解确定矩阵分解过程中的非零元填充位置,随后的数值分解确定矩阵分解的数值结果。矩阵分解过程完成后,求解过程称为前代回代过程。其实质为连续求取系数矩阵为下三角矩阵和上三角矩阵的两个线性方程组。
[0007]本发明在GPU上并行实现了牛顿-拉夫逊法潮流计算中的循环迭代过程,并通过大规模电网的潮流计算对算法正确性、有效性进行了检验。系统首先将计算所需数据全部传送到显存上,然后雅克比矩阵并行生成模块为每个节点分配一个线程,每个线程负责生成雅克比矩阵中的一行数据。生成的雅克比矩阵将按照消去树分层并行的方式以秩为二的矩阵为最小单位元素进行分解。准备处理消去树某层节点时,矩阵并行LU分解模块将为该层的每一个节点分配一个线程,每个线程均按照up-looking的节点消去方法对该节点进行消去。雅克比矩阵数值分解完成之后,同样按照消去树分层并行的方式执行前代回代过程。其中,
[0008]潮流计算:潮流计算是电力系统分析中的一种最基本的计算,他的任务是对给定的运行条件确定系统的运行状态,如各母线上的电压(幅值及相角)、网络中的功率分布及功率损耗等。
[0009]并行计算:并行计算是一个广义的概念,根据其实现层次的不同可以分为几种方式:单核指令集并行,多核并行,多处理器并行,集群分布式并行。最微观的是单核指令级并行,让单个处理器的执行单元同时执行多条指令;向上一层是多核并行,即在一个芯片上集成多个处理器核心,实现线程级并行;再往上是多处理器并行,在一块电路板上安装多个处理器,实现线程和进程级并行;最后可以借助网络实现大规模的集群或者分布式并行,每个节点都是一台独立的计算机。
[0010]GPU:中文名为“图形处理器”,英文全称是Graphic Processing Unit。传统上,GI3U只负责图形渲染,大部分的处理工作交给了中央处理器(CPU)。但是由于图形渲染的高度并行性,使得GPU可以通过增加并行处理单元和存储器控制单元的方式提高处理能力和存储器带宽。GPU设计者将更多的晶体管用作执行单元,而不是像CPU那样用作复杂的控制单元和缓存并以此来提高少量执行单元的执行效率。目前,主流GPU的单精度浮点处理能力已经达到了同时期CPU的10倍左右,而其外部存储器的带宽则是CPU的5倍左右;在架构上,目前主流的GPU采用了统一设备架构单元,并且实现了细粒度的线程间通信,大大拓展了应用范围。
[0011]稀疏矩阵:是包含很多非零元的矩阵。
[0012]消去树:是一种树状数据结构,可以提供稀疏矩阵分解过程中的许多重要信息,包括矩阵元素在分解过程中的数据依赖关系等等,在多种求解稀疏线性方程组的算法中用于指导稀疏矩阵分解的节点消去顺序。[0013]本发明的目的是采用下述技术方案实现的:
[0014]一种基于GPU的大规模电力系统潮流并行计算系统,其改进之处在于,所述系统包括符号雅克比矩阵形成与分解模块、初始化模块、潮流方程右端项计算模块、雅克比矩阵赋值模块、LU分解模块和前代回代模块;
[0015]所述符号雅克比矩阵形成与分解模块位于主机端,主机端将计算数据传送到设备端;
[0016]所述雅克比矩阵右端项计算模块、雅克比矩阵的赋值模块、LU分解模块和前代回代模块在设备端依次连接。
[0017]本发明基于另一目的提供一种基于GPU的大规模电力系统潮流并行计算方法,其改进之处在于,所述方法包括:
[0018](I)将计算所需数据全部传送到主机端;
[0019](2)生成符号雅克比矩阵并对其进行符号分解;
[0020](3)主机端将分解结果传送到设备端;
[0021](4)执行潮流方程右端项计算;
[0022](5)执行雅克比矩阵赋值;
[0023](6)执行LU分解;
[0024](7)执行前代回代。
[0025]优选的,所述步骤(2)中矩阵通过CSR格式按行存储。
[0026]优选的,所述步骤(2)中矩阵通过纵向链的数据结构表示导纳矩阵中元素的纵向联系。
[0027]优选的,所述步骤(4)中潮流方程右端项计算包括
[0028]计算雅克比矩阵中间变量为
[0029]
【权利要求】
1.一种基于GPU的大规模电力系统潮流并行计算系统,其特征在于,所述系统包括符号雅克比矩阵形成与分解模块、初始化模块、潮流方程右端项计算模块、雅克比矩阵赋值模块、LU分解模块和前代回代模块; 所述符号雅克比矩阵形成与分解模块位于主机端,主机端将计算数据传送到设备端;所述雅克比矩阵右端项计算模块、雅克比矩阵的赋值模块、LU分解模块和前代回代模块在设备端依次连接。
2.一种基于GPU的大规模电力系统潮流并行计算方法,其特征在于,所述方法包括: (1)将计算所需数据全部传送到主机端; (2)生成符号雅克比矩阵并对其进行符号分解; (3)主机端将分解结果传送到设备端; (4)执行潮流方程右端项计算; (5)执行雅克比矩阵赋值; (6)执行LU分解; (7)执行前代回代。
3.如权利要求2所 述的一种基于GPU的大规模电力系统潮流并行计算方法,其特征在于,所述步骤(2)中矩阵通过CSR格式按行存储。
4.如权利要求2所述的一种基于GPU的大规模电力系统潮流并行计算方法,其特征在于,所述步骤(2)中矩阵通过纵向链的数据结构表示导纳矩阵中元素的纵向联系。
5.如权利要求2所述的一种基于GPU的大规模电力系统潮流并行计算方法,其特征在于,所述步骤(4)中潮流方程右端项计算包括 计算雅克比矩阵中间变量为
6.如权利要求2所述的一种基于GPU的大规模电力系统潮流并行计算方法,其特征在于,所述步骤(5)中雅克比矩阵赋值包括
7.如权利要求2所述的一种基于GPU的大规模电力系统潮流并行计算方法,其特征在于,所述步骤(6)包括将生成数据将按照消去树分层并行的方式以秩为二的矩阵为最小单位元素进行分解。
8.如权利要求2所述的一种基于GPU的大规模电力系统潮流并行计算方法,其特征在于,所述步骤(6)的分解方法采用GPU的一级缓存、内部寄存器储存中间数据,将任务按照block占优的原则进行分配。
9.如权利要求2所述的一种基于GPU的大规模电力系统潮流并行计算方法,其特征在于,所述步骤(6)中LU分解包括每个线程均按照up-looking的节点消去方法对该节点进行消去。
10.如权利要求2所述的一种基于GPU的大规模电力系统潮流并行计算方法,其特征在于,所述步骤(6)包括 (I)对矩阵一行的元素进行消去运算,算式如下:
11.如权利要求2所述的一种基于GPU的大规模电力系统潮流并行计算方法,其特征在于,所述步骤(7)包括按照分层后的消去树指导,在GPU上并行执行消去树同一层节点的前代回代过 程。
【文档编号】G06F17/16GK103617150SQ201310588919
【公开日】2014年3月5日 申请日期:2013年11月19日 优先权日:2013年11月19日
【发明者】陈德扬, 江涵, 徐得超, 李亚楼 申请人:国家电网公司, 中国电力科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1