Larsson-Traeff Evaluating OpenMP Performance Analysis Tools with the APART

合集下载

openmmlab 混合精度训练

openmmlab 混合精度训练

openmmlab 混合精度训练
OpenMMLab是一个基于PyTorch的开源深度学习工具库,它提供了一系列基础模型和模型组件,可以帮助开发者快速构建自己的深度学习应用。

在深度学习训练中,使用混合精度训练可以有效地提高训练速度和模型性能。

本文将介绍OpenMMLab如何支持混合精度训练。

混合精度训练是指在深度神经网络的计算过程中,使用半精度浮点数(FP16)代替单精度浮点数(FP32)进行计算。

由于FP16数据类型可以减少内存占用,从而使GPU可以处理更大的批次大小和更深的网络结构,因此可以提高训练速度和模型性能。

为了实现混合精度训练,OpenMMLab使用了Apex库中的AMP(自动混合精度)功能。

AMP可以自动将模型中的FP32操作转换为FP16操作,并在需要时将其转换回FP32操作,从而在不影响模型精度的情况下提高训练速度和内存效率。

OpenMMLab还提供了一个包装器,可以将普通的PyTorch模型转换为支持AMP的模型。

除了AMP之外,OpenMMLab还提供了其他一些工具来支持混合精度训练。

例如,它提供了一个基于不同GPU的内存大小和网络结构的自适应批次大小调整器。

这个调整器可以根据GPU内存的大小自动调整批次大小,从而最大化GPU的使用率,并加快训练速度。

此外,OpenMMLab还提供了一个分布式训练的模块,可以将训练任务分配到多个GPU上进行并行计算,从而加快训练速度。

总之,OpenMMLab提供了丰富的工具和功能来支持混合精度训练,可以帮助开发者更快速、更高效地训练深度学习模型。

使用IntelParallelStudio优化程序性能实例分析

使用IntelParallelStudio优化程序性能实例分析
这时会有一个 Configure 对话框出现。使用者可以拖动滚动条去选择不同的级别。滚动条从 上到下,分析过程的负载计算量逐级增加。这里,选择第三级“Where are the memory access problem”。然后点击“Run Analysis”按钮。
\aA A
4
a 检查的过程需要花费一定的时间。运行完成后,前面提到的运行时错误的消息框再次出现。 点击 “Close program”,然后等待 Intel® Parallel Inspector 分析完成后,两个内存访问的错 误被发现并显示出来。一个是 “Uninitialized memory access” 另一个是“Invalid memory access”。
分析源码,发现 curIndex 在每次(j)循环开始时被以 iniIndex 的值初始化:
iniIndex += j; int curIndex = iniIndex;
iniIndex 总是存储参与卷积计算矩阵的左上角那个元素的索引43;= j” 这句计算有错误导致 iniIndex 每次多加,并且若干次循环后会超出 索引值的上限。移去这句程序,并且在每次循环(j)的末尾加上 “iniIndex++”。重新编译此 工程,并且运行,运行时错误不再出现。
Intel® Parallel Amplifier 英特尔® Parallel Amplifier 使迅速查找多线程性能瓶颈变得简单, 不需要了解处理器架构或代码也可以查找。Parallel Amplifier 省略了推断过程,能够分析 Windows* 应用程序的性能行为,快速访问度量信息,从而加快并改进决策制定。
Intel® Parallel Advisor Lite 是一个预览版组件,能够洞悉并行化如何提升应用程序性能, 帮助提高并行程序设计效率。

在fortran下进行openmp并行计算编程

在fortran下进行openmp并行计算编程

在fortran下进⾏openmp并⾏计算编程最近写⽔动⼒的程序,体系太⼤,必须⽤并⾏才能算的动,⽆奈只好找了并⾏编程的资料学习了。

我想我没有必要在博客⾥开⼀个什么并⾏编程的教程之类,因为⽹上到处都是,我就随⼿记点重要的笔记吧。

这⾥主要是openmp的~1 临界与归约在涉及到openmp的并⾏时,最需要注意的就是被并⾏的区域中的公共变量,对于需要reduce的变量,尤其要注意,⽐如这段代码:program mainimplicit noneinclude 'omp_lib.h'integer N,M,ireal(kind=8) tN=20000t=0.0!$OMP PARALLEL DOdo i=1,Nt=t+float(i);M=OMP_get_num_threads()enddowrite(*, "('t = ', F20.5, ' running on ', I3, ' threads.')") t,Mpausestopend串⾏代码可以很容易的得到正确结果:t = 200010000.00000 running on 1 threads.不幸的是,如果是并⾏的话,可能每次都得到⼀个不同的结果:t = 54821260.00000 running on 8 threads.t = 54430262.00000 running on 8 threads.....原因很简单,假设do被并⾏了两个线程,A1,A2,则每个线程都可以t,在其中⼀个线程访问t的时候,另⼀个线程修改了t,导致t的某些值“丢了”。

解决⽅法有两种,第⼀种就是“临界”,就是锁定t:!$OMP PARALLEL DOdo i = 1, N!$OMP CRITICALt = t+float(i)!$OMP END CRITICALM = OMP_get_num_threads()enddo这样每个时刻只有⼀个线程能访问这个变量。

Contents

Contents

