cmb@castle.ed.ac.uk (Colin Brough) (12/11/90)
In the IRIS-4D Series FORTRAN 77 Programmer's Guide, section 5. FORTRAN Enhancements for Multiprocessors, it states: "To provide compatibility for existing parallel programs, Silicon Graphics has chosen to adopt the syntax for parallelism used by Sequent Computer Corporation. This syntax...." Unfortunately the compiler directives subsequently described do not match those described in the Sequent ATS Fortran User's Manual (ATS Fortran version 1.0). The SGI version has two extra options to the DOACROSS directive, but is missing three in the Sequent version. It also has three extra directives, but is missing four directives that the Sequent version supports. i.e. Both Sequent SGI ------------------------------------------------ C$DOACROSS- -SHARE -LOCKS -IF -LOCAL -ORDER -MP_SCHEDTYPE -LASTLOCAL -UNROLL -REDUCTION -CHUNK C$ C$LOCK C$CHUNK C$& C$UNLOCK C$MP_SCHEDTYPE C$ORDER C$COPYIN C$ENDORDER Have Sequent recently changed their syntax (ATS is their latest Fortran compiler), or have SGI not actually implemented total compatability? On a related topic, does the PFA parallel processing preprocessor only produce code with a subset of these parallel processing directives in it, or does it make use of them all? In particular, I understand that Kuck and Associates produce both PFA for SGI and the KAP preprocesor for Sequent and I was wondering whether both these preprocessors used the common subset of facilities provided by both SGI and Sequnet Parallel Fortrans's. Any information gratefully received. __________________________________________________________________________ Colin Brough Edinburgh Parallel Computing Centre cmb@castle.ed.ac.uk James Clerk Maxwell Building cmb%ed.ac.uk@nsfnet-relay.ac.uk Mayfield Road Edinburgh EH9 3JZ Phone: +44 31-650-5022 SCOTLAND Fax: +44 31-662-4712 __________________________________________________________________________
bron@bronze.wpd.sgi.com (Bron Campbell Nelson) (12/18/90)
In article <7542@castle.ed.ac.uk>, cmb@castle.ed.ac.uk (Colin Brough) writes: > In the IRIS-4D Series FORTRAN 77 Programmer's Guide, section 5. FORTRAN > Enhancements for Multiprocessors, it states: > > "To provide compatibility for existing parallel programs, > Silicon Graphics has chosen to adopt the syntax for parallelism > used by Sequent Computer Corporation. This syntax...." > > Unfortunately the compiler directives subsequently described do not > match those described in the Sequent ATS Fortran User's Manual (ATS > Fortran version 1.0). [excellent comparison deleted] > > Have Sequent recently changed their syntax (ATS is their latest Fortran > compiler), or have SGI not actually implemented total compatability? SGI has not implemented total compatibility. In our first release, we only implemented a subset of the capabilities found in the Sequent compiler, intending to extend this in later releases. However, we found that our customers were pulling us in slightly different directions, and so we worked on other extensions, rather than fully implementing Sequent compatibilty. As a result, there is a "core" subset that should be common on both machines, but neither company fully implements all of the other's commands. I would at this point like to publicly acknowledge and thank Gary Fielland of Sequent Computer Systems, Inc. for giving SGI permission to use the Sequent parallel command syntax in our compiler. Thanks, Gary. > > On a related topic, does the PFA parallel processing preprocessor only > produce code with a subset of these parallel processing directives in > it, or does it make use of them all? In particular, I understand that > Kuck and Associates produce both PFA for SGI and the KAP preprocesor for > Sequent and I was wondering whether both these preprocessors used the > common subset of facilities provided by both SGI and Sequnet Parallel > Fortrans's. Kuck&Associates does produce KAP/PFA. I believe it is the case that the only commands that PFA will generate that are *not* in the Sequent compatible subset are (1) the IF clause, and (2) allowing array variables to be LASTLOCAL. You can prevent (1) by setting the command line switch "-minconc=0", and can prevent (2) by leaving the optimization level at 4 (i.e. "-o=4" is the default for PFA; LASTLOCAL arrays will only happen at "-o=5"). If you do this, then the results of a PFA run should be compatible/compilable with Sequent Fortran. I do not have a Sequent machine to test this out on however, so I cannot guarentee success, but it should work (if it doesn't, let me know). As for the KAP/Sequent product: I suspect that if you set "-cthreshold=-100" and "-unroll=1" you will get KAP/Sequent to produce the SGI compatible subset, but again I don't have a Sequent machine, so I can't guarentee this. -- Bron Campbell Nelson bron@sgi.com or possibly ..!ames!sgi!bron These statements are my own, not those of Silicon Graphics.