基于GPU加速的大电网N-1故障扫描批量计算方法
发布时间:2021-02-04 08:16
随着电网规模的不断扩大,从各种可能的设备开断情况中筛选出严重故障集成为N-1安全校验的重要耗时部分。为了加速大电网N-1安全校验的故障筛选,提出了一种基于中央处理器-图形处理器(CPU-GPU)异构计算框架的实时N-1故障扫描批量计算方法。考虑到不同工况下的计算存在粗粒度并行性,进一步挖掘计算中的细粒度并行性是提高计算效率的有效途径。提出了同时考虑断线故障和发电机开断故障这2种预想事故下的细粒度并行计算方法,并设计了关键计算步骤的核函数。增加考虑了网络拓扑中的移相器,使得计算精度更高,通过与IEEE标准算例和欧洲真实电网算例对比,验证了各工况下批量计算方法的正确性,并取得了显著的加速效果。
【文章来源】:电力自动化设备. 2020,40(08)北大核心
【文章页数】:10 页
【部分图文】:
图1 双层并行算法架构
以下2种情形将导致等效功率注入列向量Pdc发生改变:(1)断线支路中含有移相器;(2)发电机开断故障。创建m+s个线程,前m个线程处理断线故障,后s个线程处理发电机开断故障。针对情形(1),假设支路ij开断,根据上文分析Pdc中节点i对应元素和节点j对应元素将发生改变,节点i处修改变量表示为ΔPidc=-θshift(ij)/(kijxij),节点j处修改变量与节点i处修改变量互为相反数,即ΔPjdc=-ΔPidc,若支路中不含移相器,则θshift(ij)=0;针对情形(2),假设节点a处的发电机开断,节点a处的注入功率将发生改变,进而改变Padc。图2为潮流方程右端项的并行计算过程。图中,i(1)和j(1)分别为支路1对应的流出和流入节点;a(1)为发电机1对应的节点编号;(Pdci(1))1为场景1中的向量Pdc中节点i(1)对应的元素,其余同理。当线程编号索引小于m时,由线程编号索引到断线支路编号,根据对应的支路编号将等效功率注入列向量的第i个元素和第j个元素进行修改;当线程编号索引为m到m+s时,由发电机编号索引对应的节点编号,对节点注入功率进行修改。上述设计过程中不同的计算指令将分配到不同的线程束中,GPU并行处理此类运算,且并行度很高。
直流潮流模型平衡节点的相角为0,因此,对于2.5节中求得的电压相角向量,需要在平衡节点的位置加零元素,其核函数设计思路如图3所示。伪代码见附录A中表A2,令x为2.5节求得的电压相角向量数组,新数组用x1表示。创建包含(m+s)×(n+1)个元素的一维数组,采用cudaMemset函数将其全部置0;然后创建(m+s)×n个线程,每个线程处理1个元素。CUDA异构平台采用单指令多线程架构管理和执行线程,每32个线程为1个线程束,线程束中所有线程同时执行相同的指令,由于线程并不能根据批量处理规模完美分配,此处对线程编号设置判断条件如下:编号小于(m+s)×n的线程执行任务,多余的线程被过滤。此时,同1个线程束中依然执行相同的指令,不会导致线程束的分支,保持很高的并行性。同时上述算法中内存连续读取,保证同一线程束下内存的合并访问,使算法具有高效性。
【参考文献】:
期刊论文
[1]电力系统静态安全最优潮流并行计算方法[J]. 阳育德,陶琢,刘辉,覃智君. 电力自动化设备. 2019(01)
[2]一种GPU-CPU异构运算框架加速的实时N-1交流潮流计算方法[J]. 唐坤杰,董树锋,宋永华. 中国电机工程学报. 2018(15)
[3]匹配GPU编程架构的直流故障筛选算法设计[J]. 温柏坚,谢恩彦,刘明波. 电力自动化设备. 2017(05)
[4]基于网络分块算法的静态安全快速计算方法[J]. 王方雨,刘文颖,田浩,梁琛,郑晶晶. 电力自动化设备. 2017(04)
[5]电力系统静态安全混合控制方法[J]. 傅旭. 电力自动化设备. 2017(01)
[6]基于补偿法的预防性静态安全控制[J]. 阳育德,冯彦维,韦化. 电力自动化设备. 2015(12)
[7]一种求解机组组合问题的内点半定规划GPU并行算法[J]. 张宁宇,高山,赵欣. 电力自动化设备. 2013(07)
[8]基于并行计算和数据复用的快速静态安全校核技术[J]. 李峰,李虎成,於益军,冯树海. 电力系统自动化. 2013(14)
本文编号:3018019
【文章来源】:电力自动化设备. 2020,40(08)北大核心
【文章页数】:10 页
【部分图文】:
图1 双层并行算法架构
以下2种情形将导致等效功率注入列向量Pdc发生改变:(1)断线支路中含有移相器;(2)发电机开断故障。创建m+s个线程,前m个线程处理断线故障,后s个线程处理发电机开断故障。针对情形(1),假设支路ij开断,根据上文分析Pdc中节点i对应元素和节点j对应元素将发生改变,节点i处修改变量表示为ΔPidc=-θshift(ij)/(kijxij),节点j处修改变量与节点i处修改变量互为相反数,即ΔPjdc=-ΔPidc,若支路中不含移相器,则θshift(ij)=0;针对情形(2),假设节点a处的发电机开断,节点a处的注入功率将发生改变,进而改变Padc。图2为潮流方程右端项的并行计算过程。图中,i(1)和j(1)分别为支路1对应的流出和流入节点;a(1)为发电机1对应的节点编号;(Pdci(1))1为场景1中的向量Pdc中节点i(1)对应的元素,其余同理。当线程编号索引小于m时,由线程编号索引到断线支路编号,根据对应的支路编号将等效功率注入列向量的第i个元素和第j个元素进行修改;当线程编号索引为m到m+s时,由发电机编号索引对应的节点编号,对节点注入功率进行修改。上述设计过程中不同的计算指令将分配到不同的线程束中,GPU并行处理此类运算,且并行度很高。
直流潮流模型平衡节点的相角为0,因此,对于2.5节中求得的电压相角向量,需要在平衡节点的位置加零元素,其核函数设计思路如图3所示。伪代码见附录A中表A2,令x为2.5节求得的电压相角向量数组,新数组用x1表示。创建包含(m+s)×(n+1)个元素的一维数组,采用cudaMemset函数将其全部置0;然后创建(m+s)×n个线程,每个线程处理1个元素。CUDA异构平台采用单指令多线程架构管理和执行线程,每32个线程为1个线程束,线程束中所有线程同时执行相同的指令,由于线程并不能根据批量处理规模完美分配,此处对线程编号设置判断条件如下:编号小于(m+s)×n的线程执行任务,多余的线程被过滤。此时,同1个线程束中依然执行相同的指令,不会导致线程束的分支,保持很高的并行性。同时上述算法中内存连续读取,保证同一线程束下内存的合并访问,使算法具有高效性。
【参考文献】:
期刊论文
[1]电力系统静态安全最优潮流并行计算方法[J]. 阳育德,陶琢,刘辉,覃智君. 电力自动化设备. 2019(01)
[2]一种GPU-CPU异构运算框架加速的实时N-1交流潮流计算方法[J]. 唐坤杰,董树锋,宋永华. 中国电机工程学报. 2018(15)
[3]匹配GPU编程架构的直流故障筛选算法设计[J]. 温柏坚,谢恩彦,刘明波. 电力自动化设备. 2017(05)
[4]基于网络分块算法的静态安全快速计算方法[J]. 王方雨,刘文颖,田浩,梁琛,郑晶晶. 电力自动化设备. 2017(04)
[5]电力系统静态安全混合控制方法[J]. 傅旭. 电力自动化设备. 2017(01)
[6]基于补偿法的预防性静态安全控制[J]. 阳育德,冯彦维,韦化. 电力自动化设备. 2015(12)
[7]一种求解机组组合问题的内点半定规划GPU并行算法[J]. 张宁宇,高山,赵欣. 电力自动化设备. 2013(07)
[8]基于并行计算和数据复用的快速静态安全校核技术[J]. 李峰,李虎成,於益军,冯树海. 电力系统自动化. 2013(14)
本文编号:3018019
本文链接:https://www.wllwen.com/kejilunwen/dianlilw/3018019.html
教材专著