EPCC-SS-2000-01 Benchmarking the Sun HPC3500,Sun HPC6500and the Wildfire systemMichael A.ClarkAbstractHigh performance computers are analysed using simple MPI,OpenMP and mixed mode Game of Life codes.Direct comparison between the HPC3500and HPC6500is used to approximate the operating system overhead present,and it is found that operating system uses up to of the machine’s processing power. Vast performance increases are discovered when using OpenMP on the HPC6500, which are due to caching effects caused by the shared memory nature of OpenMP. The scalability of the Wildfire system is investigated,it is found that the intercon-nect latency is negligible,though the operating system overhead can be witnessed.N357911131517 720X X X X840X X X X1920X X X2448X X X 4896X X XProcessors Max SpeedupHPC350032432412169 1.911161160.928489.8 3.6273.473.30.884663.0 5.1555.755.60.832851.4 6.32HPC650032632512175 1.871211210.893494.3 3.4777.477.20.841666.6 4.9058.758.40.793853.1 6.15Processors Max SpeedupHPC350037937812199 1.901411400.8944101 3.7599.198.70.765671.8 5.2988.287.40.613861.3 6.19HPC650038138112200 1.901411400.9004101 3.7899.398.90.767671.8 5.3286.586.30.629857.9 6.58Processors Max SpeedupHPC350037937912199 1.901411400.8974114 3.3399.499.10.763691.5 4.1687.487.00.620889.6 4.26HPC650037937912199 1.901401400.8984114 3.3399.098.40.766691.3 4.1786.886.00.624884.6 4.50Processors OMP Max SpeedupHPC35001327326121173 1.8911711710.9524188.4 3.7121001000.8104492.4 3.54663.062.80.8656278.2 4.18274.173.80.7366666.1 4.95855.054.90.7428255.1 5.96263.863.40.6418855.3 5.91HPC65001328328121174 1.8911771750.9254188.6 3.7121071060.7624497.9 3.37663.463.30.8636279.7 4.13279.579.00.6896670.1 4.72852.151.90.7888255.2 5.97265.865.60.6248856.3 5.84Processors Max SpeedupHPC3500 5.13 5.112 2.6 1.951.75 1.70.9774 1.3 3.911.05 1.00.97560.8 5.860.750.70.97680.67.80HPC6500 5.13 5.112 2.6 1.951.75 1.70.9764 1.3 3.911.05 1.00.97860.8 5.870.7500.70.97880.67.820.5830.50.978100.59.770.4770.40.979120.411.70.4040.40.977140.313.60.3520.30.972160.315.50.3110.30.971180.217.4Processors Max SpeedupHPC3500 5.13 5.112 2.6 1.951.75 1.70.9784 1.3 3.911.05 1.00.97760.8 5.860.7520.70.97680.87.30HPC6500 5.14 5.112 2.6 1.951.75 1.70.9794 1.3 3.911.05 1.00.97860.8 5.870.7500.70.97980.67.820.5840.50.977100.59.770.4790.40.975120.411.70.4040.40.978140.313.70.3510.30.975160.315.50.3090.30.976180.217.5Processors Max SpeedupOpenMP24023912131 1.8391.290.80.877470.8 3.4058.558.20.820650.8 4.7340.640.50.737937.8 6.3936.035.50.6661233.57.2731.431.00.5091631.57.6534.334.00.388127911471470.9463105 2.6575.274.90.928576.0 3.7053.853.70.865844.9 6.2838.037.90.8151039.37.1431.631.50.7351528.59.8425.825.70.6741837.67.48MPI(1D)28028012147 1.901051040.890486.9 3.2675.274.50.746670.8 4.0165.064.80.539965.4 4.3164.964.60.4321268.5 4.1374.674.00.2501677.0 3.6687.085.90.179Table8:The times obtained from running the OpenMP and MPI Game of Life on the HPC6500between one and eighteen processors(N=720),together with the resulting speedup and efficiencyfigures.Processors Max SpeedupOpenMP57405710122910 1.97154015400.93151260 4.55107010700.8908903 6.438168050.782107587.627137040.7321246912.23693630.9731736916.43303250.9641655018658600.94698218.077327260.745167119.327497420.514187658.65Prediction Maximum Efficiency2-334-5611-1212Table10:The locations where the predicted jumps in performance are expected and there actual locations.The numerical results can be seen in Table11and are plotted in Figure19.The largest performance jumps are seen at their predicted locations(see Table10).From the plot it can be seen that super linear speedup is witnessed both before and after these locations. For the result,the greatest efficiencyfigures do not concur with the predic-tions.This can be explained by the fact the code in fact uses two arrays of size,and as a result the point of cache miss or no cache miss becomes clouded.These results do confirm the hypothesis.Processors Max SpeedupN=12001050105012391 2.68240238 1.454187 5.65152150 1.3861308.10113112 1.31810310.294.293.3 1.231086.712.181.981.2 1.161277.813.575.374.1 1.071473.314.472.471.80.961672.214.971.970.80.851878.213.7N=160022502240121020 2.18633627 1.184422 5.36285284 1.57622210.1194193 1.64817412.9159158 1.561014815.2138138 1.461213516.9129128 1.331412618.1120117 1.241612018.9122120 1.071812318.7Processors Max SpeedupOpenMP22300223001211700 1.90622061900.89664380 5.09341034100.8161029107.68273027300.7411225008.92227022700.75414212010.5197019700.75216188011.8188018400.69718165013.5MPI(1D)2590025900110346007.51331033000.7101231708.17309030900.6431430708.43300030000.5741630208.59303030300.5021833207.81Processors Max SpeedupOpenMP64264212336 1.902292290.9314176 3.641431430.8926121 5.271061060.859894.7 6.7785.385.30.8351078.48.1973.073.00.7991268.29.4265.265.20.7571462.210.359.159.10.7241658.011.056.956.80.6631858.410.961.060.80.5532060.710.659.259.20.5152258.910.958.658.30.4762459.410.8MPI(1D)72.272.11238.9 1.8621.321.10.845814.9 4.8616.216.00.4931016.1 4.5519.319.30.3111520.7 3.5717.717.40.2531719.3 3.7820.620.00.1942223.6 3.0921.421.30.1462422.8 3.16Processors Max SpeedupOpenMP48904890122540 1.92131013100.9298702 6.976376370.852105848.385165160.7881545510.74304290.7101741711.74204200.6452237113.13573550.5952434814.0MPI(1D)50505050122740 1.84161016000.78481260 4.01116011500.485101150 4.42108010700.388151020 4.9310209900.31017992 5.229599450.292221290 3.98136013300.161241380 3.68Processors Max SpeedupOpenMP8-8-183********7534 6.024884870.82294407.304004000.802123389.502792780.7681626512.12502500.7541823913.42012010.7252319416.51871860.715131600.110000iterations492049200.917843407.27389038900.9021035508.90303030300.86915258012.2249024900.79417244012.9249024900.70319226013.9212021200.67723204015.4197019700.666135400110000iterations641064000.79086160 5.77570056800.690105360 6.64500049800.5901546907.56460045700.4811747007.54467046500.4212248207.39481047800.3202449807.23Processors Max SpeedupMixed Mode32203220131110 2.885975960.89994187.70327327.60.8191527511.72392390.7472121614.91991990.674 Table16:The times obtained from running the Game of Life with Wildfire(N=4896). The data from the OpenMP and one dimensional MPI runs of the code are shown in Table15with the mixed mode runs shown in Table16.The speedup plotted on Figure24.There is another improvement in the scaling of the MPI code.Now a small dip can be witnessed in jumping from seven to eight processors,giving evidence of an O/S overhead.There is a distinctive difference in the speedup pattern between the OpenMP runs.The 18-8-8run scales better until seventeen processors,which is the expected result since until this point only one box is being used.At eighteen processors the O/S overhead causes a sharp decrease in performance.This effect is witnessed to a lesser degree on the8-8-18results at eight processors.The mixed mode results appear to be the most Amdahl in nature.The O/S overhead is never apparent in these results because at no point are the boxes solelyfilled.The scaling seems to be generally as good as the OpenMP runs and there is no evidence of Wildfire latency.。

