Leo Mirkin, Manager, Languages & Tools, Sky Computers, Inc
Sky Computers, Inc.
27 Industrial Ave.
Chelmsford, MA 01824-3618
"Sky Computers, Inc. has long experience with the Promula FORTRAN to C Translator. We selected Promula to become part of our language tools in 1990 and haven't had a reason to regret it."
"Sky Computers is in the business of making high-performance floating point computer systems, usually front-ended by a popular workstation (Sun, SGI, RS/6000, DEC AXP, Pentium) used to provide non-critical operating system support. Our goal is to provide very cost-effective, fast, transparent and scalable solution to customers with large data sets and continuous massive data acquisition requirements."
"Promula is an integral part of our vectorizing and parallelizing development environment, being first stage of our FORTRAN compiler/cross-compiler, ff860. Different versions of MetaWare's popular HighC compiler are used for the second stage on different platforms."
"Our criteria for selection were:
- support for FORTRAN-77 standard, verified by the GSA F77 test suite,
- support for popular VMS, Cray and Sun extensions to F77 standard,
- generation of good quality C-code, compatible with variety of C-compilers found on UNIX workstations, and not inhibiting advanced optimization techniques used by our compilers, including vectorization,
- tool flexibility and configurability,
- quality of technical support from Promula Corp. and receptivity to new ideas."
"Initially, we spent 2 weeks with Fred Goodman of Promula Corp. finding optimal configuration options to support the above goals and making some custom additions. After that, we put promulaFortran under source code control and maintained it with some minimal help from Promula Corp. Our customers had used promulaFortran as ff860 in development of many applications in simulation, signal processing and control. We have used it internally to compile and run SPECFP-92 benchmarks and many benchmarks provided by our customers."
"In all these activities we have not encountered any problems with Promula, but often problems with user's algorithm or design. In general, it was my observation, that application's reliability depends solely on the algorithm design and implementation and on the computer system used to run it. Once a programmer has compiled and verified his/her application, it stays the same. At the same time, it is very simple to introduce potential problems with faulty design, especially using extensions to F77 like dynamic memory allocation via MALLOC/FREE without proper testing and handling of the error conditions. Even more insidious problems can be introduced in the multiprocessing applications design, especially with uncontrolled sharing of variables and parameters."