首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 203 毫秒
1.
一个交互式的Fortran77并行化系统   总被引:6,自引:1,他引:5  
陈文光  杨博  王紫瑶  郑丰宙  郑纬民 《软件学报》1999,10(12):1259-1267
并行化编译器可以把现有的串行程序自动或半自动地转换为并行程序.现有并行化系统的自动并行化效果与手工并行化的效果相比还有一定的差距,这是由于并行化工具的分析能力不足以及程序中所固有的语义信息无法被并行化工具所理解而造成的.TIPS(Tsinghua interactive parallelizing system)系统通过提供一些友好的交互式工具,使用户与编译器紧密协作,是提高并行化系统的能力和效率的一条有效途径.  相似文献   

2.
作者设计并实现了一种基于CORBA模式的并行编程环境POVPE(并行面向对象可视编程环境),它将传统的单机编程环境中的功能模块在分布式系统环境中进行了分布组织,并用CORBA完成分布模块的交互。文章介绍了该系统的功能描述和体系结构,着重阐述了瘦客户编程、实时远程编译、离线运行等关键技术,并从语言的角度给出了系统的实现方法。  相似文献   

3.
群体智能系统通过邻居个体的信息交互实现群体级别的应用任务,具有良好的鲁棒性和灵活性.与此同时,大多数开发人员难以对分布式、并行的个体交互机制进行描述.一些高级语言允许用户以串行思维方式、从系统全局角度来编程并行的群体智能计算任务,而无需考虑通信协议、数据分布等底层交互细节.但面向用户、全局声明式的群体智能系统应用程序与个体并行执行逻辑存在的巨大语义差距,使得编译过程复杂进而导致应用程序开发效率不高.本文提出了一个编译系统及其支撑工具,支持将高级的群体智能系统应用程序转换为安全、高效的分布式实现.该编译系统通过并行信息识别,计算划分,交互信息生成技术,将面向系统全局、串行编程的群体智能应用程序编译为面向个体独立执行的并行目标代码,从而使用户不必了解个体间的复杂交互机制.设计了一种标准化中间表示,将复杂群体智能计算任务转换为群体智能算子和输入输出变量组合而成的标准化语义模块序列,其以独立于平台的形式表示源程序信息,屏蔽了目标硬件平台的异构性.在一个群体智能系统案例平台中部署和测试了该编译系统,结果表明该系统能够有效将群体智能应用程序编译为平台可执行的目标代码并提升应用程序开发效率,其生成的代码在一系列基准测试中具有比现有编译器更好的性能.  相似文献   

4.
JavaPIE是并行程序设计交互环境在Internet上的延伸,其设计目标是并行程序设计交互环境Para-PIE和自动并行化编译工程AFP的底层支持,通过Java实现的交互工具达到更理想的移植性、开放性和及共享性。它将并行化编译方法、程序语义分析技术、交互信息可视化工具、实验分析脚本文档有机地结合在一起,并在Internet上延伸出来,为蓬勃地开展并行程序设计交互环境的国际化合作研究开辟了广阔的前  相似文献   

5.
目前全自动并行化方法在并行化能力和应用范围上存在较大限制,而交互式并行化方法能弥补全自动并行化系统的不足。基于此,提出一种交互式并行化方法及其系统ZIPS,描述系统的并行化处理机制,即采用一种计算类型驱动的并行化算法,并以其作为理论基础,针对2类不同计算,利用强大的交互功能获取相关程序信息,并结合自动并行化技术进行源到源的变换。实验表明,该交互式并行化方法能够获得较好的性能。  相似文献   

6.
彭勇  蔡楹  钟荣华  黄柯棣 《软件学报》2012,23(8):2188-2206
提出了一种面向仿真组件的并行联邦成员框架,以解决基于HLA(high level architecture)复杂仿真系统联邦成员开发的问题,并提升多核处理器环境下联邦成员的运行性能.并行联邦成员框架通过仿真组件的组合、装配来构建联邦成员.通过仿真引擎管理、数据分发管理、对象管理、组件管理服务和负载平衡功能,并行联邦成员框架为仿真模型构建了一个多核的并行执行环境,并确保并行成员能与RTI正确交互.通过实验来研究并行成员框架引入的额外开销,并比较并行成员和普通成员的性能.实验结果表明,并行框架能够充分利用多核处理器的计算能力来减少仿真系统运行时间,提高系统性能.  相似文献   

7.
并行重构是发挥多处理机高计算性能的重要手段.但是许多并行重构系统,往往不作过程间数据流分析,因而限制了含调用语句的DO循环的并行本文以中国科学院计算技术研究所并行编译组研制的PORT(Parallelizing Optimizing Restructuring Tools)系统为背景,给出含数组引用的精确的过程间数据流分析的设计思想、关键技术及其在并行化、优化方面的应用.  相似文献   

8.
张瑜  黄波 《计算机工程》1999,25(11):5-7
从构造一个高性能的程序自行并行化系统的需求出发,介绍了程序自动并行化系统AGASSIZ中IR的设计原则与设计方法,阐明了此种IR的设计给整个程序自动并行化系统的设计所带来的便利。  相似文献   

9.
在分布式并行计算系统中,任务运行时支撑平台的功能和效率对并行执行的效果有着重要的影响,Java言中的线程机制和RMI机制为NOW环境下的分布并行应用提供了高效的支持^「1」。在基于Java的自动并行编译系统JAPS^「2」中,设计和实现了分别基于Java RMI和Socket通信支持策略的并行任务支撑平台PTSP;并比较了这两种通信策略对在NOW环境下的分布式并行计算的支持能力和系统效率。  相似文献   