Unsupervised learning of finite mixture models

Unsupervised learning of finite mixture models

[18], [36], [37], which converges to a maximum likelihood (ML) estimate of the mixture parameters. However, the EM algorithm for finite mixture fitting has several drawbacks: it is a local (greedy) method, thus sensitive to initialization because the likelihood function of a mixture model is not unimodal; for certain types of mixtures, it may converge to the boundary of the parameter space (where the likelihood is unbounded) leading to meaningless estimates. An important issue in mixture modeling is the selection of the number of components. The usual trade off in model order selection problems arises: With too many components, the mixture may over-fit the data, while a mixture with too few components may not be flexible enough to approximate the true underlying model. In this paper, we deal simultaneously with the above mentioned problems. We propose an inference criterion for mixture models and an algorithm to implement it which: 1) automatically selects the number of components, 2) is less sensitive to initialization than EM, and 3) avoids the boundary of the parameters space. Although most of the literature on finite mixtures focuses on mixtures of Gaussian densities, many other types of probability density functions have also been considered. The approach proposed in this paper can be applied to any type of parametric mixture model for which it is possible to write an EM algorithm. The rest of paper is organized as follows: In Section 2, we review finite mixture models and the EM algorithm; this is standard material and our purpose is to introduce the problem and define notation. In Section 3, we review previous work on the problem of learning mixtures with an unknown number of components and dealing with the drawbacks of the EM algorithm. In Section 4, we describe the proposed inference criterion, while the algorithm which implements it is presented in Section 5. Section 6 reports experimental results and Section 7 ends the paper by presenting some concluding remarks.

超级计算机

超级计算机
目录
¾ 超级计算机...............................................................................................................................1 超级计算环境 2007 年 3 季度运行情况简报 .........................................................................1
深腾6800
● 共197名用户,3季度增加用户6名。 ● 有134名用户利用LSF提交作业,共完成.51000多个作业,用户作业平均规模为5.9个CPU,累计 使用机时112万CPU小时(按Walltime计算)。 ● 2007年3季度,深腾6800的磁盘阵列系统与QsNet网络系统先后发生故障,导致深腾6800的平均 整体使用率有所下降,为83.5%(按Walltime计算),平均CPU利用率69.1%(按CPUtime计算)。CPUtim e与Walltime之比平均为82.7%。 ● 2007年3季度,作业平均等待时间为23.3小时。 ● 已完成作业按规模分布情况:串行作业数量占62.6%,4处理器节点内并行作业数量占21.1%。 而根据作业使用的CPU小时计算,占用机时最多的并行作业规模分别为16处理器、33-63处理器、32处理 器、64处理器,其比例分别为21.8%,18.1%,17.9%和12.4%,串行作业仅使用总机时的2.1%,表明深腾6 800的计算机时还是主要用于较大规模的并行作业计算。
1. Introduction ...................................................................................................................2

PPAT:一种Pthread并行程序线程性能分析工具

PPAT:一种Pthread并行程序线程性能分析工具温莎莎;刘轶;刘弢;宋平;李博;钱德沛【摘要】随着多核/众核处理器技术的快速发展,程序需要越来越多地采用多线程并行技术以提升性能。

随着线程个数的增多,线程并行运行过程中相互间同步/互斥及资源竞争关系更加复杂,导致程序性能优化的难度增大。

为了使编程人员直观地了解线程的动态运行过程,特别是线程间同步及资源共享带来的影响,帮助其进行程序性能优化,设计实现了一种面向Pthread的并行程序线程性能分析工具PPAT(Pthreadsprogramanalysistool),该工具可在程序运行过程中动态获取线程运行及线程间互斥/同步信息,生成线程通信图,并以多种可视化的方法显示,为编程人员优化程序性能提供依据。

【期刊名称】《计算机应用与软件》【年(卷),期】2012(000)011【总页数】6页(P43-47,115)【关键词】众核处理器;多线程;资源共享;资源竞争;性能优化【作者】温莎莎;刘轶;刘弢;宋平;李博;钱德沛【作者单位】北京航空航天大学计算机学院北京100191;北京航空航天大学计算机学院北京100191;北京航空航天大学计算机学院北京100191;北京航空航天大学计算机学院北京100191;北京航空航天大学计算机学院北京100191;北京航空航天大学计算机学院北京100191【正文语种】中文【中图分类】TP310 引言近年来,多核处理器技术快速发展,并呈现向众核方向发展的趋势。

Intel以及AMD都相继推出了多核的高端处理器,Intel的Knights Corner处理器核数可以达到50核,甚至更多。

与此同时,Pthreads、OpenMP、MPI这些传统的并行编程语言已日渐成熟,CIlk、TBB等一些并行编程模型也逐渐面向市场。

在这些并行编程语言及模型中,多线程仍是实现并行的主要方式。

线程的分配数量、任务的派发以及在硬件资源上的调度与并行程序的执行性能密切相关。

科技英汉翻译练习11

Ex. 111.Improvement of the accuracy of range alignment in ISAR imaging by using thesuper resolution technique.采/运用超分辨方法改善ISAR(信息储存与检索)图像中距离校正的精确度2.Analysis of the ability of a quartz flexibility accelerometer to resist adverse/badenvironment.石英挠性加速度计/仪抵御不良环境的能力分析3. A spectral analysis of the EMI at the input of the SMPS and its suppression开关电源输入端的电脑干扰频谱分析及其抑制4.Also, a quantitative expression for the effect of all these factors on theperformance of the system is derived, on the basis of which an improved system is presented/proposed.同时,本文推导出了所有这些因素对系统性能影响的定量表达式,在此基础上提出了一种改进型/版系统。

5.The performance of the system has been improved (by) 14 – 30 dB on conditionthat the complexity of the system remains unchanged.在不增加复杂程度的条件下,该系统性能已提高14-30分贝。

6.Measurements are generally of three groups: those made of capacitance, those(made) of current and those (made) of voltage.一般,测量可以分为三种,即电容测量、电流测量和电压测量。

多时间尺度小波变换和LSTM_自编码器电弧故障检测方法

