基于GPU的电磁暂态并行仿真研究

合集下载

GPU并行计算技术在物理仿真模拟中的加速效果初探

GPU并行计算技术在物理仿真模拟中的加速效果初探

GPU并行计算技术在物理仿真模拟中的加速效果初探计算机的发展与进步,在很大程度上依赖于计算能力的提升。

而在计算能力的提升中,GPU并行计算技术扮演着重要的角色。

近年来,随着GPU技术的不断发展和普及,越来越多的领域开始将GPU并行计算技术应用于各种科学与工程计算中。

特别是在物理仿真模拟领域,GPU并行计算技术的应用已经取得了显著的加速效果。

本文将探讨GPU并行计算技术在物理仿真模拟中的加速效果,以及对于物理仿真模拟的意义和潜力。

首先,需要了解GPU并行计算技术的基本原理。

GPU并行计算技术是利用图形处理器(Graphics Processing Unit)进行计算任务的技术。

与传统的CPU(Central Processing Unit)相比,GPU具备更多的核心和更高的并行计算能力。

传统的CPU是针对通用计算任务进行设计的,而GPU则专注于图形渲染和并行计算。

由于物理仿真模拟中的计算任务通常具有高并行性,因此GPU并行计算技术在该领域中具备广阔的应用前景。

在物理仿真模拟中,常见的任务包括流体力学、固体力学、电磁场仿真等。

这些任务的共同特点是计算量大、复杂度高、对计算资源的要求较高。

传统的CPU计算能力有限,在处理这些任务时常常需要耗费大量的时间。

而GPU并行计算技术则通过利用其强大的并行计算能力,将这些任务分解成多个小任务,并同时进行计算。

这样一来,不仅能够显著减少计算时间,同时也能提高计算效率和准确度。

以流体力学仿真为例,流体力学仿真是模拟和研究流体运动的一种方法。

这个领域的计算任务通常较为复杂和庞大,需要处理大量的方程和数据。

传统的CPU对于大规模流体力学仿真往往需要数天甚至数周的时间。

然而,GPU并行计算技术能够将计算任务划分成多个小任务,并同时进行,大大缩短了计算时间。

实际应用中的案例表明,通过利用GPU并行计算技术,流体力学仿真的计算时间可以缩短到数小时甚至数分钟,大幅提升了仿真效率。

基于GPU的高性能并行算法研究共3篇

基于GPU的高性能并行算法研究共3篇

基于GPU的高性能并行算法研究共3篇基于GPU的高性能并行算法研究1基于GPU的高性能并行算法研究随着计算机技术的不断发展和GPU的逐渐普及,基于GPU的高性能并行计算已经成为了当前研究的热点之一。

作为现代计算机中的重要组成部分,GPU为我们提供了强大的并行计算能力,能够处理大规模数据,并且具有更快的计算速度和更低的能源消耗。

因此,研究基于GPU的高性能并行算法已经成为了一个重要的课题。

目前,基于GPU的高性能并行算法主要涵盖了三个方面:并行算法设计、并行程序优化和计算模型设计。

在这些方面的研究中,有一些最新的进展已经取得了令人瞩目的成果。

首先,基于GPU并行算法设计的研究是为了高效地利用GPU在并行计算方面的能力。

GPU上的并行算法采用的是SIMD方式,即对于同一个指令的多个数据进行并行计算。

此法将指令发射和控制逻辑大大简化,极大地提高了计算的效率。

其次,对于并行程序优化,在开发GPU并行算法时,程序员需要选择适当的数据结构,评估算法的并行效率,同时还需要进行负载均衡。

因此,优化GPU上的并行程序非常具有挑战性,并且需要付出更多的支出。

最后,基于GPU的计算模型设计方面的研究包括理论上的基础研究和实践研究。

在基础研究方面,主要包括GPU计算的中心化和分布式算法的研究。

而实践研究则主要针对系统架构设计、调度运行和数据移动等方面。

在GPU的应用方面,许多领域都能够受到GPU并行算法的帮助,例如大规模数据处理、图像处理、计算流体力学、生物学建模和量子计算等。

其中,GPU并行算法在深度学习、计算机视觉和自然语言处理等方面展现出了巨大的优势。

总结一下,基于GPU的高性能并行算法研究引发了越来越广泛的关注,持续推进了GPU并行算法的开发。

这项研究已经在广泛的领域中应用,特别是在科学计算领域、媒体和图形、人工智能领域中。

期待这一领域能够在未来不断发展,为我们带来更多的新机遇和发现综上所述,GPU并行算法作为一种高效、可扩展的计算方式,已经被广泛应用于许多领域中。

基于GPU的高效并行计算技术研究

基于GPU的高效并行计算技术研究

基于GPU的高效并行计算技术研究随着科技的不断发展,计算机的硬件性能也不断提升,尤其是GPU并行计算技术的兴起,为高效的科学计算和数据分析提供了更加强大的支持。

本文旨在探讨基于GPU的高效并行计算技术的研究与应用。

一、GPU并行计算技术的发展历程最初,GPU只具备图形渲染能力,但随着图形需求的不断变化和对高性能计算的需求,GPU的运算速度被不断提高,同时具备了更加强大的并行计算能力。

在经过长时间的发展,GPU终于发展成为可以实现高效并行计算的众多运算单元组成的计算机处理器。

此次GPU并行计算技术的发展是几乎不可避免的。

随着计算复杂度和数据量的不断提高,CPU已经无法继续升级;然而,GPU的运算单元数量不断增加,因此具备了很强的并行计算能力,从而成为高性能计算的主要技术之一。

二、GPU并行计算技术的研究应用领域GPU并行计算技术广泛应用于不同领域的科学计算、工程仿真、机器学习、深度学习、虚拟现实等。

