CN107392429A - 一种gpu加速的电力潮流下三角方程组前推方法 - Google Patents
一种gpu加速的电力潮流下三角方程组前推方法 Download PDFInfo
- Publication number
- CN107392429A CN107392429A CN201710478882.6A CN201710478882A CN107392429A CN 107392429 A CN107392429 A CN 107392429A CN 201710478882 A CN201710478882 A CN 201710478882A CN 107392429 A CN107392429 A CN 107392429A
- Authority
- CN
- China
- Prior art keywords
- gpu
- threads
- blocks
- bid
- thread
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 239000011159 matrix material Substances 0.000 claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims abstract description 22
- 230000009466 transformation Effects 0.000 claims abstract description 17
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 6
- 239000013598 vector Substances 0.000 claims abstract description 6
- 238000012546 transfer Methods 0.000 claims abstract description 3
- 238000013507 mapping Methods 0.000 claims description 8
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 8
- 238000003491 array Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000005520 electrodynamics Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013517 stratification Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001550 time effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/12—Simultaneous equations, e.g. systems of linear equations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Strategic Management (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Educational Administration (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Algebra (AREA)
- Development Economics (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明公开了一种GPU加速的电力潮流下三角方程组前推方法,所述方法包括如下步骤:(1)CPU中根据雅可比矩阵的LU符号分解结果,即下三角变换矩阵L的稀疏结构,对下三角变换矩阵L各行进行并行化分层,并将计算所需数据传输至GPU;(2)GPU中按层次递增的顺序启动分层LU前推运算内核函数LUForward。本发明采用CPU和GPU结合的模式,由CPU控制整体流程并处理基础数据,GPU负责稀疏线性方程组的下三角变换矩阵分层前推运算,提高了电力潮流下三角方程组的LU前推运算效率,解决了电力系统运行分析中潮流计算耗时大的问题。
Description
技术领域
本发明属于电力系统高性能计算应用领域,尤其涉及一种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;
(2.2)将blockID和threadID赋值给变量bid和t,联合变量bid和t来索引bid号线程块中的t号线程;
(2.3)第bid号线程块中的t号线程负责计算映射表Mapk中第bid*blockDim+t行,设行号为j,j=Mapk[bid*blockDim+t],其中,blockDim=Nthreads;
(2.4)第bid号线程块的t号线程中,变量i从1递增到j-1,当且仅当L(j,i)≠0时,采用公式y(j)=b(j)-y(i)×L(j,i)来计算前推运算结果y的第j个元素y(j);
(2.5)采用公式y(j)=y(j)/L(j,j)更新y(j)。
有益效果:与现有技术相比,本发明具有以下显著优点:首先本发明根据电力潮流线性方程组的雅克比矩阵的LU符号分解结果,即L阵的稀疏格式,可以减少不必要的浮点计算;其次根据L阵的非零元结构将L矩阵的各行分到可同步并行计算的不同层次,并将分层结果传给GPU;最后GPU中按层次递增的顺序启动分层LU前推运算内核函数LUForward;采用CPU和GPU结合的模式,由CPU控制整体流程并处理基础数据,GPU负责稀疏线性方程组的下三角变换矩阵分层前推运算,提高了电力潮流线性方程组的LU前推运算效率,解决了电力系统运行分析中潮流计算耗时大的问题。
附图说明
图1为本发明的流程示意图;
图2为本发明所使用的算例;
图3为发明算例分层计算示意图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明。
如图1所示,本发明公开一种GPU加速的电力潮流下三角方程组前推方法,该方法分为以下几个步骤来具体实现:
步骤1:CPU中对稀疏矩阵L并行化分层,并传输计算数据
CPU中根据雅可比矩阵的LU符号分解结果,即下三角变换矩阵L的稀疏结构,对下三角变换矩阵L各行进行并行化分层,并行化分层将下三角变换矩阵L的n行归并到若干层中,每一层所包含的行之间相互独立,可以并行进行前推运算。接着CPU将GPU计算所需数据传输给GPU,具体包括:下三角变换矩阵L,矩阵维度n,线性方程组右端向量b,层数MaxLevel,每层包含的行数Levelnum以及映射表Map;
其中,并行化分层原理参见“Direct Methods for Sparse Linear Systems”Timothy A.Davis,SIAM,Philadelphia,2006,“针对不规则问题的并行算法设计与体系结构优化”,陈晓明。
步骤2:GPU中按层次递增顺序启动分层LU前推运算内核函数LUForward
分层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;
(2.2)将blockID和threadID赋值给变量bid和t,联合变量bid和t来索引bid号线程块中的t号线程;
(2.3)第bid号线程块中的t号线程负责计算映射表Mapk中第bid*blockDim+t行,设行号为k,k=Mapk[bid*blockDim+t],其中,blockDim=Nthreads;
(2.4)第bid号线程块的t号线程中,变量i从1递增到j-1,当且仅当L(j,i)≠0时,采用公式y(j)=b(j)-y(i)×L(j,i)来计算前推运算结果y的第j个元素y(j);
(2.5)采用公式y(j)=y(j)/L(j,j)更新y(j)。
本发明以一个维度为8的线性方程组下三角矩阵L的前推运算为例,具体运算过程如图2所示。按照步骤1中所述,将下三角矩阵L的8行分到4层中,如图3所示,每层内所有行并行进行计算。在计算第7行时,利用与第7行有关且已得到的第2、3、4行运算结果完成计算任务。
Claims (4)
1.一种GPU加速的电力潮流下三角方程组前推方法,其特征在于:所述方法包括如下步骤:
(1)CPU中根据雅可比矩阵的LU符号分解结果,即下三角变换矩阵L的稀疏结构,对下三角变换矩阵L各行进行并行化分层,并将计算所需数据传输至GPU;
(2)GPU中按层次递增的顺序启动分层LU前推运算内核函数LUForward。
2.根据权利要求1所述的GPU加速的电力潮流下三角方程组前推方法,其特征在于:所述步骤(1)中,并行化分层将下三角变换矩阵L的n行归并到MaxLevel层中,属于同一层中的行之间相互独立,可并行进行前推运算;每层包含的行的数量为Levelnum(k),k表示层号;存储第k层中所有行号至映射表Mapk;最后CPU将GPU计算所需数据传输给GPU,GPU计算所需的数据包括:下三角变换矩阵L,矩阵维度n,线性方程组右端向量b,层数MaxLevel,每层包含的行数Levelnum以及映射表Map。
3.根据权利要求1所述的GPU加速的电力潮流下三角方程组前推方法,其特征在于:所述步骤(2)中,LU前推运算内核函数定义为LUForward<Nblocks,Nthreads>,其线程块大小Nthreads固定为128,当对k层进行计算时,线程块数量Nblocks=(Levelnum(k)-1)/Nthreads+1,调用内核函数LUForward<Nblocks,Nthreads>来计算属于第k层的所有行。
4.根据权利要求3所述的GPU加速的电力潮流下三角方程组前推方法,其特征在于:所述内核函数LUForward<Nblocks,Nthreads>的计算流程为:
(2.1)CUDA自动为每个线程分配线程块索引blockID和线程块中的线程索引threadID;
(2.2)将blockID和threadID赋值给变量bid和t,联合变量bid和t来索引bid号线程块中的t号线程;
(2.3)第bid号线程块中的t号线程负责计算映射表Mapk中第bid*blockDim+t行,设行号为j,j=Mapk[bid*blockDim+t],其中,blockDim=Nthreads;
(2.4)第bid号线程块的t号线程中,变量i从1递增到j-1,当且仅当L(j,i)≠0时,采用公式y(j)=b(j)-y(i)×L(j,i)来计算前推运算结果y的第j个元素y(j);
(2.5)采用公式y(j)=y(j)/L(j,j)更新y(j)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710478882.6A CN107392429A (zh) | 2017-06-22 | 2017-06-22 | 一种gpu加速的电力潮流下三角方程组前推方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710478882.6A CN107392429A (zh) | 2017-06-22 | 2017-06-22 | 一种gpu加速的电力潮流下三角方程组前推方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107392429A true CN107392429A (zh) | 2017-11-24 |
Family
ID=60332639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710478882.6A Pending CN107392429A (zh) | 2017-06-22 | 2017-06-22 | 一种gpu加速的电力潮流下三角方程组前推方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107392429A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108510429A (zh) * | 2018-03-20 | 2018-09-07 | 华南师范大学 | 一种基于gpu的多变量密码算法并行化加速方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751376A (zh) * | 2009-12-30 | 2010-06-23 | 中国人民解放军国防科学技术大学 | 利用cpu和gpu协同工作对三角线性方程组求解的加速方法 |
CN103617150A (zh) * | 2013-11-19 | 2014-03-05 | 国家电网公司 | 一种基于gpu的大规模电力系统潮流并行计算系统及其方法 |
CN106157176A (zh) * | 2016-07-26 | 2016-11-23 | 东南大学 | 一种gpu加速的电力潮流雅可比矩阵的lu分解方法 |
-
2017
- 2017-06-22 CN CN201710478882.6A patent/CN107392429A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751376A (zh) * | 2009-12-30 | 2010-06-23 | 中国人民解放军国防科学技术大学 | 利用cpu和gpu协同工作对三角线性方程组求解的加速方法 |
CN103617150A (zh) * | 2013-11-19 | 2014-03-05 | 国家电网公司 | 一种基于gpu的大规模电力系统潮流并行计算系统及其方法 |
CN106157176A (zh) * | 2016-07-26 | 2016-11-23 | 东南大学 | 一种gpu加速的电力潮流雅可比矩阵的lu分解方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108510429A (zh) * | 2018-03-20 | 2018-09-07 | 华南师范大学 | 一种基于gpu的多变量密码算法并行化加速方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106157176B (zh) | 一种gpu加速的电力潮流雅可比矩阵的lu分解方法 | |
CN106407158B (zh) | 一种gpu加速的批处理同构稀疏矩阵乘满向量的处理方法 | |
CN101719182B (zh) | 一种交直流电力系统分割并行电磁暂态数字仿真方法 | |
CN105391057B (zh) | 一种电力潮流雅克比阵计算的gpu线程设计方法 | |
CN106026107B (zh) | 一种gpu加速的电力潮流雅可比矩阵的qr分解方法 | |
CN105375461B (zh) | 基于预测技术的主动配电网供电能力实时评估方法 | |
CN105576648A (zh) | 一种基于gpu-cpu异构计算平台的静态安全分析双层并行方法 | |
CN107368454A (zh) | 一种大量同构稀疏下三角方程组的gpu加速前推方法 | |
CN101404413A (zh) | 一种适合于在线应用的无功优化方法 | |
CN104484234B (zh) | 一种基于gpu的多波前潮流计算方法和系统 | |
CN104156886B (zh) | 一种含可再生能源电力系统的电源灵活性评价方法 | |
CN104092210A (zh) | 一种具备n-2开断快速扫描功能的在线静态安全分析方法 | |
CN106354479B (zh) | 一种大量同构稀疏矩阵的gpu加速qr分解方法 | |
CN103049617A (zh) | 保留无源性的大规模配电网络电磁暂态仿真模型化简方法 | |
CN107425527A (zh) | 一种统一潮流控制器静态安全预防控制方法 | |
CN106505575A (zh) | 一种基于粒计算的线路潮流经济调度方法 | |
Dong et al. | Dc microgrid stability analysis considering time delay in the distributed control | |
CN107392429A (zh) | 一种gpu加速的电力潮流下三角方程组前推方法 | |
CN107368368A (zh) | 一种大量同构稀疏上三角方程组的gpu加速回代方法 | |
CN107423259A (zh) | 一种多米诺优化的gpu加速电力上三角方程组回代方法 | |
CN105955712B (zh) | 一种基于gpu加速的直流故障筛选方法 | |
CN108879691A (zh) | 一种大规模连续潮流计算的方法及装置 | |
CN107368455A (zh) | 一种gpu加速的电力潮流上三角方程组回代方法 | |
CN106875063A (zh) | 一种动力定位船舶能量管理优化方法 | |
CN106021943A (zh) | 一种结合gpu软硬件架构特点设计的直流故障筛选方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171124 |