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