第28卷㊀第4期2024年4月㊀电㊀机㊀与㊀控㊀制㊀学㊀报Electri c ㊀Machines ㊀and ㊀Control㊀Vol.28No.4Apr.2024㊀㊀㊀㊀㊀㊀多时间尺度小波变换和LSTM 自编码器电弧故障检测方法邱婷婷,㊀曹文平,㊀刘孝宇,㊀漆星(安徽大学电气工程与自动化学院,安徽合肥230001)摘㊀要:在光伏发电系统中,电弧故障检测是维持系统安全运行的关键问题㊂以往的电弧故障检测方法大多基于单时间尺度的故障特征,然而单一时间尺度特征往往会受到环境变化的干扰,导致检测精度降低,针对这一问题,提出一种多时间尺度小波和长短时记忆(LSTM )自编码器电弧故障检测方法,该方法首先在机理分析的基础上找到电弧3个特性,即电弧初始阶段电流发生突变㊁燃弧阶段电流均值降低㊁燃弧阶段高频分量变大㊂再基于上述电弧特性进行小波变换提取对应多尺度特征,然后使用LSTM 自编码器进行端到端的自动检测㊂与以往方法不同,该方法提取了电弧特性的多种时间尺度特征,增加了故障信号的检测依据,降低了受外界干扰时检测结果出现误报漏报的可能性㊂理论分析和实验结果表明,所提出的方法降低了故障电弧检测的误报率,提高了其准确率㊂关键词:光伏发电;电弧故障;单类;小波变换;长短时记忆自编码器;多时间尺度特征DOI :10.15938/j.emc.2024.04.015中图分类号:TM501文献标志码:A文章编号:1007-449X(2024)04-0139-10㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀收稿日期:2022-08-31基金项目:科技合作专项-国际科技合作项目(2022h11020023)作者简介:邱婷婷(1999 ),女,硕士研究生,研究方向为光伏逆变器电弧故障诊断;曹文平(1969 ),男,博士,教授,博士生导师,研究方向为电机与电气故障诊断;刘孝宇(1999 ),男,硕士,研究方向为光伏逆变器电弧故障诊断;漆㊀星(1985 ),男,博士,讲师,研究方向为机器学习算法故障诊断㊂通信作者:曹文平Multi time scale wavelet transform and LSTM autoencoderarc fault detection methodQIU Tingting,㊀CAO Wenping,㊀LIU Xiaoyu,㊀QI Xing(School of Electrical Engineering and Automation,Anhui University,Hefei 230001,China)Abstract :In the photovoltaic power generation system,arc fault detection is the key to maintain the safeoperation of the system.Most of the previous arc fault detection methods are based on the fault features of single time scale.However,the single time scale features are often disturbed by environmental changes,resulting in the reduction of detection accuracy.To solve this problem,a multi time scale wavelet and long-short memory(LSTM)autoencoder arc fault detection method was proposed.Firstly,on the basis ofmechanism analysis,the method finds three characteristics of the arc,namely,the sudden change of cur-rent in the initial stage of the arc,the average value of current in the arcing stage decreases and the high frequency component in the arcing stage increases;Based on the above arc characteristics,wavelet trans-form was performed to extract the corresponding multi-scale features,and then LSTM self-encoder wasused for end-to-end automatic detection.Unlike the previous methods,this method extracts the multi-time scale features corresponding to the arc characteristics,which increases the detection basis of the faultsignal and reduces the possibility of false alarm and missing alarm in the detection result when the fault signal is interfered by the outside.Theoretical analysis and experimental results show that the proposed method reduces the false alarm rate of fault arc detection and improves its accuracy. Keywords:photovoltaic power generation;arc fault;one-class;wavelet transform;long-short memory utoencoder;multi-time scale features0㊀引㊀言光伏发电是清洁能源的重要研究领域,检测光伏逆变器的直流故障电弧是保障光伏发电系统安全有效工作的重点之一㊂直流故障电弧一般可分为串联型㊁并联型以及接地型[1-3],其中串联型故障电弧检测是研究重点,当光伏系统发生直流串联电弧故障时,负载电流会减小,相较于另外两种电弧更难被过电流保护装置检测到[4-5],从而容易导致火灾等重大事故的发生㊂针对直流串联型电弧故障,传统方法可以分为基于时频域检测方法和基于物理特性检测方法这两大类㊂基于时频域检测方法是通过故障电弧电流㊁电压的时频域特征对电弧进行检测㊂例如,SEO G S利用快速傅里叶变换(fast Fourier transform,FFT)提取电弧频率特征进行检测故障电弧[6],WANG Z 与BALOG R S利用小波变换实现对故障电弧信号的多分辨率分析,从而利用捕捉的特性对故障电弧进行检测[7]㊂这类方法可以提取到故障电弧的明显特征,但是最终检测结果往往需要人员亲自判断,增加了人力负担㊂另一类基于物理特性的检测方法是通过故障电弧的电磁辐射㊁弧光和噪声等物理特征来构建检测系统,例如KIM C J利用棒形天线和环形天线获取电弧的电磁辐射信号,从而进行检测电弧故障[8],YUVENTI J使用希尔伯特分形天线捕捉直流电弧的高频电磁辐射,然后检测电弧故障[9],这类方法可解释性强,但其往往只能检测固定位置的电弧故障且检测结果易受环境影响㊂近年来,随着机器学习理论的兴起,很多学者采用基于机器学习理论进行直流串联型故障电弧诊断方法的研究㊂相比于传统方法,机器学习的方法具有端到端的优势,其检测的最终结果不会受到人为因素的影响㊂例如,LU S提出基于领域自适应和深度卷积生成对抗网络(domain adaptive-deep convolu-tional generative adversarial networks,DA-DCGAN)的方法检测电弧故障[10]㊂PATIL D D提出基于电压特征利用卷积神经网络(convolutional neural net-work,CNN)进行故障电弧识别[11]㊂然而,这些方法通常只针对信号的单一时间尺度特征进行分析研究,而在实际工程中,单一时间尺度的特征往往会受到外部环境的干扰,进而影响最终的检测结果㊂为了解决单一时间尺度特征导致的误报和漏报问题,本文提出一种基于多时间尺度小波变换长短时记忆(long-short memory,LSTM)自编码器的单类重构算法,进行直流串联型故障电弧的检测㊂首先通过机理分析找到电弧电流3个特性:1)电弧初始阶段电流发生突变;2)燃弧阶段电流均值降低;3)燃弧阶段高频分量变大[12]㊂再基于上述电弧特性通过一组高通和低通滤波器提取对应的多时间尺度特征,然后利用LSTM自编码器模型重构多时间尺度特征,最后根据重构误差进行判断该测试数据是否为故障电弧信号㊂通常,传统方法大多基于电弧某单一时间尺度特性进行故障检测,当光伏系统受到外界因素影响时,可能会造成检测结果的误判或漏判㊂相比较而言,该方法基于电弧特性的理论分析,选取多个时间尺度作为信号特征,能够增加检测的判断依据,提高检测精度,降低误报率,并且实现端到端的自动检测㊂1㊀光伏故障电弧机理分析本节首先分析总结电弧电流的一般特性,然后采集光伏系统中两种最常见的干扰电弧检测情况的电流信号,并分析讨论基于单一时间尺度特征检测故障电弧的缺陷㊂1.1㊀电弧特性分析电弧是气体放电中的自持放电,属于低温等离子体[13]㊂理论研究表明,电弧在不同发展阶段其电流会表现出不同的时间尺度特性,具体分析如下: 1)初始阶段发生突变㊂电弧初始阶段电流会发生突变㊂电爆炸电流电压变化如图1所示,电流突然降低后又迅速上升,并出现振荡现象,这是因为在两极间发生电爆炸产生等离子体过程中,其相应电阻先变大后又减小[14-15],又因所产生的等离子体并不稳定,电流出现振荡现象㊂041电㊀机㊀与㊀控㊀制㊀学㊀报㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀第28卷㊀图1㊀电爆炸电流电压变化Fig.1㊀Electric explosion current and voltage change2)燃弧阶段均值降低㊂电弧稳定燃烧阶段电流会出现均值降低现象,可将电弧等效为一个非线性电阻,直流故障电弧等效电路原理图如图2所示㊂当电弧产生后,电弧电阻出现,回路总电阻增大,回路电流减小[16-17]㊂图2㊀直流故障电弧等效电路Fig.2㊀DC fault arc equivalent circuit3)燃弧阶段高频分量变大㊂电弧稳定燃烧阶段,电流同时也会出现高频分量变大现象,如图3所示㊂电弧燃烧阶段不仅会发生碰撞电离和热电离,使间隙中持续产生带电粒子,而且也发生带电粒子的复合等去游离过程,其外部表现为电流的持续波动,反映在频域上就是高频分量增大[12]㊂由上述分析可知,故障电弧电流存在以下3个特性:电弧发生初始阶段发生突变㊁电弧燃烧阶段出现均值降低以及高频分量变大现象㊂值得注意的是,从图1可知电爆炸过程属于纳秒级别,一般无法通过AD 采样芯片采集,因此在实际工程中使用均值降低和高频分量变大两个特性检测故障电弧,图3为光伏系统发生电弧时的电流信号㊂图3㊀故障电弧电流信号Fig.3㊀Fault arc current signal1.2㊀基于单一时间尺度特征检测故障电弧的缺陷实际电弧故障检测工程中,当光伏系统受外界干扰时,其电流会产生与上述电弧电流某一时间尺度特性类似的情况,因此只使用单一时间尺度特征可能会造成检测结果的误判㊂最为常见的情况有2种,例如:图4是光照强度降低时电流出现均值降低的情况,通常受光照强度干扰增加的是1Hz 以下的频率分量[12],因此与电弧故障情况不同的是,该情况受干扰前后电流信号的高频分量没有明显变化;图5是受电网波动干扰时电流出现高频分量变大的情况[18],与电弧故障情况不同的是,该情况受干扰前后电流信号的均值基本保持不变㊂图4㊀光照强度降低时电流信号Fig.4㊀Current signal when sunlightdecreases图5㊀受电网干扰时电流信号Fig.5㊀Current signal when disturbed by power grid综上所述,在故障电弧检测中如果只使用单一尺度特征进行判断,很难将发生故障电弧情况与其他受干扰情况进行区分,从而使检测结果产生误报㊂2㊀多时间尺度小波-LSTM 自编码器故障电弧检测方法㊀㊀为解决上述单一尺度特征问题,本文基于多时间尺度小波-LSTM 自编码器方法检测故障电弧,该方法基于电弧电流的均值降低以及高频分量变大特性,利用小波变换提取对应多时间尺度特征,增加检测的判断依据,并且使用LSTM 自编码器实现端到端自动检测㊂本文方法包含3个部分,分别为:1)利用小波变换提取多尺度特征;2)使用LSTM 自编码器重构获得重构误差;3)通过决策策略输出判断结果,方法框架如图6所示㊂141第4期邱婷婷等:多时间尺度小波变换和LSTM 自编码器电弧故障检测方法图6㊀方法框架Fig.6㊀Framework of method2.1㊀利用小波变换提取多尺度特征由第1节可知,检测故障电弧可依据电弧稳定燃烧阶段的均值降低以及高频分量变大特性㊂本文依据上述电弧特性使用多尺度小波变换提取电弧电流的特征,将原始数据进行标准化,其中标准化公式为I nor=i raw -u s㊂(1)式中:I nor 为标准化后的数据;i raw 为原始数据;u 为均值;s 为标准差㊂接着将标准化后的数据进行离散小波变换[19],即利用正交小波基将信号分解为不同尺度下的各个分量,其实现过程相当于重复使用一组高通和低通滤波器,对信号逐步分解,最终得到不同尺度下的细节系数cD i 和逼近系数cA i ,如图7所示,图中h 0和h 1分别代表高通和低通滤波器系数[20]㊂设信号长度为m ,滤波器长度为k ,则第i 层小波变换的近似系数和细节系数为:a i [m ]=ðK -1K =0a i -1[2m -k ]h 1[k ];d i [m ]=ðK -1K =0d i -1[2m -k ]h 0[k ]㊂üþýïïï(2)图7㊀离散小波变换示意图Fig.7㊀Schematic diagram of discrete wavelet transform一般检测方法使用小波变换提取故障电弧特征时只考虑高频分量变大特性,仅提取较高频段特征作为检测依据,因此可能会出现误报㊁漏报的现象,本文加入均值降低特性作为检测依据,使得故障检测更加全面,提高了检测结果的精度㊂同时,为使故障信号的多尺度特征与正常信号区分更为明显,采用五级离散小波变换, db4 作为小波基进行分解电弧信号,选取cA5以及cD4作为电弧信号的尺度特征,cA5特征为低频段对应于均值降低特性,cD4特征为高频段对应于高频分量变大特性㊂2.2㊀使用LSTM 自编码器重构获得重构误差使用小波变换后所提取的特征输入LSTM 自编码器模型进行重构,该模型可在考虑时序因素的情况下处理序列的前后联系,并实现端到端输出㊂首先利用给定的训练数据X 的特征训练LSTM 自编码器㊂图8为LSTM 自编码器结构图,该模型采用了LSTM 作为神经网络结构单元,其总体包括编码器和解码器两部分,编码器将高维输入数据映射到低维抽象表示,实现数据的特征提取,解码器则将抽象表示转换为期望输出,实现输入数据的重构㊂图8㊀LSTM 自编码器结构图Fig.8㊀LSTM autoencoder structure模型中的LSTM 含有输入门i t ㊁更新门c t ㊁遗忘门f t ㊁输出门o t[21-22],其结构图如图9所示㊂图9㊀LSTM 结构图Fig.9㊀LSTM structure数据首先通过遗忘门丢弃某些信息,其输入为当前时刻t 的输入x t 与上一时刻t -1的输出h t -1,表达式为f t =σ(W f [h t -1,x t ]+b f )㊂(3)241电㊀机㊀与㊀控㊀制㊀学㊀报㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀第28卷㊀式中:W f 表示遗忘门的权重系数矩阵;b f 表示遗忘门的偏置向量㊂输入门输入当前信息,用于决定向结构单元中添加信息的量,同时利用tanh 层创建候选向量用于当前输入的单元状态:㊀㊀i t =σ(W i [h t -1,x t ]+b i );(4)㊀㊀C ~t =tanh(W c [h t -1,x t ]+b c )㊂(5)式中:W i 表示输入门的权重系数矩阵;b i 表示输入门的偏置向量㊂其次,需要将上一个状态值C t -1更新为C t ,对记忆单元的信息进行更新,即C t =f t C t -1+i t C ~t ㊂(6)最后,通过输出门输出隐藏变量:㊀㊀㊀o t =σ(W o [h t -1,x t ]+b o );(7)㊀㊀㊀h t =o t tanh(C t )㊂(8)式中:σ为sigmoid 激活函数;tanh 为双曲正切激活函数㊂σ和tanh 的表达式为:σ=11+e -x;㊀㊀㊀㊀(9)tanh =sinh(x )cosh(x )=1-e -2x1+e -2x㊂(10)接着,利用训练后的模型重构测试数据O 的多尺度特征,最终得到O ᶄ=(cA5ᶄ,cD4ᶄ)㊂接着利用下式求每组各特征向量各点的重构误差:L n [j ][k ]=(O n [j ][k ]-O ᶄn [j ][k ])2㊂(11)式中:O n [j ][k ]表示第n 组序列的第j 个特征向量的第k 个点原数据;O ᶄn[j ][k ]表示第n 组序列的第j个特征向量的第k 个点的重构数据;L n [j ][k ]表示第n 组序列的第j 个特征向量的第k 个点的重构误差㊂最后,设置阈值求每组各特征向量的误差统计值㊂设变量e nj 为第n 组序列的第j 个特征向量的统计误差值,初始化e nj =0,计算e nj 的过程为:如设置阈值为2,当L n [j ][k ]ȡ2时,e nj 计数加一,遍历整个第n 组序列,得到e nj 的最终数值㊂2.3㊀通过决策策略输出判断结果利用所获得的e n 1㊁e n 2判断第n 组序列是否为电弧故障信号㊂经多次实验总结,本文判断第n 组序列的电流信号是否故障的公式为:S =1,if e n 1>2e x 1and e n 2>2e x 2;0,if en 1<2e x 1or e n 2<2e x 2㊂{(12)式中:S =1表示最终结果输出1,即该序列判断为故障电弧信号;S =0表示最终结果输出0,即该序列判断为正常信号;e x 1㊁e x 2表示训练数据的误差统计值㊂3㊀光伏故障电弧实验验证3.1㊀实验平台本文参照UL1699B 标准搭建实验平台,其工作电流为10A,工作电压为300V㊂实验平台中的电流信号采集部分所使用控制芯片为TI 公司的T280049C 系列,其采样频率为128kHz㊂所使用的电弧发生器由2个铜棒以及1个步进电机组成,步进电机通过拉动铜棒控制电弧的产生,图10为利用电弧发生器产生电弧的情景㊂同时本文通过Python 语言进行实验验证,模型采用Keras [23]框架㊂图10㊀实验平台产生的电弧Fig.10㊀Electric arc generated by the test platform3.2㊀使用小波进行多时间尺度特征提取本节展示了一段电弧故障电流信号并将其作为实验的测试数据,然后利用小波变换提取一段故障电弧电流的多尺度特征,作为电弧故障检测的判断依据㊂图11展示的是一段700ms 的故障电弧信号,共有89600个采样点,分为14组测试序列,一组测试序列含有6400个采样点㊂图11㊀故障电弧电流Fig.11㊀Fault arc current图12(a)㊁图12(b)分别为一段故障电弧电流信号经五级离散小波变换获得的特征cA5㊁特征cD4㊂可以看出,燃弧阶段的特征cA5均值小于未341第4期邱婷婷等:多时间尺度小波变换和LSTM 自编码器电弧故障检测方法发生电弧阶段,燃弧阶段的特征cD4幅值大于未发生电弧阶段㊂图12㊀故障电弧电流特征Fig.12㊀Fault arc current features3.3㊀端到端最终检测结果本节依据3.2节所提取的故障电弧电流多尺度特征,使用LSTM 自编码器以及决策策略进行端到端的自动检测㊂图13(a)为每组序列的特征cA5㊁cD4进行重构后所对应获得的误差统计值e n 1㊁e n 2,观察分析可知,发生电弧的电流数据的e n 1㊁e n 2比未发生电弧的电流数据的普遍要大,这个结果符合上述对故障电弧信号各特征的特点总结㊂最后,利用决策策略依据{e n 1,e n 2}对各组测试序列进行判断并直接输出检测结果,如图13(b)所示,检测结果为0代表检测该序列为正常信号,检测结果为1代表检测该序列电弧信号,可以看出其检测结果全部正确㊂图13㊀电弧故障检测实验结果Fig.13㊀Experimental results of arc fault detection3.4㊀电弧故障检测中两种常见干扰情况检测结果为分析该方法在实际电弧故障检测工程中误报率的优劣性,本节使用本文方法针对两种最为常见的干扰情况进行检测实验:实验一为阳光强度降低的情况,本文通过电流突变实验模拟并获取该情况下的电流信号;实验二为受电网波动干扰的情况,本文通过并网接入大功率感性器件模拟电网波动现象,以获取该情况下的电流信号㊂实验一:阳光强度降低㊂图14为阳光强度降低时电流信号均值降低的情况,该段信号时长700ms,共有89600个采样点,分为14组测试序列,一组测试序列含有6400个采样点㊂图14㊀阳光强度降低时电流Fig.14㊀Current when sunlight decreases图15(a)㊁图15(b)分别为一段阳光强度降低时的电流信号经五级离散小波变换得到的特征cA5㊁特征cD4㊂可以看出,阳光强度变化前的特征cA5的均值小于阳光强度变化后,阳光强度变化前与阳光强度变化后的特征cD4无明显区别㊂图15㊀阳光强度降低时电流特征Fig.15㊀Current features when sunlight decreases图16(a)为每组数据的特征cA5㊁cD4进行重构后所对应获得的误差统计值e n 1㊁e n 2,观察分析可知,阳光强度变化前的e n 1比阳光强度变化后的电流数441电㊀机㊀与㊀控㊀制㊀学㊀报㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀第28卷㊀据的普遍要大,但阳光强度变化前的e n 2与阳光强度变化后的无明显差别㊂最后利用决策策略判断的结果如图16(b)所示,检测结果为0代表检测该序列为正常信号,检测结果为1代表检测该序列电弧信号,结果表明,本文方法不会对电流信号受到干扰而均值降低的情况产生误报㊂图16㊀阳光强度降低时检测故障实验结果Fig.16㊀Experimental results of fault detection whensunlight decreases实验二:受电网波动干扰㊂图17为受到电网波动干扰时电流信号高频分量增加的情况,该段信号时长700ms,共有89600个采样点,分为14组测试序列,一组测试序列含有6400个采样点㊂图17㊀受电网波动干扰时电流Fig.17㊀Current when disturbed by power gridfluctuation图18(a)㊁图18(b)分别为一段受电网干扰时的电流信号经五级离散小波变换得到的特征cA5㊁特征cD4,可以看出,受电网干扰前与受电网干扰后的特征cA5无明显区别,而受电网干扰后的特征cD4幅值大于受电网干扰前的㊂图19(a)为每组数据的特征cA5㊁cD4进行重构后所对应获得的误差统计值e n 1㊁e n 2,观察分析可知,受电网干扰前的e n 1与受电网干扰后的无明显差别,而受电网干扰后的e n 2普遍大于受电网干扰前的㊂最后利用决策策略判断的结果如图19(b)所示,检测结果为0代表检测该序列为正常信号,检测结果为1代表检测该序列电弧信号,结果表明,本文方法不会对电流信号受到干扰而高频分量增加的情况产生误报㊂图18㊀受电网干扰时电流特征Fig.18㊀Current features when disturbed by powergrid图19㊀受电网干扰时检测实验Fig.19㊀Detection experiment when disturbed bypower grid4㊀比较实验本节使用典型的单尺度方法:FFT [5]方法和CNN [10]方法,作为与本文方法进行比较的基线方法㊂为对比分析各方法的检测效果,每种方法在3种典型工况下各进行50组故障检测模拟实验,并使用统计学中的误差棒图分析实验结果㊂最后设置比较指标,利用统计学中的均值和标准误差作为最终评估结果㊂541第4期邱婷婷等:多时间尺度小波变换和LSTM 自编码器电弧故障检测方法4.1㊀3种方法实验结果的比较电弧故障检测中通常包含3种典型工况,分别为发生电弧和3.4节中所示的阳光强度降低以及电网波动干扰㊂利用FFT 方法㊁CNN 方法和本文方法针对3种典型工况各做50组实验,每组实验包含14组测试序列,序列检测结果输出0或1,输出0表示检测该序列为正常信号,输出1表示检测该序列电弧信号㊂最后,采用误差棒统计图分析3种工况下各方法50组实验的检测结果,如图20~图22所示㊂1)发生电弧㊂图20(a)为该工况下一组实验的测试数据,分为14组测试序列㊂图20(b )~图20(d)为该工况下3种方法的50组实验结果统计图,可以看出,3种方法在未发生电弧阶段无误报情况,在燃弧阶段产生漏报的可能性都不高,但相比较而言本文方法产生漏报的可能性最低㊂图20㊀发生电弧时3种方法50组检测结果的统计Fig.20㊀Statistics of 50groups of detection results ofthree methods when arc occurs2)阳光强度降低㊂图21(a)为该工况下一组实验的测试数据,分为14组测试序列㊂图21(b)~图21(d)为该工况下3种方法的50组实验结果统计图,可以看出,3种方法在阳光强度变化前无误报情况,CNN 方法在阳光强度降低后产生误报的可能性最大,FFT 方法和本文方法没有产生误报㊂图21㊀阳光强度降低时3种方法50组检测结果的统计Fig.21㊀Statistics of 50groups of detection results bythree methods when sunlight decreases3)受到电网波动干扰㊂图22(a)为该工况下一组实验的测试数据,分为14组测试序列㊂图22(b)~图22(d)为该工况下3种方法的50组实验结果统计图,可以看出,受电网波动干扰后FFT 方法出现误报的可能性最大,本文方法出现误报的可能性最低㊂4.2㊀比较指标及评估结果为对比分析FFT 方法㊁CNN 方法和本文方法检测故障电弧的准确性,采用准确率(accuracy,641电㊀机㊀与㊀控㊀制㊀学㊀报㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀第28卷㊀ACC)㊁假阳性率(false positive rate,FPR)和假阴性率(false negative rate,FNR)指标进行评估㊂图22㊀受电网波动干扰时3种方法50组检测结果的统计Fig.22㊀Statistics of 50groups of detection results bythree methods when disturbed by power gridACC 用于评估检测精度,该指标数据越高表明方法的检测准确率越高,其表达式为ACC =T P +T NT P +T N +F P +F N㊂(13)FPR 用于评估检测的误报率,该指标数据越低表明方法出现误报的可能性越小,其表达式为FPR =F PT N +F P㊂(14)FNR 用于评估检测的漏报率,该指标数据越低表明方法出现漏报的可能性越小,其表达式为FNR =F NT P +F N㊂(15)式中T P ㊁T N ㊁F P ㊁F N 分别为真阳性㊁真阴性㊁假阳性㊁假阴性样本个数㊂经过3种工况下的各50组模拟检测实验,利用上述比较指标的均值和标准误差评估3种方法检测故障电弧的准确性,如表1所示㊂表1㊀50组模拟检测实验结果Table 1㊀50groups of simulated test results指标FFT 方法CNN 方法本文方法ACC 0.860ʃ0.0800.910ʃ0.0600.960ʃ0.020FPR0.150ʃ0.0300.100ʃ0.0200.040ʃ0.004FNR 0.040ʃ0.0050.030ʃ0.0050.010ʃ0.001实验结果表明,FFT 方法以及CNN 方法由于只使用了故障电弧的单一尺度特征作为检测依据,当光伏系统受到干扰时产生误报的可能性会更大,尤其当受到电网波动干扰时,由于FFT 方法是基于信号高频特征进行判断检测,所以该种情况下误报率较高㊂而本文方法提取了多时间尺度特征作为电弧检测模型输入,增加了判断依据,使得检测结果更加精准,明显降低了误报率㊂5㊀结㊀论针对光伏系统的直流串联型电弧故障检测问题,本文提出一种基于多时间尺度小波变换LSTM 自编码器单类重构算法检测方法,首先利用多时间尺度小波变换对光伏系统逆变器直流侧的电流信号进行特征提取,然后将多时间尺度特征作为LSTM 自编码器模型的输入进行端到端自动检测㊂理论分析和实验结果表明,相比于传统检测方法只提取单一时间尺度作为信号特征,本文方法在电弧机理分析的基础上,选取对应电弧特性的多时间尺度作为信号特征,使得检测的判断依据更加全面,提高了检测精度,降低了检测结果受外界干扰的可能性,减少了误报率和漏报率㊂参考文献:[1]㊀VELASCO QUESADA G,GUINJOAN GISPERT F,PIQUE LOP-EZ R,et al.Electrical PV array reconfiguration strategy for energy extraction improvement in grid-connected PV systems [J].IEEE Transactions on Industrial Electronics,2009,56(11):4319.[2]㊀XIONG Qing,JI Shengchang,ZHU Lingyu,et al.A novel DC arcfault detection method based on electromagnetic radiation signal [J].IEEE Transactions on Plasma Science,2017,45(3):472.[3]㊀YAO X,HERRERA L,JI S,et al.Characteristic study and time-741第4期邱婷婷等:多时间尺度小波变换和LSTM 自编码器电弧故障检测方法。

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