例如,在天体物理学中,使用GPU来模拟引力场,模拟辐射颜色和光度对于测量恒星和星系的性质至关重要;在分子动力学中,GPU并行计算技术可用于模拟和分析分子的动态过程,从而加深对化学反应的理解;在机器学习领域,GPU并行计算技术被广泛应用于深度学习的神经网络训练和推理等。

三、GPU并行计算技术的优点相比于传统的CPU计算,GPU有以下优点:1.速度更快:GPU并行计算技术可以大幅提高计算速度,减少计算时间。

2.处理能力更强:GPU的并行计算能力非常强,可以同时执行多个任务,从而提高数据处理的效率。

3.节省空间:与传统计算机相比,GPU所占用的空间更小。

4.省电:GPU能够使用低功耗方案,降低功耗,从而节省能量。

四、GPU并行计算技术的挑战虽然GPU并行计算技术有很多优点,但它也面临着许多挑战,例如:1.串行代码重构:使用GPU高效并行计算有时需要对代码进行重构,以使其适合GPU的计算模型。

但是,这个过程可能非常耗时,并且需要更多的经验和技能。

基于GPU并行计算的物理模拟研究

基于GPU并行计算的物理模拟研究

基于GPU并行计算的物理模拟研究随着计算机技术的不断发展,GPU并行计算在物理模拟研究领域应用的越来越广泛。

当前,GPU并行计算已经成为物理模拟领域中不可或缺的工具之一。

本文将阐述GPU并行计算在物理模拟研究领域中的作用和应用。

一、GPU并行计算概述GPU是图形处理器的缩写,是一种高效率的并行计算设备。

GPU并行计算能够大大提高计算速度和运算能力,实现并行计算的方式是通过同时对多个数据进行计算。

与之相对的是CPU,CPU计算方式是逐个计算,而GPU则可以同时对多个数据进行处理,从而大大缩短计算时间。

二、物理模拟研究领域中GPU并行计算的应用1、天体物理学中的应用天体物理学是研究天体以及宇宙演化的学科,其研究对象极其巨大、复杂。

在天体物理学中,GPU并行计算可以应用于模拟恒星的形成和演化过程,还可以应用于模拟黑洞的形成和演化过程等。

GPU并行计算的高效率,使得天体物理学的研究变得更加精确和高效。

2、材料科学中的应用材料科学是研究材料的结构、性能和加工技术等方面的学科。

在材料科学中,GPU并行计算可以应用于模拟材料晶体的生长过程、熔融物质的流动过程等。

GPU并行计算的高效性,大大提高了模拟精度和研究效率。

3、气体动力学中的应用气体动力学是研究气体的热力学、动力学和流体力学等方面的学科。

在气体动力学中,GPU并行计算可以模拟流体的整体运动,包括涡流、湍流等现象。

GPU并行计算的高效性,是气体动力学模拟研究变得更加精确。

三、GPU并行计算在物理模拟研究中的优势1、高效性GPU并行计算的高效性是其最大的优势之一。

相较于CPU,GPU能够同时计算多个数据,从而大大提高计算速度。

2、灵活性GPU并行计算的灵活性也值得称赞。

GPU可以在不同的并行计算模式下工作,能够根据需要进行计算和处理。

同时,GPU的灵活性使其适用于不同规模的物理模拟计算。

3、高精度GPU并行计算的高精度是其另一个优势。

GPU并行计算可以处理更大和更多的数据,从而使得物理模拟计算更加精确。

混响室电磁环境的GPU并行重建算法及应用研究

混响室电磁环境的GPU并行重建算法及应用研究

混响室电磁环境的GPU并行重建算法及应用研究混响室电磁环境的GPU并行重建算法及应用研究摘要:混响室是一种被广泛应用于音频处理和声学测量领域的环境模拟设备。

在混响室中,电磁波的传播和反射会对测量结果产生干扰。

本文针对混响室电磁环境下的信号重建问题,采用GPU并行计算技术,提出了一种高效的重建算法。

该算法通过GPU并行处理,提高了计算速度和重建精度,并在混响室中进行了实际应用。

1. 引言混响室是一种模拟各种环境声音反射特性以及加入混响效果的设备。

在音频处理和声学测量中,混响室广泛应用于各类实验和测试中。

由于混响室内部反射较多,电磁波的传播受到干扰,影响了测量结果的准确性。

因此,混响室电磁环境下的信号重建问题是一个具有挑战性的任务。

2. 相关工作之前的研究已经探索了对混响室内信号进行重建的方法。

其中包括基于滤波器设计的方法、基于统计学习的方法以及基于传统优化算法的方法等。

然而,这些方法在计算效率和重建精度上存在一定的局限性。

3. 算法设计本文提出了一种基于GPU并行计算的混响室电磁环境下的信号重建算法。

该算法主要包括以下步骤:(1)数据采集:通过在混响室内部布置一组接收天线,采集到混响室内的信号数据。

(2)信号处理:对采集到的信号数据进行滤波和降噪处理,去除干扰信号。

(3)并行计算:利用GPU并行计算的优势,对经过处理的信号数据进行重建计算。

将复杂的计算任务分解成多个并行的计算阶段,有效提高了计算速度和重建精度。

(4)重建结果分析:对计算得到的重建结果进行分析和评估,验证算法的有效性。

4. 实验结果本文在一台配置了高性能GPU的计算机上进行了实验。

实验结果表明,采用GPU并行计算的算法相比传统的算法,具有更高的计算速度和更优的重建精度。

通过分析实验结果,还发现了不同参数设置对算法性能的影响。

5. 应用研究本文的算法在混响室的信号重建中取得了较好的结果,为混响室的电磁环境干扰问题提供了有效的解决方案。

基于GPU的电磁暂态并行仿真研究

基于GPU的电磁暂态并行仿真研究

