CN109271250B - 面向电力电子暂态仿真加速的图形处理器内存管理方法 - Google Patents

面向电力电子暂态仿真加速的图形处理器内存管理方法 Download PDF

Info

Publication number
CN109271250B
CN109271250B CN201810896405.6A CN201810896405A CN109271250B CN 109271250 B CN109271250 B CN 109271250B CN 201810896405 A CN201810896405 A CN 201810896405A CN 109271250 B CN109271250 B CN 109271250B
Authority
CN
China
Prior art keywords
state
simulation
matrix
switch
time
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.)
Active
Application number
CN201810896405.6A
Other languages
English (en)
Other versions
CN109271250A (zh
Inventor
王成山
吴蔚
李鹏
富晓鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN201810896405.6A priority Critical patent/CN109271250B/zh
Publication of CN109271250A publication Critical patent/CN109271250A/zh
Application granted granted Critical
Publication of CN109271250B publication Critical patent/CN109271250B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Abstract

一种面向电力电子暂态仿真加速的图形处理器内存管理方法,着眼于有限计算资源情况与大规模电力系统电磁暂态仿真计算需求之间的矛盾。仿真过程中,多个电力电子开关的快速变化使得系统状态频繁发生改变,进而需要多次对状态更新矩阵
Figure DDA0001758278590000011
进行求解和存储,随之导致计算效率低以及计算资源占用过多的问题。基于最近最少使用算法的内存替换方法,能够保证在有限的计算资源下电磁暂态仿真的顺利进行,另一方面随着实际电力系统的规模不断增加,对仿真规模的要求也不断增加,使用内存替换方法之后,能够以牺牲很少仿真速度的条件下,极大地提高仿真规模的大小。

Description

面向电力电子暂态仿真加速的图形处理器内存管理方法
技术领域
本发明涉及一种电力系统仿真处理方法。特别是涉及一种适用于电力系统暂态建模仿真应用的面向电力电子暂态仿真加速的图形处理器内存管理方法。
背景技术
近年来,电力系统在实际运行中面临着可再生能源的大规模接入以及交直流互联电网运行规模不断增加的挑战,使用传统的电磁暂态仿真算法研究其复杂的暂态特性及运行控制问题时会在计算资源和计算速度方面受到限制。而基于元件详细动态特性建模的电力系统电磁暂态仿真因其能够准确刻画微秒级的系统快动态过程,正逐渐在新能源电力系统的分析、设计与运行等方面获得更加广泛的重视与应用。此外,电网规模持续扩大及仿真时间尺度不断延伸给电磁暂态仿真提出了新的挑战,需要结合问题特性在计算效率方面做出改进。
目前,提高暂态仿真的计算效率主要有两种思路:一是在仿真算法层面进行针对性的改进,二是利用硬件的并行特性对仿真程序进行加速,如多核CPU(CentralProcessing Unit,中央处理器)、FPGA(Field Programmable Gate Array,现场可编程门阵列)、GPU(Graphic Process Unit,图形处理器)等。近年来,由于电力系统规模的不断增加,使得仅依靠改进仿真算法提升电磁暂态仿真算法的计算效率,可能较难得到理想的效果。随着科技水平和制造工艺的不断进步,各类硬件不论在并行资源的容量还是效率方面都有着飞跃地提升。因此,利用硬件的并行计算资源来提高电磁暂态仿真的计算效率是一种高效且有发展前景的解决方案。其中,FPGA是可编程的集成数字电路板,由于电路天然的并行性,使得FPGA在处理复杂的仿真计算时具有很强的灵活性,但是其使用硬件描述语言(Verilog或VHDL)进行结构繁复的系统设计,通用性稍显不足。GPU,特别是GPGPU(GeneralPurpose GPU,通用计算图形处理器),具有更多的计算单元,适用于计算维度更大但计算复杂度更小的计算场景,并且借助于C或Python等更加成熟通用的编程语言,在CUDA(ComputeUnified Device Architecture)等运算平台上进行计算结构的设计,能够理论上较传统方法取得近百倍的计算峰值。此外,随着GPU在多领域的广泛应用,促进了GPU相关技术的不断进步,同时期的GPU在性能上已经远超CPU,并且性能提升的速度日益增加,支持的运算也越来越复杂,可编程性和功能都得到了极大的扩展,在高性能计算领域展示了巨大的发展潜力,可以预见,GPU并行计算是高性能计算重要的发展方向之一。
CPU/GPU异构计算结构,主要是从计算速度和计算资源两方面来考虑。首先,根据CPU和GPU在计算特性上差异,设计程序将逻辑复杂且串行运行的计算部分分配到CPU上计算,将逻辑简单但是计算密度大的部分分配到GPU中处理,由此可以看出计算速度只要取决与计算任务的分配以及CPU和GPU不同计算任务之间的数据传输,其次在计算资源方面,GPU受制于结构,其计算资源远少于CPU,在CPU和GPU之间合理分配资源,能够有效地提高计算效率以及计算的维度。
基于指数积分的电磁暂态仿真方法具有良好的数值精度和稳定性。该方法是一种适合处理电磁暂态模型刚性特征的数值积分方法,通过矩阵指数算子的引入,克服了系统刚性对算法数值稳定性的影响,使得仿真过程可以采用较大的步长进行计算;同时,通过对系统的线性动态过程进行精确求解,避免了传统数值积分方法所遇到的局部截断误差问题,使算法具有很高的数值精度。此外,该方法尤其适于大规模高维非线性问题,且具有良好的数值性能,仿真计算速度得到明显提升。
不同于EMTP类程序,指数积分方法主要基于状态分析框架,此时系统的仿真模型可以用以下的状态方程描述:
Figure BDA0001758278570000021
对于该非线性微分方程,一种典型的指数积分方法——指数欧拉法将其推导为如下形式:
Figure BDA0001758278570000022
其中指数欧拉公式在时间间隔[tn,tn+1]内,对式(2)中随时间变化的非线性部分g(t,x(t))近似处理为不变量g(tn,xn),并将
Figure BDA00017582785700000210
族函数
Figure BDA0001758278570000023
引入积分公式。其中xn∈RN是精确值x(tn)的数值近似。hn=tn+1-tn为该步的仿真步长,
Figure BDA0001758278570000024
Figure BDA0001758278570000025
族函数的第一函数,定义如下:
Figure BDA0001758278570000026
其中,
Figure BDA0001758278570000027
族函数的递推关系如式(3)所示:
Figure BDA0001758278570000028
传统的电磁暂态程序主要是面向中小规模的电力系统仿真算例,当面对实际中更大规模的系统时,有限的计算资源便会成为电磁暂态仿真的掣肘。因此,进行大规模系统仿真时如何分配有限的计算资源是有重要意义的问题。最近最少使用(LRU)算法,不同于传统的FIFO(FirstInFirst Out)算法,这种算法本指选择近期最少被访问的数据作为被替换的数据。但由于实现比较困难,实际上是选择最久没有被访问的数据作为被替换的数据。依据局部性原理推论:最近刚用过的数据很可能就是马上要再用到的数据,则最久没有用过的数据就是最佳的被替换者。LRU能较好利用了历史替换的信息,反映了程序的局部性,是目前缓存替换算法中综合性能最好、应用范围最广的算法。
当前,随着可再生能源的广泛接入和系统电力电子化的演变趋势,电力电子装置已被广泛地应用到电力系统中,如柔性交流输电技术(FACTS)、高压直流输电技术(HVDC)以及各种可再生能源的分布式发电系统。针对电力电子器件的仿真已经成为了现阶段电磁暂态仿真算法的核心问题之一,这不仅是传统积分算法面临的挑战,同时也对指数积分方法提出了更高要求。在仿真过程中,电力电子开关的快速变化使得系统状态频繁发生改变。对于指数积分算法,便需要在每次状态变化后重新生成状态矩阵,并对
Figure BDA0001758278570000029
族函数进行求解,这将会消耗大量的仿真时间。另一方面,还需要对开关的确切动作时间进行确定,并重新计算开关动作后的系统状态,此外还会遇到在一个仿真步长中开关多次变化的多重开关动作情况。因此,对于含大量电力电子变流装置的系统,提出高效的仿真策略具有重要的意义。
发明内容
本发明所要解决的技术问题是,提供一种能够提升暂态仿真效率的面向电力电子暂态仿真加速的图形处理器内存管理方法。
本发明所采用的技术方案是:一种面向电力电子暂态仿真加速的图形处理器内存管理方法,包括如下步骤:
1)在状态分析框架下,建立待仿真电力系统的暂态仿真模型,用如下的非线性微分方程组描述:
Figure BDA0001758278570000031
其中,x为电气系统和控制系统的状态变量,状态矩阵A表示系统微分方程中线性部分的系数,包括各状态量子模块及相互耦合关系,反映系统中用于求取状态变量x的相关信息,而g(t,x)则代表系统微分方程中的非线性部分,y是由状态变量x决定的输出量;
2)进行系统初始化,初始化对象包括:状态矩阵A、状态变量初值x0、仿真起始时刻t0、仿真时间T、仿真步长h和
Figure BDA0001758278570000032
函数
Figure BDA0001758278570000033
其中
Figure BDA0001758278570000034
设定当前时刻为仿真起始时刻tn=t0,设置状态变量初值xn=x0;根据状态矩阵A的维度计算待仿真电力系统中的状态更新矩阵
Figure BDA0001758278570000035
的大小,在图形处理器设备端给仿真程序开辟固定的显存空间,初始化最近最少使用算法的计数序列;
3)根据暂态仿真模型中的状态矩阵A以及设定的仿真步长h,在主机端计算状态更新矩阵
Figure BDA0001758278570000036
4)将并行计算时用到的状态矩阵A、状态更新矩阵
Figure BDA0001758278570000037
以及系统状态变量x由主机端内存传输到对应的图形处理器设备端显存上,将当前状态下的状态更新矩阵
Figure BDA0001758278570000038
存储在图形处理器设备端的全局存储器上,判断已存储的矩阵数据是否超过分配给仿真程序的显存空间,若超过则继续下一步,否则转到步骤6);
5)更新最近最少使用算法的计数序列,采用最近最少使用算法,在图形处理器设备端分配给仿真程序的显存空间占满时,用新数据替换显存中的数据,并初始化对应于开关状态的最近最少使用算法的计数序列;
6)在图形处理器上利用并行计算资源,使用基于指数积分的电磁暂态仿真方法对电气系统进行求解,得出状态变量x以及开关状态向量S,并传回主机端;
7)通过开关状态向量S判断开关状态在本时步内是否改变,若不变则转至步骤11),否则继续下一步;
8)开关状态改变时计算tn时刻状态变量x的值;
9)根据开关状态向量S判断当前状态对应的状态更新矩阵
Figure BDA0001758278570000039
在显存空间中是否存在,若存在则继续下一步,否则根据开关状态向量S对仿真模型中状态矩阵A的相应元素进行更新,转至步骤3);
10)调用图形处理器设备端存储器中储存的对应于当前状态的矩阵数据,并转至步骤6);
11)由yn=f(tn,xn)得到tn时刻的输出向量并写入输出数据文件,更新当前时刻为下一时步tn=tn+h,仿真向前推进一个步长;
12)比较当前时刻tn与仿真时间T,判断是否已经抵达仿真结束时刻,若已经达到,则仿真结束;若未达到,则转到步骤6)。
步骤2)所述的计算待仿真电力系统中的状态更新矩阵
Figure BDA0001758278570000041
的大小,具体包括:
(1)根据待仿真电力系统中电力电子电路的规模大小,计算出状态更新矩阵的维度dimmexp,确定变流器台数N和每台变流器中的开关个数Nsw
(2)根据双精度数占内存大小以及状态更新矩阵
Figure BDA0001758278570000042
的维度计算状态更新矩阵
Figure BDA0001758278570000043
的大小,并根据总开关数Nsw*N,计算仿真中能够出现的所有开关状态,共
Figure BDA0001758278570000044
种;
(3)根据状态更新矩阵
Figure BDA0001758278570000045
的大小在图形处理器设备端给仿真程序分配相应大小的内存。
步骤5)所述的用新数据替换显存中的数据,包括:
(1)初始化最近最少使用算法的计数序列,所述计数序列的维度由分配给仿真程序的内存大小决定,并对对应于状态更新矩阵
Figure BDA0001758278570000046
的开关状态进行计数;
(2)显存空间未占满时,依据最近最少使用算法对每次计算使用的状态更新矩阵
Figure BDA0001758278570000047
对应的开关状态计数,即本时刻对应的开关状态计数置零,其余对应开关状态计数加1;
(3)显存空间占满时,删去最近最少使用算法的计数序列中计数最高的开关状态对应的状态更新矩阵
Figure BDA0001758278570000048
同时将最近最少使用算法的计数序列置零,进入下一时步。
本发明的面向电力电子暂态仿真加速的图形处理器内存管理方法,着眼于有限计算资源情况与大规模电力系统电磁暂态仿真计算需求之间的矛盾。仿真过程中,多个电力电子开关的快速变化使得系统状态频繁发生改变,进而需要多次对状态更新矩阵
Figure BDA0001758278570000049
进行求解和存储,随之导致计算效率低以及计算资源占用过多的问题。基于最近最少使用算法的内存替换方法,能够保证在有限的计算资源下电磁暂态仿真的顺利进行,另一方面随着实际电力系统的规模不断增加,对仿真规模的要求也不断增加,使用内存替换方法之后,能够以牺牲很少仿真速度的条件下,极大地提高仿真规模的大小。
附图说明
图1是本发明面向电力电子暂态仿真加速的图形处理器内存管理方法的流程图;
图2是本发明实施例的永磁直驱风力发电系统仿真框图;
图3是LRU算法示意图;
图4是LCL滤波器电压的仿真结果图;
图5是LCL滤波器电压的仿真结果的局部放大图;
图6是LCL滤波器电流的仿真结果图;
图7是LCL滤波器电流的仿真结果的局部放大图。
具体实施方式
下面结合实施例和附图对本发明的面向电力电子暂态仿真加速的图形处理器内存管理方法做出详细说明。
如图1所示,本发明的面向电力电子暂态仿真加速的图形处理器内存管理方法,包括如下步骤:
1)在状态分析框架下,建立待仿真电力系统的暂态仿真模型,用如下的非线性微分方程组描述:
Figure BDA0001758278570000051
其中,x为电气系统和控制系统的状态变量,状态矩阵A表示系统微分方程中线性部分的系数,包括各状态量子模块及相互耦合关系,反映系统中用于求取状态变量x的相关信息,而g(t,x)则代表系统微分方程中的非线性部分,y是由状态变量x决定的输出量;
对于本发明的实施例,x是包含当前时刻电气系统以及控制系统中各元件的状态向量,矩阵A是由LCL滤波器子模块,电机的子模块以及与风机的开关状态相关的子模块元素组成。
2)进行系统初始化,初始化对象包括:状态矩阵A、状态变量初值x0、仿真起始时刻t0、仿真时间T、仿真步长h和
Figure BDA0001758278570000052
函数
Figure BDA0001758278570000053
其中
Figure BDA0001758278570000054
设定当前时刻为仿真起始时刻tn=t0,设置状态变量初值xn=x0;根据状态矩阵A的维度计算待仿真电力系统中的状态更新矩阵
Figure BDA0001758278570000055
的大小,在图形处理器(GPU)设备端给仿真程序开辟固定的显存空间,初始化最近最少使用算法(LRU)的计数序列;本发明的实施例中设定仿真时间10s,仿真步长5us。
所述的计算待仿真电力系统中的状态更新矩阵
Figure BDA0001758278570000056
的大小,具体包括:
(1)根据待仿真电力系统中电力电子电路的规模大小,计算出状态更新矩阵的维度dimmexp,确定变流器台数N和每台变流器中的开关个数Nsw
(2)根据双精度数占内存大小以及状态更新矩阵
Figure BDA0001758278570000057
的维度计算状态更新矩阵
Figure BDA0001758278570000058
的大小,并根据总开关数Nsw*N,计算仿真中能够出现的所有开关状态,共
Figure BDA0001758278570000059
种;
(3)根据状态更新矩阵
Figure BDA00017582785700000510
的大小在图形处理器设备端给仿真程序分配相应大小的内存。
3)根据暂态仿真模型中的状态矩阵A以及设定的仿真步长h,在主机端(CPU)计算状态更新矩阵
Figure BDA00017582785700000511
4)将并行计算时用到的状态矩阵A、状态更新矩阵
Figure BDA00017582785700000512
以及系统状态变量x由主机端内存传输到对应的图形处理器设备端显存上,将当前状态下的状态更新矩阵
Figure BDA00017582785700000513
存储在图形处理器设备端的全局存储器上,判断已存储的矩阵数据是否超过分配给仿真程序的显存空间,若超过则继续下一步,否则转到步骤6);
5)更新最近最少使用算法的计数序列,采用如图3所示的最近最少使用算法,在图形处理器设备端分配给仿真程序的显存空间占满时,用新数据替换显存中的数据,并初始化对应于开关状态的最近最少使用算法的计数序列;所述的用新数据替换显存中的数据,包括:
(1)初始化最近最少使用算法的计数序列,所述计数序列的维度由分配给仿真程序的内存大小决定,并对对应于状态更新矩阵
Figure BDA00017582785700000514
的开关状态进行计数;
(2)显存空间未占满时,依据最近最少使用算法对每次计算使用的状态更新矩阵
Figure BDA00017582785700000515
对应的开关状态计数,即本时刻对应的开关状态计数置零,其余对应开关状态计数加1;
(3)显存空间占满时,删去最近最少使用算法的计数序列中计数最高的开关状态对应的状态更新矩阵
Figure BDA00017582785700000516
同时将最近最少使用算法的计数序列置零,进入下一时步。
6)在图形处理器上利用并行计算资源,使用基于指数积分的电磁暂态仿真方法对电气系统进行求解,得出状态变量x以及开关状态向量S,并传回主机端;
7)通过开关状态向量S判断开关状态在本时步内是否改变,若不变则转至步骤11),否则继续下一步;
8)开关状态改变时计算tn时刻状态变量x的值;
9)根据开关状态向量S判断当前状态对应的状态更新矩阵
Figure BDA0001758278570000063
在显存空间中是否存在,若存在则继续下一步,否则根据开关状态向量S对仿真模型中状态矩阵A的相应元素进行更新,转至步骤3);
10)调用图形处理器设备端存储器中储存的对应于当前状态的矩阵数据,并转至步骤6);
11)由yn=f(tn,xn)得到tn时刻的输出向量并写入输出数据文件,更新当前时刻为下一时步tn=tn+h,仿真向前推进一个步长;
12)比较当前时刻tn与仿真时间T,判断是否已经抵达仿真结束时刻,若已经达到,则仿真结束;若未达到,则转到步骤6)。
本发明实施例是将理想电源直接接入N(N分别为2、3、5、10)部永磁同步直驱风力发电系统,以此作为算例验证本章所提方法。直驱风力发电系统采用永磁同步电机,采用全功率双PWM变流器与电网相连作为并网结构,每台永磁同步电机包含6个电力电子开关。永磁直驱风力发电系统仿真框图如图2所示。在dq0坐标系下,永磁同步电机电压方程为:
Figure BDA0001758278570000061
磁链方程为:
Figure BDA0001758278570000062
电磁转矩方程为:
Te=isqψsd-isdψsq
执行仿真计算的计算机硬件环境为Inter(R)Xeon E5-2623v3中央处理器,内存容量32GB、Tesla K20C图形处理器,SM数为13,CUDA核心数为2496,CUDA核心频率为706MHz,全局储存器容量4.67GB;软件环境为Linux14.04操作系统;使用CUDA提供的面向稠密矩阵的CUBLAS库函数和面向稀疏矩阵的CUSPARSE库函数。
将本发明的面向电力电子暂态仿真加速的图形处理器内存管理方法与MATLAB版本的指数积分一般性串行方法进行对比。LCL滤波器电压电流的仿真结果及其局部放大图如图4~图7所示,其中实线为MATLAB仿真结果,虚线为使用内存管理方法的GPU程序仿真结果。从图中可以看出两者具有高度的一致性,说明本发明的方法可以有效地保证仿真精度。
表1给出了10s仿真时长中使用最近最少使用(LRU)算法的仿真程序和不使用任何内存管理策略的仿真程序之间的对比,可以看出计算资源是限制大规模系统仿真的障碍之一,当对10台风机进行仿真时,需要在设备端给程序分配9570.31MB空间,已超过本例使用的图形处理器最大全局内存4782MB,导致程序退出,而使用LRU算法,仅需在设备端预先分配500MB空间,仿真便能够完整进行。使用LRU算法对仿真程序进行内存管理,如表2所示,分配内存越大,设备端能够存储越多的状态更新矩阵
Figure BDA0001758278570000064
相应的复用次数越多,如此便减少了仿真程序总体的计算量,加快了仿真的速度。
表1无内存管理与LRU算法内存和计算时间
Figure BDA0001758278570000071
表2状态更新矩阵
Figure BDA0001758278570000073
存储情况
Figure BDA0001758278570000072