EvaluatingOpenMPPerformanceAnalysisToolswiththeAPARTTestSuite∗

MichaelGerndtInstitutf¨urInformatik,LRRTechnischeUniversit¨atM¨unchengerndt@in.tum.de

BerndMohrForschungszentrumJ¨ulichGmbHZAM,52425J¨ulich,Germanyb.mohr@fz-juelich.de

JesperLarssonTr¨affC&CResearchLabs,NECEuropeLtd.Rathausallee10,53757St.Augustin,Germanytraff@ccrl-nece.de

AbstractTheAPARTworkinggroupisdevelopingtheAPARTTestSuite(ATS)forevaluating(automatic)performanceanalysistoolswithrespecttotheircorrectness–thatis,theirabilitytodetectactualperfor-manceproblems–andtheireffectivenessindoingso.ThisarticlebrieflydescribesthedesignofthetestsuiteandinmoredetailtheATStestprogramsrelatedtoOpenMP.ItreportsonresultsfromapplyingtwomanualandoneautomaticOpenMPperformanceanalysistoolstothetestcasesgeneratedfromATS.

1IntroductionAchievinghighperformanceonparallelcomputersmostoftenrequiresmanualperformancetuning.Theprogrammeridentifiesperformanceproblemswiththehelpofinteractiveorautomaticperformanceanalysistools,andtransformsthecodetoimproveitsperformance.ItisthegoalofthemembersoftheEuropeanISTAPARTworkinggrouptodevelopautomaticperformanceanalysistoolsforparallelandgridenvironments.TheAPARTgroupdefinedtheAPARTSpecificationLanguage(ASL)forwritingportablespecificationsoftypicalperformanceproblems[3].Themostrecentspecification[5]wasdoneinthePeridotproject1fortheHitachiSR8000supercomputerattheLeibniz

