首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 406 毫秒
1.
程序自动并行化系统   总被引:23,自引:10,他引:23       下载免费PDF全文
朱传琪  臧斌宇  陈彤 《软件学报》1996,7(3):180-186
有效的自动并行化系统能帮助用户充分地利用并行计算机资源.本文介绍了自动并行化的历史及现状,并着重介绍了作者所开发的自动并行化系统AFT(automaticFortrantransformer)及其特色和所用的关键技术.测试结果表明AFT系统在功能上已超越了传统的自动并行化系统.  相似文献   

2.
向前替代是并行编译器中的一种重要的优化手段,它有助于符号分析(SymbolicAnalysis)、程序繁衍(ProcedureCloning)等其它的并行编译优化手段。在本文中,我们提出了一种使用静态单赋值(SingleStaticAssignment)的向前替代的新方法  相似文献   

3.
循环是程序中蕴含并行性最为丰富的一种结构,因此成为并行化编译最主要的对象.但循环内的过程调用严重妨碍了循环的数据相关性分析,使得循环语句潜在的大量并行性得不到开发.本文提出的循环嵌入方法使部分含过程调用循环语句的并行化成为可能,对部分用其它过程间分析技术也能开发其并行性的这一类循环语句采用循环嵌入方法,并行化开销低,并且分析更精确.采用循环嵌入方法还可降低程序由于多次过程调用带来的调度开销.这一方法在作者开发的自动并行化编译系统AFT(automaticPortrantransformer)中得到了实现,对Spec92测试程序包的试验结果表明了本文提出的方法是行之有效的.  相似文献   

4.
94034PARTER:一种适用于进行纹理识别的并行系统//MicroprocessorsandMicrosystems-l993,17(2).-93~99PARTER是一种使用并行处理技术,完成数字图象上静态纹理识别的系统。该系统装配有训练程序,能...  相似文献   

5.
武小鹏  黄涛  冯涛 《软件学报》1996,7(12):735-742
本文描述了PCLAgenda(processcontrolinglanguageagenda)的设计与实现.PCLAgen-da是SCOP组合框架软件工具系统中提供的以过程为核心的软件工程环境,其主要功能是定义软件开发过程,指导、控制和自动化软件开发工作,支持开发人员的合作和协调.PCLAgenda的核心是基于SCOP软件开发方法学的、面向活动的软件过程模型.  相似文献   

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.
倪彬  冯玉琳  黄涛 《软件学报》1996,7(12):752-759
SCOP是一个面向对象的组合框架软件,OOAnalysis是SCOP中支持系统分析的一个工具系统,本文介绍了OOAnalysis的设计和实现.该工具采用并行/递归式面向对象的分析方法,采用自底向上的系统构造和对象抽象与自顶向下的系统分解和对象精化相结合的方法建立对象模型,强调多层次抽象、并行工作和递归建模.这个工具有多层次、可视化和自动化的特点.  相似文献   

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.
上下文敏感的过程间指针分析   总被引:4,自引:0,他引:4  
提出了一种新的指针指向信息的过程间传播方法 ,对过程间指针分析所必须解决的若干重要问题给出了详尽的算法 ,从而形成了一种实用的上下文敏感的过程间指针分析框架 .该方法已在 C程序分析工具 Agassiz系统中实现 ,实验数据说明这些方法是行之有效的 .  相似文献   

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.
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.
空间数据划分是空间索引、并行GIS数据分解以及分布式数据管理与调度等问题的核心环节之一。本文针对点数据集多目标空间划分问题,在Hilbert空间填充曲线的基础上建立随机、规则、聚集三类空间分布模式的判定模型,设计针对均匀和随机分布模式的等差划分以及针对聚集分布模式的迭代寻优划分。实验表明该方法能够在缺少覆盖范围信息的条件下准确判定空间分布类型,该方法能够兼顾空间聚集性、数据量均衡与空间重叠度三种约束条件。  相似文献   

15.
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.
赵捷  赵荣彩  丁锐  黄品丰 《软件学报》2012,23(10):2695-2704
传统的分布存储并行编译系统大多是在共享存储并行编译系统的基础上开发的.共享存储并行编译系统的并行识别技术适合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.
张兆庆  乔如良 《计算机学报》1994,17(12):908-921
PORT是以FORTRAN77源程序为象的并行优化重构工具集,它以自动并行重构程序为主体,辅以一组优化,静态分析,动态分析和程序执行过程视化工具,通过良好的用户界面和统一的的内部数据结构将它们集成为一个整体,本文介绍PORT系统的特点,结构和若干关键技术。  相似文献   

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

20.
针对含有大量循环的串行程序存在的问题,提出一种基于线程级前瞻技术的循环选择方案。该方案对循环进行最优选择后建立一个可并行运行的循环集。对于该集合中的循环,选择并行效率高的代码段作并行处理,以加快串行程序运行速度。实验表明,相对于一般的简单内部循环或外部循环并行方法,该方案使9种基准代码的加速比平均上升23.8%,从而提高串行程序并行运行的效率。  相似文献   

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

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