基于GPU的电磁暂态并行仿真研究姚蜀军;韩民晓;张硕;林芝茂;李昊【摘要】随着电力系统大量高压直流、新能源、柔性交流输电系统的接入,传统电磁暂态仿真由于步长小、仿真速度慢,已无法满足大规模系统的仿真需求.近年来,图形处理器(GPU)在高性能计算领域发展迅速,通过GPU优化从而提高电磁暂态仿真计算效率成为可能.本文在研究了GPU结构特点后,提出了一种适用于电磁暂态仿真线性方程组的并行LU分解算法,从三个方面对传统算法进行了加速.通过和基于CPU的传统算法的仿真结果对比,证明了本算法的优越性.【期刊名称】《电工电能新技术》【年(卷),期】2019(038)001【总页数】7页(P10-16)【关键词】电磁暂态仿真;图形处理器;LU分解;并行算法【作者】姚蜀军;韩民晓;张硕;林芝茂;李昊【作者单位】华北电力大学电气与电子工程学院,北京102206;华北电力大学电气与电子工程学院,北京102206;华北电力大学电气与电子工程学院,北京102206;华北电力大学电气与电子工程学院,北京102206;国网山东省电力公司烟台栖霞供电局,山东烟台265300【正文语种】中文【中图分类】TM7431 引言近年来,我国已经形成了全世界电压等级最高、规模最大的电力系统网络,并且正在从传统电网向智能电网方向发展。

然而,现代电力系统由于大量高压直流、新能源、柔性交流输电系统的接入,在带来巨大经济效益的同时,电网整体的安全性也受到了严重的影响[1]。

随着电力电子设备大规模应用于电力系统,系统谐波和系统之间的相互耦合作用日益增加[2]。

高频动作的电子设备使得分析系统的暂态过程越来越复杂,微秒级和毫秒级的电磁暂态过程、毫秒级和秒级的机电暂态过程以及分钟级以上的中长期动态过程之间的耦合程度越来越高,相互影响也越来越大。

这就使得原来以准稳态模型为基础的机电暂态仿真,在某些特殊运行工况下不能再客观地反映真实情况[3]。

因此,要准确地得到电力系统暂态过程的详细数据,就需要进行电力系统全电磁暂态仿真分析[4]。

基于GPU的航空瞬变电磁法响应模拟

基于GPU的航空瞬变电磁法响应模拟

基于GPU的航空瞬变电磁法响应模拟沈磊;董春晖【摘要】An efficient algorithm for time-domain airborne EM forward simulation is presented.It is based on CUDA (compute unified device architecture) that was released by NVIDIA in 2007.We derivate the time domain airborne EM formula and then write the code with GPU language accordingly.The modeled results demonstrate that the parallel processing capabilities of graphics processors (GPUs).This significant improvement in performance is gained compared to the corresponding CPU-based solver, while maintaining the numerical accuracy.To the best of the authors' knowledge, this is the fastest time-domain solver for modeling the AEM simulation.It would have potential for complex geophysics model calculation and inversion.%针对航空瞬变电磁法正演算法结构与GPU的并行性运算相结合,推导出了航空瞬变电磁法一维正演公式,在2007年NVIDIA公司推出的CUDA平台上实现了一维正演算法在GPU上的调用.为验证CUDA C语言程序的正确性,设计了几个模型,并与C代码模拟的响应做了对比,结果表明,基于GPU的CUDA C代码所编的程序在航空瞬变电磁法的模拟中拥有明显优势,速度提高非常明显,在复杂的地球物理学模型计算和反演中,拥有巨大的发展潜力.【期刊名称】《物探化探计算技术》【年(卷),期】2017(039)002【总页数】6页(P170-175)【关键词】GPU;CUDA;航空瞬变电磁法;一维正演【作者】沈磊;董春晖【作者单位】山东交通职业学院公路与建筑学院,潍坊261206;山东交通职业学院公路与建筑学院,潍坊261206;大连海事大学道路与桥梁工程研究所,大连 116026【正文语种】中文【中图分类】P631.2随着地球物理勘探工作的深度和广度不断提高,数据处理结果的精度要求也越来越高。

基于GPU的并行计算模型研究

基于GPU的并行计算模型研究

基于GPU的并行计算模型研究近年来,大数据、人工智能、深度学习等新兴技术的发展给计算机领域带来了极大的发展机会,而高性能并行计算是其基石。

GPU并行计算模型在此背景下迅速崛起,成为高性能并行计算的重要手段。

本文将围绕基于GPU的并行计算模型进行研究探讨。

一、GPU并行计算模型的基本原理GPU并行计算模型是一种基于CPU和GPU协同工作的计算模型。

GPU(Graphics Processing Unit,图形处理单元)是一种专门用于图形处理的处理器,它是CPU的辅助处理器,能够高效地并行处理大量数据。

GPU的发展始于图形学,但是,在计算机科学领域,GPU被更广泛地应用于高性能计算、深度学习等领域。

GPU并行计算模型基于这样一种思想:将任务分为多个独立的子任务,将这些子任务分配给不同的处理器核心同时处理,从而实现高效的并行计算。

与传统的串行计算相比,GPU并行计算模型具有更高的效率和更快的速度。

二、GPU并行计算模型的应用领域GPU并行计算模型被广泛应用于以下几个领域:1、高性能计算领域。

GPU并行计算模型被广泛应用于高性能计算中,常用于处理大数据、科学计算等任务。

因为GPU的高速并行处理能力,使得GPU并行计算模型在高性能计算领域具有很大潜力,能够极大地提高计算效率。

2、深度学习领域。

GPU并行计算模型因其高效的并行处理能力而被广泛应用于深度学习领域。

如今,深度学习在计算机视觉、语音识别、自然语言处理等领域表现优异,其中,GPU的并行计算能力发挥了重要作用。

3、虚拟现实领域。

虚拟现实技术需要高性能的计算和图形处理能力,GPU并行计算模型可提供高效的虚拟现实应用支持,如虚拟现实游戏、虚拟现实教育等领域均得到了广泛应用。

三、GPU并行计算模型的优势和挑战GPU并行计算模型的优势在于高效的并行处理能力。