Claims (2)

1.一种面向电力电子暂态仿真加速的图形处理器内存管理方法,其特征在于,包括如下步骤:
1)在状态分析框架下,建立待仿真电力系统的暂态仿真模型,用如下的非线性微分方程组描述:
Figure FDA0003157785650000011
其中,x(t)为t时刻电气系统和控制系统的状态变量,状态矩阵A表示系统微分方程中线性部分的系数,包括各状态量子模块及相互耦合关系,反映系统中用于求取状态变量x(t)的相关信息,而g(t,x(t))则代表系统微分方程中的非线性部分,y(t)是由状态变量x(t)决定的输出量,F(t,x(t))表示状态变量x(t)的状态转移关系,f(t,x(t))表示输出量y(t)和状态变量x(t)的关系;
2)进行系统初始化,初始化对象包括:状态矩阵A、状态变量初值x0、仿真起始时刻t0、仿真时间T、仿真步长h和
Figure FDA0003157785650000012
函数
Figure FDA0003157785650000013
其中
Figure FDA0003157785650000014
设定当前时刻为仿真起始时刻tn=t0,设置状态变量初值xn=x0;根据状态矩阵A的维度计算待仿真电力系统中的状态更新矩阵
Figure FDA0003157785650000015
的大小,在图形处理器设备端给仿真程序开辟固定的显存空间,初始化最近最少使用算法的计数序列;包括:
(1)根据待仿真电力系统中电力电子电路的规模大小,计算出状态更新矩阵的维度dimmexp,确定变流器台数N和每台变流器中的开关个数Nsw
(2)根据双精度数占内存大小以及状态更新矩阵
Figure FDA0003157785650000016
的维度计算状态更新矩阵
Figure FDA0003157785650000017
的大小,并根据总开关数Nsw*N,计算仿真中能够出现的所有开关状态,共
Figure FDA0003157785650000018
种;
(3)根据状态更新矩阵
Figure FDA0003157785650000019
的大小在图形处理器设备端给仿真程序分配相应大小的内存;
3)根据暂态仿真模型中的状态矩阵A以及设定的仿真步长h,在主机端计算状态更新矩阵
Figure FDA00031577856500000110
4)将并行计算时用到的状态矩阵A、状态更新矩阵
Figure FDA00031577856500000111
以及系统状态变量x由主机端内存传输到对应的图形处理器设备端显存上,将当前状态下的状态更新矩阵
Figure FDA00031577856500000112
存储在图形处理器设备端的全局存储器上,判断已存储的矩阵数据是否超过分配给仿真程序的显存空间,若超过则继续下一步,否则转到步骤6);
5)更新最近最少使用算法的计数序列,采用最近最少使用算法,在图形处理器设备端分配给仿真程序的显存空间占满时,用新数据替换显存中的数据,并初始化对应于开关状态的最近最少使用算法的计数序列;
6)在图形处理器上利用并行计算资源,使用基于指数积分的电磁暂态仿真方法对电气系统进行求解,得出状态变量x以及开关状态向量S,并传回主机端;
7)通过开关状态向量S判断开关状态在本时步内是否改变,若不变则转至步骤11),否则继续下一步;
8)开关状态改变时计算tn时刻状态变量x的值;
9)根据开关状态向量S判断当前状态对应的状态更新矩阵
Figure FDA0003157785650000021
在显存空间中是否存在,若存在则继续下一步,否则根据开关状态向量S对仿真模型中状态矩阵A的相应元素进行更新,转至步骤3);
10)调用图形处理器设备端存储器中储存的对应于当前状态的矩阵数据,并转至步骤6);
11)由yn=f(tn,xn)得到tn时刻的输出向量并写入输出数据文件,更新当前时刻为下一时步tn=tn+h,仿真向前推进一个步长;
12)比较当前时刻tn与仿真时间T,判断是否已经抵达仿真结束时刻,若已经达到,则仿真结束;若未达到,则转到步骤6)。
2.根据权利要求1所述的面向电力电子暂态仿真加速的图形处理器内存管理方法,其特征在于,步骤5)所述的用新数据替换显存中的数据,包括:
(1)初始化最近最少使用算法的计数序列,所述计数序列的维度由分配给仿真程序的内存大小决定,并对对应于状态更新矩阵
Figure FDA0003157785650000022
的开关状态进行计数;
(2)显存空间未占满时,依据最近最少使用算法对每次计算使用的状态更新矩阵
Figure FDA0003157785650000023
对应的开关状态计数,即本时刻对应的开关状态计数置零,其余对应开关状态计数加1;
(3)显存空间占满时,删去最近最少使用算法的计数序列中计数最高的开关状态对应的状态更新矩阵
Figure FDA0003157785650000024
同时将最近最少使用算法的计数序列置零,进入下一时步。
CN201810896405.6A 2018-08-08 2018-08-08 面向电力电子暂态仿真加速的图形处理器内存管理方法 Active CN109271250B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810896405.6A CN109271250B (zh) 2018-08-08 2018-08-08 面向电力电子暂态仿真加速的图形处理器内存管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810896405.6A CN109271250B (zh) 2018-08-08 2018-08-08 面向电力电子暂态仿真加速的图形处理器内存管理方法

