5 research outputs found
Recommended from our members
A visual programming tool for Fortran D
Visual Fortran D (VFD) is a graphical tool to assist parallel programmers in specifying data distributions. Its target is Fortran D, an extension to Fortran77 or Fortran90 which supports data parallelism. VFD provides an intuitive framework where the user employs simple, fast graphical manipulations to specify how data is to be organized for distribution across multiple processors. The corresponding Fortran D statement is generated automatically from the graphical representation and displayed alongside it. Initial experimentation by users indicates that VFD improves the accuracy of data distributions. The ability to observe how a specification statement varies as the graphical representation is changed appears to make VFD a useful tool for teaching Fortran D concepts well
Recommended from our members
Matrix comparison facility
When changes are made to programs - to enhance their functionality, to improve performance, to migrate from one language or machine to another, or to convert a serial program to parallel form - there is no easy way to verify that the changes maintain program correctness. Checking the final result is not enough; potentially serious problems can be masked, nor do results alone indicate where the differences originated in the code.
The Matrix Comparison Facility (MCF) is a language- and machine-independent tool that facilitates the task of verifying that a converted or improved program produces results faithful to the original. The programmer records the contents of array slices at strategic locations in the code. These intermediate values can later be compared to corresponding values from a previous version of the program. Any difference between the two sets of values serves to indicate indirectly the extent to which the new program is proceeding as expected. MCF performs such comparisons automatically and displays the result in an easily understood form. It offers a set of predefined operators, allowing the user to perform the most common comparisons very quickly. Arbitrary comparison operators can also be defined by the user. A command line tool summarizes the total number of mismatches found and the magnitudes of the average and worst-case mismatches. A graphical version visualizes the differences between the two sets of array values, using color coding to reflect the magnitude of variance. The user can manipulate the visual display to obtain further information about the differences, or to change the nature of the comparison. In addition, the graphical tool can be used to simply visualize the contents of an array
Tools to Aid in the Analysis of Memory Access Patterns for Fortran Programs
this paper Section 2 examines the motivation for efficient use of memory hierarchy, Section 3 discusses the goals for the tools, Section 4 presents a detailed description of the tools, and Section 5 shows how to instrument a program using MAPI and how it is tied into the BLAS. Sections 6, 7, and 8 discuss the user interface to the animation part of the tools and give an example of its use. Section 9 states the availability of the tools over netlib and Section 10 summarizes our efforts. 2. Motivatio
The exploitation of parallelism on shared memory multiprocessors
PhD ThesisWith the arrival of many general purpose shared memory multiple processor
(multiprocessor) computers into the commercial arena during the mid-1980's, a
rift has opened between the raw processing power offered by the emerging
hardware and the relative inability of its operating software to effectively deliver
this power to potential users. This rift stems from the fact that, currently, no
computational model with the capability to elegantly express parallel activity is
mature enough to be universally accepted, and used as the basis for programming
languages to exploit the parallelism that multiprocessors offer. To add to this,
there is a lack of software tools to assist programmers in the processes of designing
and debugging parallel programs.
Although much research has been done in the field of programming languages,
no undisputed candidate for the most appropriate language for programming
shared memory multiprocessors has yet been found. This thesis examines why this
state of affairs has arisen and proposes programming language constructs,
together with a programming methodology and environment, to close the ever
widening hardware to software gap.
The novel programming constructs described in this thesis are intended for use
in imperative languages even though they make use of the synchronisation
inherent in the dataflow model by using the semantics of single assignment when
operating on shared data, so giving rise to the term shared values. As there are
several distinct parallel programming paradigms, matching flavours of shared
value are developed to permit the concise expression of these paradigms.The Science and Engineering Research Council