由于GPU被设计为处理大量数据的并行处理器,因此其比CPU更适合运行并行任务。

GPU并行计算模型在处理图像、声音等数据密集型任务中,具有更快的计算速度和更好的效率。

基于GPU的高性能并行计算技术研究

基于GPU的高性能并行计算技术研究

基于GPU的高性能并行计算技术研究近年来,计算机技术的发展推动着各领域的科学技术快速发展。

而计算机的性能则是计算技术重要的指标之一。

为了能够更高效地利用计算机,各种计算技术层出不穷,其中基于GPU的高性能并行计算技术日益受到关注。

GPU(Graphics Processing Unit),最初是为了图形渲染而设计的专用芯片,但是其高并行算力和内存带宽等优势,使其逐渐成为通用并行计算的重要工具。

GPU的并行计算能力比起CPU(Central Processing Unit)有着天然的优势。

比如,CPU的核心数相对较少,且每个核心内部有复杂的控制逻辑,导致同一时间只有一个或很少的任务可以并行;而GPU的核心数则多达成百上千,且这些核心专门处理简单的并行计算任务。

因此,GPU更适合处理密集计算型任务,例如图形渲染、模拟计算、深度学习等。

GPU的并行计算与CPU不同之处在于,GPU的计算任务需要被显式地划分为许多小而独立的任务,以便在GPU的多个核心上并行计算。

这一划分操作被称为分割(splitting)。

GPU中的每个核心(也称作流处理单元)拥有其独立的指令序列和寄存器集,这些核心同时进行处理不同的任务,从而加速计算。

高性能并行计算任务也依赖于GPU的快速存储器。

通常,GPU使用GDDR(Graphics Double Data Rate)内存,其带宽比CPU中使用的DDR(Double Data Rate)存储器高度优化,而且具有更大的带宽和内存容量。

GPU的高性能并行计算技术有广泛的应用,例如天气预报、蛋白质折叠、量子化学计算等。

在科学计算领域,传统的CPU计算能力已经无法满足科学计算的要求。

这时GPU高性能并行计算技术的应用就能充分发挥。

在生物医学领域,使用GPU计算技术,加快了药物筛选和患者个性化医疗方案的研究速度和准确性。

另外在图形渲染领域,结合GPU的高性能计算和图形技术,能够快速生成复杂景观、特效等。

基于GPU计算平台的电磁散射计算并行加速技术的开题报告

基于GPU计算平台的电磁散射计算并行加速技术的开题报告

基于GPU计算平台的电磁散射计算并行加速技术的开题报告一、研究背景及意义电磁散射是一个重要的物理问题,在多个领域都有广泛的应用。

如雷达、天线、传感器、隐身技术等都与电磁散射密切相关。

电磁散射的计算模型涉及复杂的数学方程和大量的数据计算,需要大量的计算资源和时间。

因此,如何提高电磁散射的计算效率,成为了电磁散射研究的一个重要课题。

现在,GPU作为一种高性能并行计算平台已经被广泛应用于计算密集型任务中,其在并行计算的能力上远远超过了CPU。

与CPU相比,GPU可以同时处理数百个线程,并且可以在同一时间内执行多个计算任务,从而大大提高了计算效率。

因此,通过GPU并行加速电磁散射的计算,可以在一定程度上提高计算效率和精度。

二、研究内容及方法本文将研究基于GPU计算平台的电磁散射计算并行加速技术。

首先,将深入分析电磁散射的计算过程和模型,并阐述现有的电磁散射计算方法及其优缺点。

然后,将重点研究如何将电磁散射计算并行处理,以充分利用GPU的并行计算能力。

具体来说,本文将采用以下方法进行研究:1.首先,建立基于GPU的电磁散射计算模型,将电磁散射计算过程中的核心算法移植到GPU平台上,并进行算法优化和加速。

2.其次,研究GPU并行计算中的数据分配和处理方式,以充分利用GPU的并行计算能力,提高计算效率。

3.最后,利用实验验证的方法,对比GPU并行计算和单CPU计算的效率和精度,并阐述GPU并行计算技术在电磁散射计算中的应用前景。

三、研究预期成果本文将通过研究基于GPU计算平台的电磁散射计算并行加速技术,提高电磁散射的计算效率和精度,同时拓展GPU在计算密集型任务中的应用领域。

具体来说,预期的成果如下:1.建立基于GPU的电磁散射计算模型,将电磁散射计算过程中的核心算法移植到GPU平台上,并进行算法优化和加速。

2.研究GPU并行计算中的数据分配和处理方式,以充分利用GPU的并行计算能力,提高计算效率。

