[comp.lang.fortran] Porting CDC/ETA Fortran

saroff@JVNCF.CSC.ORG (Steve Saroff lac00001) (07/17/89)

Newsgroups: comp.lang.fortran
Subject: Porting CDC FTN200 code to vanilla fortran
Summary: 
Expires: 
References: <2816@elxsi.UUCP> <50500144@uxe.cso.uiuc.edu>
Sender: Dr. Stephen Saroff 
Reply-To: saroff@jvncf.csc.org.UUCP (Steve Saroff lac00001)
Followup-To: 
Distribution: 
Organization: 
Keywords: 

I have a large body of Fortran source, written in the FTN200 version of
fortran supported by CDC/ETA systems.  For a variety of reasons, this is
rather non-standard code, using a number of special functions and
non-standard notation for descriptors, and vectors.

I am planning to port these codes to a more standard fortran, using do
loops and what not to replace the FTN200 stuff.  Doing this by hand for
a large number of codes would be hard, so I am looking at an automatic
technique for doing this.  I have some candiates I have been looking at,
but am also interested in other suggestions.


		SzS

Dr. S.Z. Saroff
John von Neumann National Supercomputer Center   bitnet: saroff@jvncc
665 College Road East, P.O. Box 3717             internet: saroff@jvncc.csc.org
Princeton, NJ 08543   (609) 520-2000             

               o o
               (_)____o
~~~~~~~~~~~~~~~~~(_____)~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  oo oo          The Bear who Swims

fisher@Alliant.COM (Larry Fisher) (07/26/89)

In article <8907171434.AA00976@jvncf.csc.org> saroff@JVNCF.CSC.ORG (Steve Saroff lac00001) writes:
>I have a large body of Fortran source, written in the FTN200 version of
>fortran supported by CDC/ETA systems.  For a variety of reasons, this is
>rather non-standard code, using a number of special functions and
>non-standard notation for descriptors, and vectors.
>
>I am planning to port these codes to a more standard fortran,
	How about Fortran 8x?

>using do loops and what not to replace the FTN200 stuff.
	Why bother to replace it completely?  Try Fortran 8x!

>Doing this by hand for...
	Yech!

>Dr. S.Z. Saroff

	Having just been involved in porting a code from ftn200 to our
FX/Fortran on one of our Alliant machines, I was quite encouraged, but
really surprised at how easy it was.  Nearly all of the "Q8" routines
translated one-for-one with FX/Fortran vector intrinsics.  The use of
constructs of the form "A(1;N)" translate to A(1:N).  The form A(1,1;N)
translates to A(1:N,1).  There are other small details related to 
changing half-precision to regular precision and full precision to
double, but it's all straight-forward.

	Much of the conversion can be accomplished with a Unix awk script.
Unix sed scripts can do a lesser, but significant job as well.

	Best of all, codes that performed well on the CYBER 205 and ETA
machines will perform well on the Alliant FX/80 (69.3 MFLOPS on the
1000x1000 LINPACK).  

	Call if you'd like to talk.

-- 
Larry Fisher			Domain:	fisher@alliant.com
Alliant Computer Systems	UUCP:	{mit-eddie|linus}!alliant!fisher
Littleton, MA 01460		Phone:	(508) 486-1449