Publications (2)

Publication Number Publication Date
CN109271250A CN109271250A (zh) 2019-01-25
CN109271250B true CN109271250B (zh) 2021-09-07

Family

ID=65153166

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810896405.6A Active CN109271250B (zh) 2018-08-08 2018-08-08 面向电力电子暂态仿真加速的图形处理器内存管理方法

Country Status (1)

Country Link
CN (1) CN109271250B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7567252B2 (en) * 2003-12-09 2009-07-28 Microsoft Corporation Optimizing performance of a graphics processing unit for efficient execution of general matrix operations
CN102663207B (zh) * 2012-04-28 2016-09-07 浪潮电子信息产业股份有限公司 一种利用gpu加速量子介观体系求解的方法
CN103268297A (zh) * 2013-05-20 2013-08-28 浙江大学 基于异构多核平台的加速核虚拟便笺存储器的方法
CN105574809B (zh) * 2015-12-16 2018-07-20 天津大学 基于矩阵指数的电磁暂态仿真图形处理器并行计算方法
CN107918292B (zh) * 2017-11-29 2020-10-27 天津大学 面向指数积分的电力电子电路暂态仿真gpu加速方法

Also Published As

Publication number Publication date
CN109271250A (zh) 2019-01-25

Similar Documents

Publication Publication Date Title
CN107918292B (zh) 面向指数积分的电力电子电路暂态仿真gpu加速方法
CN109146067B (zh) 一种基于FPGA的Policy卷积神经网络加速器
CN108710596A (zh) 一种基于dsp和fpga多协处理卡的桌面超算硬件平台
CN110163357A (zh) 一种计算装置及方法
CN110717583A (zh) 卷积电路、处理器、芯片、板卡和电子设备
CN112686379B (zh) 集成电路装置、电子设备、板卡和计算方法
CN117785480B (zh) 处理器、归约计算方法及电子设备
Sun et al. Real-time electromagnetic transient simulation of multi-terminal hvdc–ac grids based on gpu
CN115437602A (zh) 任意精度计算加速器、集成电路装置、板卡及方法
CN110163349A (zh) 一种网络模型的计算方法及装置
CN114996638A (zh) 一种顺序架构的可配置快速傅里叶变换电路
CN109271250B (zh) 面向电力电子暂态仿真加速的图形处理器内存管理方法
CN109857190A (zh) 一种时钟信号处理方法、装置、设备及可读存储介质
CN111610963B (zh) 芯片结构及其乘加计算引擎
CN109214059B (zh) 用于电力电子高效暂态仿真的图形处理器内存管理方法
Hu et al. High-performance reconfigurable DNN accelerator on a bandwidth-limited embedded system
CN109977446A (zh) 集成电路芯片装置及相关产品
CN114201727A (zh) 数据的处理方法、处理器、人工智能芯片及电子设备
CN111260070B (zh) 运算方法、装置及相关产品
Debnath Real-time simulation of modular multilevel converters
Chen et al. Parallelizing FPGA technology mapping using graphics processing units (GPUs)
CN113806077A (zh) 基于人工智能的数据中心服务器调控方法及装置
CN107529638B (zh) 线性求解器的加速方法、存储数据库及gpu系统
CN112346704A (zh) 一种用于卷积神经网络的全流水线型乘加单元阵列电路
CN109558109A (zh) 数据运算装置及相关产品

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
GR01 Patent grant
GR01 Patent grant