ComputerCentreinMunich.ItprovidesanextensivesetofperformancepropertiesforhybridparallelprogramscombiningMPIandOpenMP.Automaticperformanceanalysistools,asthosecurrentlyunderdevelopmentbythegroupsinAPART[2,7,12,13,14,15],ofcourseneedtobetestedwithrespecttotheircorrectnessandeffectiveness.Foranautomaticperformanceanalysistool,(positive)correctnessmeansthatthetoolisabletodetectmanifestedperformanceproblemsinagivenapplication;negativecorrectnessmeansthatthetooldoesnotfalselyreportperformanceproblemswherenoneexist.Tothisend,wearedevelopingtheAPARTTestSuite(ATS)frameworkwhichallowstheeasyconstructionofsyntheticpositiveandnegativetestprograms.ThecurrentversionincludestestcasesforMPIandOpenMPperformancepropertiesinCandFortran.ThisarticlegivesanoverviewofthetypicalOpenMPperformanceproperties(Section2).ItexplainsthebasicstructureoftheATSframeworkandpresentsexamplesoftypicaltestprograms(Section3).Section4reportsonfirstfindingsofanevaluationstudyofstate-of-the-artOpenMPperformanceanalysistoolscur-rentlybeingperformedbytheauthors.WereportonresultsfromtheapplicationoftwomanualandoneautomaticOpenMPperformanceanalysistoolstothetestcasesgeneratedfromATS.

