moved
This commit is contained in:
193
Sapfor/_src/SageAnalysisTool/OmegaForSage/README
Normal file
193
Sapfor/_src/SageAnalysisTool/OmegaForSage/README
Normal file
@@ -0,0 +1,193 @@
|
||||
|
||||
This is the code for the Omega Test. The interface for sage consists
|
||||
in the file sagedriver.c and the include file lang-interf.h.
|
||||
This is a preliminary interface, It does not use yet all the capabilities
|
||||
of the omega test. More should follow.
|
||||
|
||||
Foloowing the original README for the tiny/omega test distribution.
|
||||
|
||||
********************************************************************
|
||||
README file for omega/tiny distribution
|
||||
README,v 1.1 1993/09/17 22:13:45 fbodin Exp
|
||||
********************************************************************
|
||||
|
||||
|
||||
|
||||
This is the readme file for version 3.0.0 of the distribution of the Omega
|
||||
test, which is available via anonymous ftp from ftp.cs.umd.edu (128.8.128.8)
|
||||
in the directory pub/omega.
|
||||
|
||||
This release consists of three components:
|
||||
|
||||
* The Omega test: A system for performing symbolic
|
||||
manipulations of conjunctions of linear constraints
|
||||
over integer variables. In particular, the operations
|
||||
supported include:
|
||||
* Checking if integer solutions exist
|
||||
|
||||
* Eliminating an existential quantifier. For example,
|
||||
we can transform
|
||||
{ Exists b s.t. 0 <= a <= 5; b < a <= 5b}
|
||||
to
|
||||
{ 2 <= a <= 5}
|
||||
|
||||
* Checking to see if one set of constraints implies
|
||||
another. For example, we can check to see if:
|
||||
|
||||
{0 <= x <= 3; -3 <= 2y <= 3} => {0 <= x+y, x-y <= 3}
|
||||
|
||||
The interface to the Omega test is described
|
||||
in the file doc/omega_interface.tex
|
||||
|
||||
* The Omega test dependence analyzer: A system built on top
|
||||
of the Omega test to analyze array data dependences. This
|
||||
system builds the appropriate problems and makes the appropriate
|
||||
queries of the Omega test to analyze array-based data dependences
|
||||
in programs. The analyzer computes data difference/direction
|
||||
vectors, recognizes reduction dependences, analyzes array kills
|
||||
(which enables array expansion and array privatization),
|
||||
and determines when assertions can be used to eliminate dependences.
|
||||
|
||||
We have attempted to define an interface that allows other users
|
||||
to make use of the Omega test dependence analyzer. This interface
|
||||
is described in include/lang-interf.generic and Lang-Interf3.0
|
||||
(keep in touch if you plan to use this interface; we are continuing
|
||||
to refine it).
|
||||
|
||||
* Extended tiny. We have extended Michael Wolfe's tiny tool. The
|
||||
major extensions are:
|
||||
|
||||
* Improved user interface (scrolling, dependence browsing
|
||||
windows)
|
||||
|
||||
* Capabilities that improve the accuracy of data dependence
|
||||
analysis (induction variable recognition, forward
|
||||
substitution).
|
||||
|
||||
* Features that demonstrate the additional information we
|
||||
collect (scalar/array expansion and privatization,
|
||||
interactive dependence zapping)
|
||||
|
||||
* An semi-automatic procedure for converting FORTRAN programs
|
||||
into tiny
|
||||
|
||||
* A prototype implementation of a unified framework
|
||||
for reordering transformations. The framework
|
||||
unifies loop interchange, skewing, distribution,
|
||||
fusion, reversal, statement reordering, and some
|
||||
cases of access normalization, loop alignment, loop
|
||||
peeling and index set splitting.
|
||||
|
||||
The Omega test is implemented on top of the December 1990 version of
|
||||
Michael Wolfe's tiny program, as well as in a stand-alone test driver.
|
||||
The Omega test computes exact data dependence information, including checks
|
||||
for array kills. The Omega test data dependence analyzer is substantially
|
||||
more accurate than dependence analyzers in many existing research
|
||||
and commercial systems.
|
||||
|
||||
Tiny is a research implementation of an interactive program
|
||||
restructuring tool. Tiny computes data dependence relations
|
||||
and interactively performs many restructuring transformations, such
|
||||
as loop interchanging, distribution, skewing, ... . Michael Wolfe
|
||||
has put his tiny tool into the public domain, which allowed
|
||||
us to build on top of his software. We are very grateful for Michael's
|
||||
contributions.
|
||||
|
||||
This implementation is a research prototype and has not been subjected
|
||||
to rigorous testing. In other words:
|
||||
|
||||
THERE ARE BUGS IN THIS SOFTWARE
|
||||
|
||||
We don't know of any at the moment (other that the ones listed
|
||||
under KNOWN BUGS/LIMITATIONS below), but we are sure that other,
|
||||
undiscovered bugs remain in the software. This software has been
|
||||
put into the public domain as a public service on an "as-is"
|
||||
basis, without warranty or liability.
|
||||
|
||||
Since this version incorporates a large number of major new features,
|
||||
there will almost certain be bug fixes that will be shortly released as
|
||||
version 3.0.1.
|
||||
|
||||
If you register with us as someone who has a copy of the Omega test,
|
||||
we will send you update notices. Send email to omega@cs.umd.edu to
|
||||
be added to the list of registered users.
|
||||
|
||||
We are committed to continued distribution and support of the Omega
|
||||
test for other researchers, and a number of research groups are already
|
||||
incorporating the Omega test into their compilers and programming
|
||||
environments. We welcome any additional researchers. Please stay
|
||||
in contact with us if you plan to make serious us of the Omega test so
|
||||
that we can provide you with updates and get feedback from your use.
|
||||
|
||||
|
||||
The implementation of the Omega test and extensions to tiny have
|
||||
been done by a number of people at the University of Maryland:
|
||||
William Pugh
|
||||
Dave Wonnacott
|
||||
Udayan Borkar
|
||||
Wayne Kelly
|
||||
Jerry Sobieski
|
||||
Vadim Maslov
|
||||
|
||||
This software is public domain, and no legal restrictions of any
|
||||
kind whatsoever are placed on uses of it). You may do whatever you want
|
||||
with it, and no guarantees of any kind are made about its performance or
|
||||
lack of errors. You can copy it, use it, incorporate it or even sell it.
|
||||
We request that any research or products that make use of this software
|
||||
acknowledge that use and that you keep us informed of your use.
|
||||
|
||||
Please send mail to omega@cs.umd.edu if you wish to be added to a mailing
|
||||
list for people interesting in using this software. We will notify
|
||||
people on the mail list of bug fixes and new releases.
|
||||
|
||||
Also send mail to omega@cs.umd.edu if you have any trouble installing
|
||||
the software, bug reports or questions.
|
||||
|
||||
Our work on this software has been supported by NSF grants CCR-8908900 and
|
||||
CCR-9157384 and by a Packard Fellowship, as well as being based on
|
||||
Michael Wolfe's original implementation of tiny.
|
||||
|
||||
|
||||
FILES
|
||||
-----
|
||||
The following tar files can be ftp-ed from ftp.cs.umd.edu (128.8.128.8)
|
||||
from the directory pub/omega:
|
||||
|
||||
|
||||
* README This file
|
||||
* WOLFE_README The readme file that originally accompanied Michael Wolfe's
|
||||
distributing of tiny
|
||||
* src.tar.Z Source for the omega test and our enhanced version of tiny
|
||||
* sparc_demo.tar.Z Sun Sparc executable versions of the programs that can be
|
||||
made from the src files, demo files, and documentation of
|
||||
of how to use our extended version of tiny.
|
||||
* dec3100_demo.tar.Z Decstations 3100 executable versions of the programs that
|
||||
can be made from the src files. demo files, and documentation of
|
||||
of how to use our extended version of tiny.
|
||||
* demo.tar.Z Test files for demos
|
||||
* rt.tar.Z Regression test files
|
||||
* doc.tar.Z Documentation
|
||||
* techReports A directory containing postscript and dvi copies of
|
||||
relevant tech reports.
|
||||
|
||||
Together, these tar files constitute the entire tiny system, with the
|
||||
following directories:
|
||||
|
||||
* include header files (from src.tar.Z)
|
||||
* src source code (from src.tar.Z)
|
||||
* obj makefile (from src.tar.Z), generated files (from sparc_bin.tar)
|
||||
* doc documentation for tiny and for other drivers for the omega test
|
||||
* demo sample files documented to show features of the Omega test and
|
||||
extended tiny
|
||||
* f2t A FORTRAN to tiny converter based on f2c
|
||||
* rt regression test sample files and expected results
|
||||
* misc shell scripts used for regression testing (rt.tar and src.tar)
|
||||
|
||||
The executable programs are:
|
||||
|
||||
* "t" the tiny environment, upgraded to use the omega test and
|
||||
test for refinement, killing, and covering of dependences
|
||||
|
||||
* "f2t" A FORTRAN to tiny converter based on f2c
|
||||
|
||||
|
||||
Reference in New Issue
Block a user