共查询到20条相似文献,搜索用时 406 毫秒
1.
2.
向前替代是并行编译器中的一种重要的优化手段,它有助于符号分析(SymbolicAnalysis)、程序繁衍(ProcedureCloning)等其它的并行编译优化手段。在本文中,我们提出了一种使用静态单赋值(SingleStaticAssignment)的向前替代的新方法 相似文献
3.
循环是程序中蕴含并行性最为丰富的一种结构,因此成为并行化编译最主要的对象.但循环内的过程调用严重妨碍了循环的数据相关性分析,使得循环语句潜在的大量并行性得不到开发.本文提出的循环嵌入方法使部分含过程调用循环语句的并行化成为可能,对部分用其它过程间分析技术也能开发其并行性的这一类循环语句采用循环嵌入方法,并行化开销低,并且分析更精确.采用循环嵌入方法还可降低程序由于多次过程调用带来的调度开销.这一方法在作者开发的自动并行化编译系统AFT(automaticPortrantransformer)中得到了实现,对Spec92测试程序包的试验结果表明了本文提出的方法是行之有效的. 相似文献
4.
5.
6.
蒙特卡罗中子-光子输运程序MCNP的并行化 总被引:2,自引:0,他引:2
1.引 言 随着并行计算机的问世,并行算法和并行系统也不断发展,如 PVM(Parallel VirturalMachine),SMP(Sharae Memory Processors);MPI(Message Passing Interface)和 HPF(High Power Fortran)等,这些并行系统原理基本相同,差异主要是并行指令和数据传递方式.在这些并行系统中,PVM和 MPI系统具有通用性强、系统规模小、使用方便和可移植性强的优点,且安装、测试、编程与实现相对要容易一些,它是当前国际卜公认… 相似文献
7.
①定义使用了本地方法(C语言写的)的JAVA类源程序。在JAVA源程序类中,所包含的本地方法用native声明,并使用语句static{linker.loadlibrary(“方法库名”);}。②用javac对该JAVA源程序进行编译,生成.class形式的JAVA字节码程序文件。③为了以后用C语言编写本地方法,从而在C代码中操纵JAVA对象,C程序需要有一个遵从在JAVA源程序中对本地方法声明过的头文件,用于定义将要履行的C功能和数据结构。这一步,可通过对上述包含本地方法的.class程序文件… 相似文献
8.
9.
1引言 DAO(DataAccessObject)是Jet数据库引擎的程序设计接口, Jet 引擎是 MS ACCESS的基础,它也作为 ODBC(OpenDataBase Connection)数据源的数据库驱动程序,同时是一种 COM(Component Object Model)组件。在 VJ++中利用DAO可以建立Java与数据库的连接,并实现对数据库的各种操作s。下面结合例子介绍其原理及实现过程。2实例分析 在开发“基于Web的编译智能计算机辅助教学系统”的过程中,涉及到对编译领域文法的各种操作… 相似文献
10.
随着计算机技术的发展,计算机辅助教学(ComputerAidedInstruction,简称CAI)应运而生,并在教学改革中发挥愈来愈重要的作用。本文介绍了信号与系统CAI课件中用C语言实现交互式动画卷积的技术,包括交互方式中递归下降的表达式分析算法的实现和卷积的动画实现。实践结果表明,应用编译技术和动画技术是研制高质量CAI课件与其他应用软件的有效方法 相似文献
11.
12.
We present an efficient parallel algorithm for statistical Molecular Dynamics simulations of ion tracks in solids. The method is based on the Rare Event Enhanced Domain following Molecular Dynamics (REED-MD) algorithm, which has been successfully applied to studies of, e.g., ion implantation into crystalline semiconductor wafers. We discuss the strategies for parallelizing the method, and we settle on a host-client type polling scheme in which a multiple of asynchronous processors are continuously fed to the host, which, in turn, distributes the resulting feed-back information to the clients. This real-time feed-back consists of, e.g., cumulative damage information or statistics updates necessary for the cloning in the rare event algorithm. We finally demonstrate the algorithm for radiation effects in a nuclear oxide fuel, and we show the balanced parallel approach with high parallel efficiency in multiple processor configurations. 相似文献
13.
Wolfram Amme Peter Braun François Thomasset Eberhard Zehendner 《International journal of parallel programming》2000,28(5):431-467
Determination of data dependences is a task typically performed with high-level language source code in today's optimizing and parallelizing compilers. Very little work has been done in the field of data dependence analysis on assembly language code, but this area will be of growing importance, e.g., for increasing instruction-level parallelism. A central element of a data dependence analysis in this case is a method for memory reference disambiguation which decides whether two memory operations may access (or definitely access) the same memory location. In this paper we describe a new approach for the determination of data dependences in assembly code. Our method is based on a sophisticated algorithm for symbolic value propagation, and it can derive value-based dependences between memory operations instead of just address-based dependences. We have integrated our method into the Salto system for assembly language optimization. Experimental results show that our approach greatly improves the precision of the dependence analysis in many cases. 相似文献
14.
吴明光 《中国图象图形学报》2013,18(10)
空间数据划分是空间索引、并行GIS数据分解以及分布式数据管理与调度等问题的核心环节之一。本文针对点数据集多目标空间划分问题,在Hilbert空间填充曲线的基础上建立随机、规则、聚集三类空间分布模式的判定模型,设计针对均匀和随机分布模式的等差划分以及针对聚集分布模式的迭代寻优划分。实验表明该方法能够在缺少覆盖范围信息的条件下准确判定空间分布类型,该方法能够兼顾空间聚集性、数据量均衡与空间重叠度三种约束条件。 相似文献
15.
Manish Gupta Sayak Mukhopadhyay Navin Sinha 《International journal of parallel programming》2000,28(6):537-562
Parallelizing compilers have traditionally focussed mainly on parallelizing loops. This paper presents a new framework for automatically parallelizing recursive procedures that typically appear in divide-and-conquer algorithms. We present compile-time analysis, using powerful, symbolic array section analysis, to detect the independence of multiple recursive calls in a procedure. This allows exploitation of a scalable form of nested parallelism, where each parallel task can further spawn off parallel work in subsequent recursive calls. We describe a runtime system which efficiently supports this kind of nested parallelism without unnecessarily blocking tasks. We have implemented this framework in a parallelizing compiler, which is able to automatically parallelize programs like quicksort and mergesort, written in C. For cases where even the advanced compile-time analysis we describe is not able to prove the independence of procedure calls, we propose novel techniques for speculative runtime parallelization, which are more efficient and powerful in this context than analogous techniques proposed previously for speculatively parallelizing loops. Our experimental results on an IBM G30 SMP machine show good speedups obtained by following our approach. 相似文献
16.
传统的分布存储并行编译系统大多是在共享存储并行编译系统的基础上开发的.共享存储并行编译系统的并行识别技术适合OpenMP代码生成,实现方式是将所有嵌套循环都按照相同的识别方法进行处理,用于分布存储并行编译系统必然会导致无法高效发掘程序的并行性.分布存储并行编译系统应根据嵌套循环结构的特点进行分类处理,提出适合MPI代码生成的并行识别技术.为解决上述问题,根据嵌套循环的结构和MPI并行程序的特点,提出了一种新的嵌套循环分类方法,并针对不同的嵌套循环分别提出了相应的并行识别技术.实验结果表明,与采用传统并行识别技术的分布存储并行编译系统相比,按照所提方法对嵌套循环进行分类,采用相应并行识别技术的编译系统能够更高效地识别基准程序中的并行循环,自动生成的MPI并行代码其性能加速比提高了20%以上. 相似文献
17.
Pointer analysis is a technique to identify at copile-time the potential values of the pointer expressions in a program,which promises significant benefits for optimzing and parallelizing complilers.In this paper,a new approach to pointer analysis for assignments is presented.In this approach,assignments are classified into three categories:pointer assignments,structure(union)assignents and normal assignments which don‘t affect the point-to information.Pointer analyses for these three kinds of assignments respectively make up the integrated algorithm.When analyzing a pointer assigemtn.a new method called expression expansion is used to calculate both the left targets and the right targets.The integration of recursive data structure analysis into pointer analysis is a significant originality of this paper,which uniforms the pointer analysis for heap variables and the pointer analysis for stack variables.This algorithm is implemented in Agassiz,an analyzing tool for C programs developed by Institute of Parallel Processing,Fudan University,Its accuracy and effectiveness are illustrated by experimental data. 相似文献
18.
PORT是以FORTRAN77源程序为象的并行优化重构工具集,它以自动并行重构程序为主体,辅以一组优化,静态分析,动态分析和程序执行过程视化工具,通过良好的用户界面和统一的的内部数据结构将它们集成为一个整体,本文介绍PORT系统的特点,结构和若干关键技术。 相似文献
19.