∗PartofthisworkisfundedbytheEuropeanCommissionviatheworkinggrouponAutomaticPerformanceAnalysis:RealTools

(APART),http://www.fz-juelich.de/apart1www.in.tum.de/peridot2APerformancePropertyHierarchyforOpenMPTodescribeperformancepropertiesofparallelprogramsaformalismcalledASL(APARTSpecificationLanguage)waspreviouslydevelopedbytheAPARTgroup[3].ASLusesthefollowingterminology.Aperformancepropertycharacterizesaparticularperformance-relatedbehaviorofaprogrambasedonavail-ableorrequiredperformancedata.Performancedataisprimarilydynamicinformationcollectedduringoneormoresamplerunsoftheprogram,andcanbeeithertraceorsummaryinformation.Performancedata,however,alsoincludesstaticinformationabouttheprogram(blockstructure,programanddataflowinformation,loopschedulinginformationetc.)andtheprogrammingmodel/paradigm.Examplesofsuchperformancepropertiesareloadimbalance,abundantormis-scheduledcommunication,cachemisses.Aperformancepropertyisdescribedbyabooleancondition,andhasanassociatedseverityforexpressingtherelativeimportanceoftheproperty.Aperformancepropertyisaperformanceproblemifitispresentanditsseverityexceedsapresetthreshold.Aperformancebottleneckisthemostsevereperformanceproblem.Inthisframeworkperformanceengineeringconsistsinlocatingandeliminatingperformancebottlenecks.ASLisanobject-oriented,functionalformalismfordescribingperformancedataandproperties.Propertiesaredescribedseparately(i.e.interdependenceorsubsumptionofpropertiesarenotexpressedexplicitlyintheASLformalism),butspecificationscanbemadeverycompactbytheuseofpropertytemplates,whichallowstodefinemetaproperties.Metapropertiesspecifynewpropertiesbycombiningalreadydefinedproperties.InadditiontotheASLformalism,theAPARTgrouphascompiledhierarchicallystructuredspecificationsoftypicalperformancepropertiesfortheMPI,OpenMP,andHPFprogrammingparadigms[3].SpecificationsforOpenMPcanbefoundin[4],andmoreelaboratedin[5].Webrieflysummarizethepropertiesrecordedin[5],sincethesearethepropertiesthatarecloselymirroredinATS.Thespecificationisdividedintofourcategories:1.Synchronization2.Loadimbalance3.Controlofparallelism4.InefficientserialexecutionForhybridOpenMP/MPIprogramming,additionalcategoriescontainpropertiesrelatedtoMPIcommuni-cationandtoI/O.TheconcretepropertiescurrentlyinthefourcategoriesarelistedinTables1to4.

相关文档
最新文档