DSystem

CRPC Line


Developers:

Abstract:
The Fortran D compiler included in this release is a prototype that was developed focusing on deep optimization of very restricted Fortran 77D programs. Among other things, the compiler in this release assumes that the number of processors is a defined constant, all loop bounds are known constants, and all subscripts of distributed arrays are either known constants or simple linear expressions off the form: loop index variable +/- constant. The Fortran D compiler prototype supports data distributions along only 1 array dimension. BLOCK data distributions are the only distribution type supported reasonably well. Some support for cyclic distributions exists, but it typically generates code that is incorrect in one way or another. The compiler also contains support for handling irregular problems; a good way to get more information about this is to read some of Reinhard von Hanxleden's papers.

Much effort is currently directed at redesigning and building a robust, full-featured version. A set of kernels for which the compiler works correctly are included in the directory $DSYSTEM/examples. Don't expect this compiler to work for entire applications. It might work for yours, but inspect its output carefully since it typically generates incorrect code rather than aborting. More information about the Fortran D compiler can be found in $DSYSTEM/man/man1/fortd.1 and from papers accessible through the WWW repository http://www.cs.rice.edu/fortran-tools/DSystem/DSystem.html

The D editor is a prototype tool aimed to support development of data parallel programs. Currently the tool has no editing capability and supports only interactive browsing of Fortran D programs. The D Editor enables a user to understand at the the level of the original source what the effect of the program's data distribution directives will be on the program. Several types of feedback are presented. First, loops are colored according to the level of parallelism (green for embarassingly parallel, yellow for partial (pipelined) parallelism, and red for sequential). The loop colors give a rough indication of whether the Fortran D compiler will be able to do a good job on that loop nest. A second kind of feedback provided by the editor is showing information about the messages that the compiler will insert into the program. This can provide a user with a sense of how much communication will occur at run time.

Also included in the release is a binary demo version of a new prototype of the editor (for which the source is not included). This version of the editor can overlay performance information from a trace of an execution on an iPSC/860 on the source to provide procedure-level summaries of communication and computation, as well as loop-level summaries of communication overhead. The demo version of the editor is based on a motif interface that will replace all of the old, home-grown user interface technology that is in $DSYSTEM/src/libs/graphicInterface/oldMonitor.

This release is intended to present a snapshot of work in progress. Much effort is being put into redesigning the software infrastructure to result in tools with more functionality, more readable code, and a greater level of robustness.

Uses/Advantages:

Version:
0.6, September 1994

Rice Catalog #:
IU95013

Platforms:
SunOS-4.1.3, SunOS-5.3

Licensing setup:
BY DOWNLOADING THE DSYSTEM SOFTWARE, YOU AGREE TO THE FOLLOWING LICENSES. NOTE THAT THE SOFTWARE IS FREE FOR NON COMMMERCIAL USES ONLY. SEE THE LICENSE FOR MORE INFORMATION ABOUT COMMERCIAL USE.
The DSystem General Public License
Pablo Performance Analysis Environment License

Files:
If you would like to download this package, please fill out this brief registration form.

Cost:
free for noncommercial uses only. For other uses, please see the license for more information.

Contact:
Danny Powell<sdc@rice.edu>

1-713-527-6011

Comments:
More information about the DSystem can be found at the DSystem Web Pages (http://www.cs.rice.edu/fortran-tools/DSystem/DSystem.html)