A portable code generator for CRAY FORTRAN

  • Authors:
  • Sanjiva Weerawarana;Paul S. Wang

  • Affiliations:
  • Kent State Univ., Kent, OH;Kent State Univ., Kent, OH

  • Venue:
  • ACM Transactions on Mathematical Software (TOMS)
  • Year:
  • 1992

Quantified Score

Hi-index 0.00

Visualization

Abstract

One way to combine the powers of symbolic computing with numeric computing is to automaticaly derive and produce numeric code. This approach has important applications in science and engineering. Once the desired formulas and procedures are derived in a symbolic manipulation system, they can be translated into a target numeric language by a code generator. GENCRAY is a code generator written in the C language for portability. GENCRAY defines a LISP-style input language that is translated into either FORTRAN 77 or CRAY FORTRAN. By defining its own input syntax, GENCRAY becomes a free-standing code translator that can be made to work with any symbolic manipulation system. GENCRAY is portable to any computer system with a standard C compiler. Input to GENCRAY can come from a file or directly from a symbolic system through a pipe. On UNIX systems with Berkeley networking, GENCRAY also runs as a network server. The input syntax is customizable to allow both Common and Franz LISP input styles. In addition to generating easily vectorizable CRAY FORTRAN code, GENCRAY also provides high-level, easy-to-use parallel programming macros to produce parallel code for the multiprocessor CRAY systems. The features, applications, usage, and implementation of GENCRAY are described. Techniques for producing parallel codes are discussed and illustrated by a substantial example contained in the Appendix.