10.
对于高性能并行计算机而言,如何由给出的计算、数据划分信息及精确数组数据流分析信息自动生成并行化代码是实现串行程序并行化的一个重要问题。根据Saman P.Amarasinghe和Lam的定理,实现了一种并行化识别工具中MPI(Message Passing Interface)并行化代码自动生成技术的算法,并对该算法的性能进行分析。  相似文献   

11.
自动并行编译的新进展   总被引:2,自引:0,他引:2  
自动并行编译是并行程序的主要途径之一,本文概述了发展自动并行化编译的必要性及其主要进展,讨论了当前采用的主要技术和今后的发展动向。  相似文献   

12.
过程繁衍及其实现方法   总被引:3,自引:2,他引:1  
过程的处理在并行化编译工具中是十分关键的问题,过程嵌入和跨过程信息传播是常用的解决方法.近年来,兼有前二者优点的新技术:过程繁衍(Cloning),逐渐受到人们的重视.而以往的研究中,过程繁衍仅局限于常数值的传播.本文提出了在过程繁衍中进行符号等式约束信息传播的方法,该方法可以增强系统中全局的符号分析(SymbolicAnalysis)能力,并可与一些新技术(如Omega测试)互相配合,从而提高并行化系统的能力.该方法在作者开发的并行化编译工具AFT中得到了实现.对于PerfectBenchmark的测试  相似文献   

13.
JAPS-II(Java automatic parallelizing system version 2)是一个Java源代码重构编译器,用来发现和实现串行Java程序中对象内和对象间的并行性.其目标体系结构为基于工作站网络环境的分布式存储器计算机系统.介绍了JAPS-II的体系结构和实现JAPS-II的关键技术,包括用于对象并行性分析的数据流分析技术、提高对象并行性和减少运行开销的优化技术以及类重构和代码生成技术.测试结果表明,JAPS-II能够有效地发现循环中和对象内、对象间的并行性,获得加速比.这  相似文献   

14.
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.  相似文献   

15.
This paper presents the results of the Cedar Hand-Parallelization Experiment conducted from 1989 through 1992, within the Center for Supercomputing Research and Development (CSRD) at the University of Illinois. In this experiment, we manually transformed the Perfect Benchmarks(R) into parallel program versions. In doing so, we used techniques that may be automated in an optimizing compiler. We then ran these programs on the Cedar multiprocessor (built at CSRD during the 1980s) and measured the speed improvement due to each technique. The results presented here extend the findings previously reported. The techniques credited most for the performance gains include array privatization, parallelization of reduction operations, and the substitution of generalized induction variables. All these techniques can be considered extensions of transformations that were available in vectorizers and commercial restructuring compilers of the late 1980s. We applied these transformations by hand to the given programs, in a mechanical manner, similar to that of a parallelizing compiler. Because of our success with these transformations, we believed that it would be possible to implement many of these techniques in a new parallelizing compiler. Such a compiler has been completed in the meantime and we show preliminary results  相似文献   

16.
Generation of efficient parallel code is a major goal of a well-designed and developed parallelizing compiler. Another important goal is portability of both compiler system and the resulting output source codes. The various choices of current and future parallel computer architectures as well as the cost of developing a parallelizing compiler make portability a very important design goal. Since the design of parallelizing compilers is considerably move complex than designing conventional compilers, it is very important to achieve both efficiency and portability. To meet this dual goal, we have investigated the application of object oriented design to parallelizing compilers. Our parallelizing compiler design is based on abstractions of intermediate representations of loops and their class definitions. In this paper, we address the problem of loop parallelization and propose a framework where the loop parallelization process is divided into three phases and the optimization of loops is performed via a cyclic application of these three phases. The class of each phase is hierarchically derived from intermediate representations of loops. This facilitates the portability of the resulting parallelizing compilers. Furthermore, one of the phases uses a reservation table of hardware resources in order to obtain optimized parallel programs for given hardware resources. The validation of the proposed framework is given through the application of the object oriented design on an example program which is then parallelized efficiently.  相似文献   

17.
Symbolic analysis is of paramount importance for parallelizing compilers and performance estimators to examine symbolic expressions with program unknowns such as machine and problem sizes and to solve queries based on systems of constraints (equalities and inequalities). This paper describes novel techniques for counting the number of solutions to a system of constraints, simplifying systems of constraints, computing lower and upper bounds of symbolic expressions, and determining the relationship between symbolic expressions. All techniques target wide classes of linear and non-linearsymbolic expressions and systems of constraints. Our techniques have been implemented and are used as part of a parallelizing compiler and a performance estimator to support analysis and optimization of parallel programs. Various examples and experiments demonstrate the effectiveness of our symbolic analysis techniques.  相似文献   

18.
赵捷  赵荣彩  丁锐  黄品丰 《软件学报》2012,23(10):2695-2704
传统的分布存储并行编译系统大多是在共享存储并行编译系统的基础上开发的.共享存储并行编译系统的并行识别技术适合OpenMP代码生成,实现方式是将所有嵌套循环都按照相同的识别方法进行处理,用于分布存储并行编译系统必然会导致无法高效发掘程序的并行性.分布存储并行编译系统应根据嵌套循环结构的特点进行分类处理,提出适合MPI代码生成的并行识别技术.为解决上述问题,根据嵌套循环的结构和MPI并行程序的特点,提出了一种新的嵌套循环分类方法,并针对不同的嵌套循环分别提出了相应的并行识别技术.实验结果表明,与采用传统并行识别技术的分布存储并行编译系统相比,按照所提方法对嵌套循环进行分类,采用相应并行识别技术的编译系统能够更高效地识别基准程序中的并行循环,自动生成的MPI并行代码其性能加速比提高了20%以上.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号