共查询到19条相似文献,搜索用时 578 毫秒
1.
针对Trace驱动的并行性能模拟问题,提出基于Trace信息指导的映射方法CO-LP3M。CO-LP3M利用从Trace中提取的目标应用程序的通信特征,以宿主机物理进程间通信次数最小化为目标,兼顾计算负载均衡,生成并行模拟任务到宿主机的映射。对Jacobi3D和HPL两个程序进行实验改为:对HPL程序进行实验(注:此处本来是两个程序的,后来为了缩减篇幅就删掉了其中的一个),结果表明CO-LP3M可有效提高并行模拟性能,相对于常见的映射方式,模拟性能最多提高14.7%。在此基础上给出CO-LP3M的扩展技术SCO-LP3M。 相似文献
2.
在IA-64架构Itanium2处理器上,应用gprof和pfmon对二维非线性对流扩散方程求解程序源代码进行了性能测试.在分析给定程序的数据结构,子过程调用关系,重点子程序中循环体的迭代空间、数据空间、访同轨迹,输入输出数据量大小和程序结构等的基础上,应用子过程合并、循环变换、分支消除、循环顺序逆转、数组一维结构化为二维结构、输入参数给定等方法,改善了数据访问的时空局部性,程序性能有15%的提高. 相似文献
3.
曹丹平 《计算机工程与应用》2012,48(36):9-13
波动方程数值模拟普遍存在计算量大的问题,如何根据波动方程有限差分方法的特点开展并行化方法研究是适应微机多核发展的必然趋势。结合波动方程数值模拟中的多层循环嵌套问题和OpenMP的特点,通过确定循环体并行顺序、减少串行环节、合并循环体、准确设置制导语句以及线程绑定优化等方法有助于实现微机多核的高效并行。针对波动方程特点的多核并行不仅有助于提高单机计算效率,对于提高计算机集群上常用的MPI+OpenMP混合并行效率也具有重要意义。 相似文献
4.
为了解决谓词抽象技术面临的程序中循环体的每次迭代都至少需要一个谓词来实现的难题,提出了一个两阶段的不完全判定过程,用来对一个包含循环的反例进行可行性模拟.通过给出的循环探测算法来从抽象模型中提取出包含循环的反例,并用循环迭代的数量作为参数来确定模拟实例.实验结果表明,该方法在典型的缓冲溢出实例中的表现优于传统的抽象求精方法. 相似文献
5.
离散Marching Cubes算法在骨科手术模拟系统的应用 总被引:3,自引:0,他引:3
为保证模型相对准确和满足模拟手术过程中三维交互的实时性要求,手术模拟系统要求在保持模型拓扑结构的前提下简化模型。该文详细介绍了离散MarchingCubes(DiscMC)算法及其实现,在实现过程中使用查表法,解决了二义性问题,提高了程序的运行效率。实验表明,DiscMC算法在保持模型的拓扑结构基础上大幅度减少了三角面片数目,缩减比例达66%。DiscMC算法作为计算机模拟骨科手术系统的三维表面模型重构和简化算法是合适的。 相似文献
6.
LP到PP的高效映射是加速并行性能模拟的关键技术之一。针对交互规则的并行应用程序,设计映射生成方法A2-LP3M从Trace中提取LP间的交互模式,以宿主机物理进程间通信最小化为目标,兼顾计算负载平衡,从循环块映射中选取合适的映射方式。实验表明,相对于常规映射方法,A2-LP3M减少并行模拟时间最多可达16.2%。 相似文献
7.
Trace生成是trace驱动体系结构模拟中不可或缺的步骤。Trace不仅需要占用大量存储空间,其生成过程还可能对目标应用程序的模拟执行产生一定程度的干扰,导致性能数据误差。Trace驱动并行性能模拟器由于其设计实现特点和所运行的宿主并行平台的多样性,使得trace生成的影响具有其独特性。本文选取典型并行模拟器BigSim和若干具有不同计算通信比的目标并行程序,在三个支持不同traceI/O方式的宿主机平台上设计实验评估了trace生成对并行性能模拟的影响,结果表明trace生成对模拟效率和精度均有较大的影响,并分析了这种影响与并行模拟器实现和宿主机平台I/O方式的关系,进而讨论了几种可行的改进方案,对trace驱动并行模拟器设计、实现和使用具有一定的指导意义。 相似文献
8.
分支目标缓存(BTB)是高端嵌入式CPU的主要耗能部件之一。针对BTB访问中引入的冗余功耗问题,提出了一种循环体访问过滤机制消除循环体指令流中顺序指令对BTB的无效访问。进一步提出了一种分支跟踪方法补偿循环过滤机制对循环体中非循环类分支指令的错误过滤造成的性能损失,节省了循环体指令流中顺序指令访问BTB的大量冗余功耗。基于Powerstone基准程序的仿真实验表明,在128表项BTB配置下,二级循环过滤器和4表项分支踪迹表可以减少约71.9%的BTB功耗,而平均每条指令周期数(CPI)退化仅为0.66%。 相似文献
9.
URPR——一种实现软件流水技术的方法 总被引:2,自引:0,他引:2
软件流水技术是对AP数组处理机循环程序进行优化的一种有效方法.本文介绍一种在微代码循环压缩URCR算法基础上研究的URPR算法.首先对循环体进行展开,展开的个数取决于循环体之间的数据相关程度,然后将展开后的循环体逐个进行安放,最后进行收拢得到一个优化后的新循环体.初步实验验证了URPR比目前现有一些方法具有优越性. 相似文献
10.
针对编译循环内的查找表分派指令导致的代码重复或额外运行开销,在Dalvik虚拟机的基于Trace的即时编译器中提出了改进的代码生成算法。同已有的代码生成算法相比,该方法在划分基本块阶段获取查找表分派的信息,并将查找表分派指令转换成一系列条件分支指令,通过条件分支指令实现子Trace同主Trace的合并,避免了主子Trace切换时额外的函数调用。实验结果表明,对于循环内含查找表分派的应用程序,该算法能提升其性能。 相似文献
11.
混合精度在深度学习和精度调整与优化方面取得了许多进展,广泛研究表明,面向Stencil计算的混合精度优化也是一个很有挑战性的方向.同时,多面体模型在自动并行化领域取得的一系列研究成果表明,该模型为循环嵌套提供很好的数学抽象,可以在其基础上进行一系列的循环变换.基于多面体编译技术设计并实现了一个面向Stencil计算的自动混合精度优化器,通过在中间表示层进行迭代空间划分、数据流分析和调度树转换,首次实现了源到源的面向Stencil计算的混合精度优化代码自动生成.实验表明,经过自动混合精度优化之后的代码,在减少精度冗余的基础上能够充分发挥其并行潜力,提升程序性能.以高精度计算为基准,在x86平台上最大加速比是1.76,几何平均加速比是1.15;在新一代国产申威平台上最大加速比是1.64,几何平均加速比是1.20. 相似文献
12.
在某个共享存储式对称多处理(SMP)并行计算机上实现了应用程序(二维弹塑性流体动力学程序)的并行化。该并行计算机系统仅支持对FORTRAN DO循环结构的并行化。文章结合并行机的高性能特征,组织了该程序主体模块的并行化计算,同时给出解决Cache问题的一个实用并行优化技术。数据结果表明:有比较好的加速比。 相似文献
13.
LARED-H程序中光路计算的并行化 总被引:1,自引:0,他引:1
§1.引言 在激光腔靶耦合的数值模拟中,激光的传播与吸收是十分重要的部分之一。为了得到高效的激光聚变,激光入射的排布设计有一环,两环,三环激光。图1为两环激光与腔靶耦合的示意图。用LARED-H进行腔靶计算,一环光路(500根光线)时,在一个时间步长上,光路部分占总计算时间的一半左右,三环光路(1500根光线)时,光路部分占总计算时间的 相似文献
14.
面向SLP 的多重循环向量化 总被引:1,自引:0,他引:1
如今,越来越多的处理器集成了SIMD(single instruction multiple data)扩展,现有的编译器大多也实现了自动向量化的功能,但是一般都只针对最内层循环进行向量化,对于多重循环缺少一种通用、易行的向量化方法.为此,提出了一种面向SLP(superword level parallelism)的多重循环向量化方法,从外至内依次对各个循环层次进行分析,收集各层循环对应的一些影响向量化效果的属性值,主要包括能否对该循环进行直接循环展开和压紧、有多少数组引用相对于该循环索引连续以及该循环所包含的区域等,然后根据这些属性值决定在哪些循环层次进行直接循环展开和压紧,最后通过SLP对循环中的语句进行向量化.实验结果表明,该算法相对于内层循环向量化和简单的外层循环向量化平均加速比提升了2.13和1.41,对于一些常用的核心循环可以得到高达5.3的加速比. 相似文献
15.
线程级推测(TLS)技术可挖掘程序并行执行潜能,提高多核资源利用率,但目前TACLeBench的内核基准仍未在TLS并行化中得到有效分析。针对该问题设计了循环级推测执行的剖析方案和剖析工具。选取7个代表性的TACLeBench内核基准程序,首先对程序进行初始化分析,选取程序热点片段插入循环标识;其次对这些片段进行交叉编译,记录程序推测线程与内存地址相关数据,剖析其循环级最大潜在并行性;最后综合探讨程序运行时的特征(线程粒度、可并行化覆盖率、依赖特征)以及源码对加速比的影响。实验结果表明:1)该类程序适合采用TLS加速,与串行执行结果相比,循环结构的推测执行下的大部分程序的加速比在2以上,其中最高加速比达到20.79;2)利用TLS加速TACLeBench内核程序时,多数应用可有效利用4核到16核的计算资源。 相似文献
16.
当使用高分辨率的图像作为图像处理算法的输入时会降低算法运行速度,将算法并行化可提升执行效率,但手动将串行程序转换为并行程序则较为繁琐,并且现有自动并行翻译工具性能不稳定,同时翻译后的程序是单一并行模式。面向基于面片的三维多视角立体视觉(PMVS)算法,提出一种从C到CUDA的自动两级并行翻译方法。使用ANTLR自动解析源C代码,通过分析数据依赖关系和循环数组私有化来识别可并行化的循环结构,将算法翻译成CPU多线程和GPU两级并行结构的代码。在算法执行过程中,将输入图像在CPU和GPU上分别进行处理,降低了算法总执行时间。实验结果表明,该方法的计算加速比随着输入图像分辨率的增加逐渐提高,最高约达到32,相比于PPCG和OpenACC自动并行翻译方法提升明显。 相似文献
17.
18.
19.
Speedup Studies of Leading Iteration Model for Non—DO Loops in Comparison with Sequential Interation Model 下载免费PDF全文
In this paper,we present an approximate formula for calculating th speedup of a concurrent non-DO loop.The execution pattern of a concurrent non-Do loop is analyzed.As a result,the optimal concurrent step for a non-DO loop is presened and proved.With the analysis of the speedup of a concurrent non-DO loop,a simple and useful approximate formula is deduced,which is just the mathematical limit of speedup when the number of iterations is approaching infinity. 相似文献