3.通过实验验证,比较GPU并行计算和单CPU计算的效率和精度,证明GPU并行计算技术在电磁散射计算中的优势。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第38卷第1期2019年1月电工电能新技术Advanced Technology of Electrical Engineering and EnergyVol.38,No.1Jan.2019收稿日期:2018-10-24基金项目:国家电网公司技术项目(SGHA0000KXJS1700353)作者简介:姚蜀军(1973-),男,湖北籍,副教授,研究方向为电力系统建模仿真㊁电力系统运行与控制;韩民晓(1963-),男,陕西籍,教授,博导,博士,研究方向为直流输电㊁电力电子技术在电力系统中的应用㊂基于GPU 的电磁暂态并行仿真研究姚蜀军1,韩民晓1,张㊀硕1,林芝茂1,李㊀昊2(1.华北电力大学电气与电子工程学院,北京102206;2.国网山东省电力公司烟台栖霞供电局,山东烟台265300)摘要:随着电力系统大量高压直流㊁新能源㊁柔性交流输电系统的接入,传统电磁暂态仿真由于步长小㊁仿真速度慢,已无法满足大规模系统的仿真需求㊂近年来,图形处理器(GPU )在高性能计算领域发展迅速,通过GPU 优化从而提高电磁暂态仿真计算效率成为可能㊂本文在研究了GPU 结构特点后,提出了一种适用于电磁暂态仿真线性方程组的并行LU 分解算法,从三个方面对传统算法进行了加速㊂通过和基于CPU 的传统算法的仿真结果对比,证明了本算法的优越性㊂关键词:电磁暂态仿真;图形处理器;LU 分解;并行算法DOI :10.12067/ATEEE1810040㊀㊀㊀文章编号:1003-3076(2019)01-0010-07㊀㊀㊀中图分类号:TM7431㊀引言近年来,我国已经形成了全世界电压等级最高㊁规模最大的电力系统网络,并且正在从传统电网向智能电网方向发展㊂然而,现代电力系统由于大量高压直流㊁新能源㊁柔性交流输电系统的接入,在带来巨大经济效益的同时,电网整体的安全性也受到了严重的影响[1]㊂随着电力电子设备大规模应用于电力系统,系统谐波和系统之间的相互耦合作用日益增加[2]㊂高频动作的电子设备使得分析系统的暂态过程越来越复杂,微秒级和毫秒级的电磁暂态过程㊁毫秒级和秒级的机电暂态过程以及分钟级以上的中长期动态过程之间的耦合程度越来越高,相互影响也越来越大㊂这就使得原来以准稳态模型为基础的机电暂态仿真,在某些特殊运行工况下不能再客观地反映真实情况[3]㊂因此,要准确地得到电力系统暂态过程的详细数据,就需要进行电力系统全电磁暂态仿真分析[4]㊂传统的电磁暂态仿真大多采用中央处理器(Central Processing Unit,CPU)来实现,其计算效率也受到CPU 体系结构的制约㊂一方面,计算机硬件的更新速度逐渐放缓,传统单核CPU 的计算能力已接近极限,多核CPU 所能集成的核数有限且导致并行计算开展困难㊂因而单纯依靠传统CPU 架构的计算机来实现大规模电力系统全电磁暂态仿真分析显然不切实际[5]㊂另一方面,图形处理器(Graphics Processing Unit,GPU)迅速崛起,在高性能计算领域逐渐占据一席之地㊂GPU 多核心高集成度的特点使得其在进行大数据并行计算时有着得天独厚的优势㊂因此,通过研究基于GPU 多核处理器的并行仿真技术,开发适合大规模电力系统的电磁暂态并行仿真程序,可以进一步提高现有电网仿真软件的分析仿真能力,为国家电网的规划发展和安全稳定运行提供强有力的技术支撑[6]㊂目前,在电力系统领域,基于GPU 的高性能计算也有了一些探索性的研究㊂文献[7]通过对GPU 架构和电磁暂态仿真原理的研究,论证了通过GPU 加速电磁暂态仿真的可行性㊂文献[8]总结了当前电力系统仿真的主要问题,提出了建立元件平均化模型和建立元件向量化计算模型通过GPU 加速计算的两个策略㊂文献[9]首次提出了基于消去树的分层并行LU 分解方法,其原理是将关系树中每一层的节点进行并行LU 分解㊂这种分层并行的方法虽然也取得了一定的加速效果,但由于消去树分层并不均匀,底层节点数较多而顶层节点数较少,因而并行效果并不理想㊂姚蜀军,韩民晓,张㊀硕,等.基于GPU 的电磁暂态并行仿真研究[J].电工电能新技术,2019,38(1):10-16.11㊀本文在详细研究了线性方程组直接求解法后,提出了一种基于GPU 的电磁暂态线性方程组并行求解算法㊂首先,本文对GPU 架构及其特点进行了详细分析;然后,结合线性方程组串行求解算法提出了并行Crout 分解算法,分别从LU 并行分解㊁多流并行和前代回代并行三个方面对电磁暂态线性方程组求解过程进行加速;最后,分别采用改进并行算法与传统串行求解算法对同一仿真系统进行分析计算,对比两者计算结果及效率㊂2㊀GPU 架构及编程特点2.1㊀GPU 架构特点在架构组成上,CPU 和GPU 都具有控制单元㊁运算单元和存储单元这三个基本单元,但它们在核心中所占的比重却各不相同,图1展示了CPU 与GPU 在架构上的主要差异㊂可以看出,两者的区别在于缓存体系和数字逻辑运算单元的结构差异:CPU 每个核中缓存和控制单元所占的面积较大,计算单元面积则较小;而GPU 则恰恰相反,每个核拥有的存储和控制单元较小,运算单元面积却远远大于CPU [10]㊂这种结构上的差异导致CPU 更适合处理强逻辑的运算,而GPU 更适合多数据的运算㊂图1㊀CPU 和GPU 结构Fig.1㊀CPU and GPU structureGPU 实际上由众多可伸缩处理器阵列(ThreadProcessing Cluster,TPC)组成,每个TPC 包含多个流处理器簇(Streaming Multiprocessor,SM)㊁一个图形控制器和一个SM 控制器[9]㊂每个SM 核心包含完整的控制㊁存储和计算单元(SP),相当于CPU 的一个核心㊂而SP 仅含有寄存器和指令指针,是GPU 中最基本的运算单元,具体的指令和任务都是通过它完成的,GPU 的内部结构如图2所示㊂2.2㊀GPU 编程特点CUDA(Compute Unified Device Architecture)程序分为两部分,一部分主机(Host)代码由CPU编译图2㊀GPU 内部结构图Fig.2㊀GPU internal structure diagram执行,包括设备(Device)代码启动程序㊁设备内存分配程序㊁主机内存和设备数据传输程序;另一部分设备代码由GPU 执行,即所谓的内核函数(kernel),内核函数的调用是异步的,即主机仅仅把要执行的内核函数顺序提交给GPU,并不等待其执行完成,然后直接处理后面其他的任务㊂另外,在调用内核函数时需要指定并行线程的数量㊂线程(Thread )是最基本的执行流,线程块(Block)是线程的组合,一个线程块中包含多个线程,线程网络(Grid)又包含多个线程块[11]㊂CUDA 运行时允许启动一个二维线程网络,并且线程网络中的线程块可以是三维线程数组㊂CUDA 的线程模型是一个三级结构,分别有线程㊁线程块和线程网络,如图3所示㊂图3㊀线程结构图Fig.3㊀Thread structure diagram12㊀电工电能新技术第38卷第1期线程网络中某一维线程块的数量由gridDim 表示,如网络中x 维度上线程块的数量为gridDim.x ㊂同理,一个线程块中某一维线程的数量由blockDim 表示㊂线程块在网络中的坐标由blockIdx 表示,对于二维线程网络来说线程块的坐标即表示为(block-Idx.x ,blockIdx.y )㊂同理,线程在线程块中的坐标由threadIdx 表示,对于二维线程块下,线程的坐标即为(treadIdx.x ,treadIdx.y ),线程网络中的每个线程都有自己对应的线程块号和线程号㊂对于一个线程网络中的某个线程的索引可表示为:idx =(blockIdx.x ㊃blockDim.x )+threadIdx.x idy =(blockIdx.y ㊃blockDim.y )+threadIdx.y thread _idx =(gridDim.x ㊃blockDim.x )㊃idy +idxìîíïïï(1)㊀㊀CUDA 中的内核函数实质上是以线程块为单位执行的,每个网络内的多个线程块需要分配到不同的流处理器簇上分别调度运行,而同一个线程块中的线程需要共享数据,它们必须在同一个流处理器簇中执行㊂同一个流处理器簇上可以有多个活动的线程块轮转执行,即流处理器簇可以同时存储多个线程块的上下文数据,但同一时刻只能有一个线程块运行,不同线程块之间无法通信,也没有执行顺序㊂这样做的好处是,当一个线程块在进行同步或者访问显存等高延时操作时,流处理器簇可以转去处理另一个就绪的线程块,从而提高了计算速度[12]㊂3㊀基于GPU 的并行Crout 求解算法3.1㊀矩阵分块排序稀疏线性方程组求解主要包括四个过程:预处理㊁符号分解㊁数值分解和求解,预处理主要是对稀疏矩阵进行分块和节点重排序,稀疏矩阵的LU 分解可能有大量注入元产生,不同的消元顺序对应的LU 矩阵规模会相差数倍[13]㊂因此,在求解稀疏线性方程组之前需要对其进行节点重排序,以寻找最利于消元的矩阵结构㊂符号分解是不进行具体元素数值的分解计算,其目的是在数值LU 分解过程中根据这些记录,采用简单直接的寻址方式,使得数据查询量大大减少,计算速度明显提升㊂为了提高开发效率,本文采用了应用最广泛的KLU 软件包中的分块排序函数和符号分解函数进行矩阵的预处理及符号分解步骤㊂KLU 是由Clark Kent 公司开发的一种用于求解稀疏线性方程组的高性能软件包[14],其排序算法原理如下:首先,KLU通过深度优先算法形成节点关系图,根据节点间的连接关系将原矩阵排列成一个块对角矩阵,即对角线由一组块矩阵组成,对角块的左侧均为0元素,如图4所示;然后,KLU 会应用减小注入元排序算法对每个对角块矩阵进行重排序,保证其在后续分解过程中可以产生较小的注入元,从而加快计算速度㊂图4㊀上对角块矩阵方程组Fig.4㊀Upper diagonal block matrix equations由图4可知,KLU 函数库的排序算法可以将原系数矩阵变换为一个上对角块矩阵,这样原本稀疏矩阵的元素就集中在对角块上㊂这种方法使得只需对对角块进行后续的LU 分解即可,大大降低了数值分解的计算量,并且并行分解也因此成为可能㊂3.2㊀并行Crout 分解算法常用的LU 分解有四种算法,分别为Left-loo-king㊁Right-looking㊁Up-looking 以及Crout 算法㊂其中Crout 算法由于其分解过程中元素之间的计算依赖性较小,更利于并发多线程计算㊂基本Crout 分解原理如下:假设分解进行到第i 步,该步之前的A 矩阵元素已完成LU 分解,如图5所示㊂矩阵中黑色部分为已知量,颜色较浅部分为第i 步要分解的元素㊂图5㊀Crout 分解算法Fig.5㊀Crout decomposition algorithm(1)按照式(2)计算U 矩阵的第i 行元素值:姚蜀军,韩民晓,张㊀硕,等.基于GPU 的电磁暂态并行仿真研究[J].电工电能新技术,2019,38(1):10-16.13㊀u ij =a ij -ðj -1k =1l ik u kji +1ɤj ɤn (2)㊀㊀(2)按照式(3)计算u ii 元素值:u ii =a ii -ði -1k=1l ik u ki (3)㊀㊀(3)通过式(4)和式(5)计算L 矩阵的第i 列元素:l ji =a ji -ði -1k=1l jk u ki i +1ɤj ɤn (4)l ji =l ji /u ii ,l ii =1i +1ɤj ɤn(5)㊀㊀从上述计算过程可知,在Crout 算法计算过程中,U 矩阵的第i 行和L 矩阵的第i 列元素在计算时彼此无关,仅与i 步之前的计算结果以及A 矩阵元素有关,因此,此过程可通过GPU 并行计算㊂而且,L 矩阵第i 行最后的除法计算同样也可以配置独立的线程进行计算,但是其计算过程与上一步不同,因此需要重新配置一个内核函数进行计算㊂这样,Crout 串行算法即可改造成两个内核函数串联执行的多线程并行执行的算法㊂综上所述,Crout 分解法的GPU 优化算法计算过程如图6所示㊂流程中Kernel 1函数并发的线程数是L 矩阵第i 列元素数目和U 矩阵第i 行元素数目之和,Kernel 2函数并发的线程数是L 矩阵第i 列元素数目㊂Kernel 2函数的计算过程需要在Kernel1函数的所有线程计算结束后才能进行,否则会出现计算错误㊂因而在Kernel 1函数最后加入线程同步操作,确保所有线程均已计算结束㊂同样,Kernel2函数最后加入线程同步操作是为了保证后续计算时该行的分解计算已完全结束㊂图6㊀优化Crout 算法流程Fig.6㊀Optimization of Crout algorithm flow3.3㊀多流并行优化GPU 在支持多线程并行的同时,也可以通过创建两个或多个不同的CUDA 流水线进行多任务的并行㊂但GPU 的多流并行与CPU 不同,并不是完全意义上的并行,而是一种重叠并行的过程㊂单个流水线执行可以划分为三个过程:CPU 向GPU 传输数据㊁GPU 执行㊁GPU 向CPU 传输数据,如图7所示㊂图7展示了一个CUDA 执行流的时间线,其中中间部分代表GPU 执行计算任务,第一部分代表CPU 通过PCI-E 总线向GPU 传输数据,第三部分代表结果数据从GPU 拷贝到CPU 的过程㊂GPU 的多流并行是指同时创建多个执行流,利用执行部分与数据传输部分的重叠并行从而一定程度上隐藏数据传输带来的延时,达到提高运算效率的目的[5,6]㊂以两个执行流并行为例,流水线各部分配合的原理如图8所示㊂图7㊀执行时间线Fig.7㊀Executiontimeline图8㊀执行流重叠原理Fig.8㊀Principle of execution stream overlap程序开始时创建两个Stream,Stream 1在进行数据传输时Stream 2处于等待状态㊂Stream 1执行运行核函数时,Stream 2执行CPU 传输数据给GPU,期间核函数执行过程一般会比数据传输时间长,因而Stream 2传输完成后会有一段等待时间㊂当Stream 1开始将数据从GPU 拷贝到CPU 中时,Stream 2进入核函数执行过程㊂从图8中可以看出,虽然在并行过程中Stream 1和Stream 2都仍有等待时间,但这种重叠并行的执行总时长相对来说还是较短的㊂根据GPU 重叠并行的特点,本算法设计使用两条执行流来进行对角块矩阵的分解工作,具体方案如图9所示㊂可以看出,以四对角块矩阵为例,在主机端形成任务池并且开辟两条执行流,Stream 1串14㊀电工电能新技术第38卷第1期行计算A 11和A 22的分解过程,Stream 2串行计算A 33和A 44的分解过程,两个执行流按照重叠并行规则并行运算㊂图9㊀并行流分解原理Fig.9㊀Parallel flow decomposition principle3.4㊀前推回代算法并行优化在LU 分解之前,矩阵会通过排序方式排列为对角块矩阵,然后对对角块矩阵进行分解,而非对角块矩阵不进行分解㊂分解结束后需要进行前推回代运算才能求得最终解,然而这一部分运算由于前后关联度较大,无法通过多线程并行计算,因而在CPU 中运算较为合适㊂虽然基础前推回代运算无法并行,但GPU 可对其中的矩阵与相量间运算进行加速㊂仍以图4为例,当对角阵A 11㊁A 22㊁A 33和A 44均分解结束后,CPU 需要首先计算A 44矩阵对应的解,然后矩阵A 14㊁A 24和A 34需要与解相量相乘从而更新右端项㊂首先,由式(6)求出对角块A 44对应的解向量x 4,然后由式(7)更新右端项b 1㊁b 2和b 3㊂式(6)和式(7)联合可依次从对角块矩阵A 44开始倒序计算出线性方程组的解向量㊂L 44y 4=b 4U 44x 4=y 4{(6)b 1=b 1-A 14x 4b 2=b 2-A 24x 4b 3=b 3-A 34x 4ìîíïïïï(7)㊀㊀式(7)运算过程可通过GPU 计算加速,其并行方法与3.2节中的Kernel 1类似,不再详细叙述㊂4㊀算法测试4.1㊀算例说明本文采用微软公司的Visual Studio 2015作为开发环境,英伟达公司的CUDA Toolkit 作为GPU 的开发工具,采用C ++语言编写程序㊂算例采用四组IEEE14节点系统拼接而成,连接节点为IEEE14节点中的Bus9和Bus13引出线㊂左右两部分采用长输电线路连接,系统接线图如图10所示㊂图10㊀56节点系统Fig.10㊀Power system with 56nodes4.2㊀正确性测试设置故障发生在IEEE14-2系统出线Bus3,分别测量线路Tline1两端节点A 和B 电压㊂传统电磁暂态仿真程序仿真步长采用50μs,仿真时长为0.5s,基于GPU 的改进算法程序仿真步长采用0.5ms,仿真时长为0.5s㊂(1)情形1㊂当系统在A 点0.2s 时发生单相接地故障,故障持续0.05s 时,A 点电压波形如图11和图12所示㊂图11㊀原始算法结果(情形1)Fig.11㊀Result of original algorithm (example 1)图12㊀改进算法结果(情形1)Fig.12㊀Result of improved algorithm (example 1)姚蜀军,韩民晓,张㊀硕,等.基于GPU 的电磁暂态并行仿真研究[J].电工电能新技术,2019,38(1):10-16.15㊀(2)情形2㊂当系统在A 点0.2s 时发生三相接地故障,故障持续0.05s 时,A 点电压波形如图13和图14所示,B 点电压波形如图15和图16所示㊂图13㊀原始算法结果(情形2)Fig.13㊀Result of original algorithm (example2)图14㊀改进算法结果(情形2)Fig.14㊀Result of improved algorithm (example2)图15㊀原始算法结果(B 点)Fig.15㊀Result of original algorithm (point B)4.3㊀效率测试为了测试新算法的高效性,本文以4.1节系统为基本单元,以Bus9和Bus13作为引出端,通过输电线路以串联的方式连接各子系统,分别构成节点数为56㊁112㊁224㊁448的系统,各系统执行时间对比如表1所示㊂由表1数据可知,当节点数较少时,改进算法效率相对原始算法加速效果不明显,甚至可能效率更低㊂随着节点数目的增加,改进算法的加图16㊀改进算法结果(B 点)Fig.16㊀Result of improved algorithm (point B)速性逐渐体现,当节点数达到448时,改进算法可达到1.5倍加速效果㊂表1㊀算法耗时与加速比Tab.1㊀Algorithm time consumption and speedup ratio节点数执行时长/s原始算法改进算法加速比564.8475.5130.87911210.91310.837 1.00722419.36917.873 1.08444885.29156.562 1.5085㊀结论本文首先对GPU 的架构特点和编程特点分别作了详细的介绍,通过和CPU 比较,详细研究了基于GPU 并行计算的优点㊂然后结合电磁暂态线性方程组求解特点,提出了基于GPU 的并行Crout 求解算法,分别从三个方面对传统算法进行了加速优化㊂最后,通过实验取得了最高1.5倍的加速比㊂由于GPU 的并行加速性适用于大规模的数据,因此理论上将节点数目拓展到上千时,改进算法的加速性能才会完全体现㊂然而由于实验工作量巨大,研究时间有限,对于如此庞大的数据量处理较为耗时,本文并未做更进一步的效率测试㊂参考文献(References ):[1]王维洲,刘茜,但扬清,等(Wang Weizhou,Liu Qian,Dan Yangqing,et al.).大规模新能源接入电网连锁故障预防控制策略研究(Study of strategy to prevent and control power grid cascading failure connecting large-scale new energy)[J].电工电能新技术(Advanced Tech-nology of Electrical Engineering and Energy),2015,34(3):12-17.[2]刘婷婷,文俊,乔光尧,等(Liu Tingting,Wen Jun,Qiao Guangyao,et al.).多馈入直流输电系统谐波相16㊀电工电能新技术第38卷第1期互影响的研究(Study on harmonic effects of multi-in-feed HVDC systems)[J].电工电能新技术(Ad-vanced Technology of Electrical Engineering and Ener-gy),2016,35(1):42-47.[3]李亚楼,张星,李勇杰,等(Li Yalou,Zhang Xing,Li Yongjie,et al.).交直流混联大电网仿真技术现状及面临挑战(Present situation and challenges of AC/DC hybrid large-scale power grid simulation technology)[J].电力建设(Electric Power Construction),2015, 36(12):1-8.[4]Yu Zhitong,Chen Ying,Song Yankan,et parisonof parallel implementations of controls on GPU for transi-ent simulation of power system[A].Proceedings of the 35th Chinese Control Conference[C].2016.9996-10001.[5]Jalili-Marandi V,Dinavahi V.SIMD-based large-scaletransient stability simulation on the graphics processing u-nit[J].IEEE Transactions on Power Systems,2010,25(3):1589-1599.[6]Debnath J K,Fung W K,Gole A M,et al.Simulation oflarge-scale electrical power networks on graphics process-ing units[A].IEEE Electrical Power and Energy Con-ference[C].2011.199-204.[7]Inoue Y,Asai H.Acceleration of large electromagneticsimulation including non-orthogonally aligned thin struc-tures by using multi-GPU HIE/C-FDTD method[A].IEEE Electrical Design of Advanced Packaging and Sys-tems Symposium[C].2016.170-173.[8]Zhao Jinli,Liu Juntao,Li Peng.GPU based parallel ma-trix exponential algorithm for large scale power system e-lectromagnetic transient simulation[A].Innovative Smart Grid Technologies[C].2016.110-114. [9]Zhou Zhiyin,Dinavahi Venkata.Parallel massive threadelectromagnetic transient simulation on GPU[J].IEEE Transactions on Power Delivery,2014,29(3):1045-1053.[10]鄂志君,应迪生,陈家荣,等(E Zhijun,Ying Dish-eng,Chen Jiarong,et al.).动态相量法在电力系统仿真中的应用(Application of dynamic phasor theory in modern power system simulation)[J].中国电机工程学报(Proceedings of the CSEE),2008,28(31):42-47.[11]Ren Ling,Chen Xiaoming,Wang Yu.Sparse LU factori-zation for parallel circuit simulation on GPU[A].Design Automation Conference[C].2012.1125-1130.[12]Kerr A,Dan C,Richards M.QR decomposition on GPUs[A].Workshop on General Purpose Processing onGraphics Processing Units[C].2009.71-78. [13]Tinney W F,Brandwajn V,Chan S M.Sparse vectormethod[J].IEEE Transactions on Power Apparatus and Systems,1985,PAS-104(2):295-301. [14]Debnath J K,Gole A M,Fung W K.Graphics processingunit based acceleration of electromagnetic transients simu-lation[J].IEEE Transactions on Power Delivery,2016, 31(5):2036-2044.Research on electromagnetic transient parallel simulation based on GPU YAO Shu-jun1,HAN Min-xiao1,ZHANG Shuo1,LIN Zhi-mao1,LI Hao2(1.School of Electrical and Electronic Engineering,North China Electric Power University,Beijing102206,China;2.Yantai Qixia Power Supply Bureau,State Grid Shandong Electric Power Company,Yantai265300,China)Abstract:In the power system,due to the access of a large number of high-voltage direct current(HVDC),new energy,and flexible AC transmission systems,the traditional electromagnetic transient simulation can not meet the simulation requirements of large-scale systems due to the small step size and slow simulation speed.In recent years,graphics processing unit(GPU)has been developing rapidly in the field of high performance computing.It is possible to optimize electromagnetic transient simulation by GPUs so as to improve computational efficiency.After studying the structure of GPU,a parallel LU decomposition algorithm for electromagnetic transient simulation linear equations is proposed,which accelerates the traditional algorithm from three pared with the simulation results based on CPU,the superiority of the algorithm is proved.Key words:electromagnetic transient simulation;graphic processing unit;LU decomposition;parallel algorithm。

相关文档
最新文档