THE COMPUTER TRANSITION SYSTEMS REPORT
JULY/AUGUST 1996


ARTICLES & INFORMATION

     COMPUTER TRANSITION SYSTEMS WEB SITE
     FORCHECK - now supports Fortran 90
     SPREADFORTRAN - special offer
     INTERACTER NEWS - Windows Printer Driver Beta & DEC Alpha support
     TECPLOT VERSION 7 - release date
     SALFORD FTN77 NEWS - including ClearWin+ help
     ERRORS in the MAY 1996 ISSUE
     THINKING ABOUT C++?
     ELF 90 Version 2
     LF90 NEWS - version 2.01, version 3, and special offer on CORPORATE EXPRESS BUNDLE
     ABSOFT FORTRAN
     HOW TO SPEED UP YOUR CODE
     ANOTHER PROFILER BENEFIT
     PENTIUM COMPARED TO PENTIUM PRO
     GINOMENU
     CPU CHIP PERFORMANCE
     EPC PLANS FORTRAN 90 FOR WINDOWS 95/NT
     LP77 DISCONTINUED
     ELECTRICAL POWER SYSTEMS ANALYSIS

CATALOG SECTION


COMPUTER TRANSITION SYSTEMS WEB SITE
We now have a web site - http:/www.labyrinth.net.au/~ctrans. It contains our catalog, copies of the two most recent newsletters, copies of the update and fix files for Lahey Fortran compilers, the John Prentice article comparing Fortran 90 with C++, a page of useful Fortran information available on the web and a duplicate of an excellent numerical methods site run by Tomasz Plewa. We are interested in receiving your comments on our web site including errors, suggestions for improvement, and any difficulties in accessing it. One observation we can make is that the ALTAVISTA search engine (it is accessible from our home page) is very effective for searching software topics including finding the location of the web sites for particular software products.

FORCHECK - now supports Fortran 90
FORCHECK is the oldest Fortran static analyzer on the market. It is well known for its excellent capabilities in the facilitating of program development and maintenance. FORCHECK detects as many programming flaws and inconsistencies as possible during static analysis. It supports more language extensions than any other Fortran analyzer and is available on a wide range of platforms, from PC to super computers. The Windows version includes an integrated development environment. FORCHECK provides the user with detailed documentation which is indispensable during development and maintenance.
FORCHECK version 12 supports the full Fortran 90 syntax and can validate Fortran programs for standard conformance. Cross-reference tables are extended to the new syntax features, such as derived types, internal procedures, and modules. FORCHECK version 12 still supports all previous Fortran 77 syntax extensions so it can be used to analyze all existing and newly developed Fortran programs. It can also be used effectively during migration from Fortran 77 to Fortran 90.
Beside supporting Fortran 90 syntax the analysis and documentation capabilities of FORCHECK have been extended. The actual names of arguments and common-block objects are shown in messages and listed in the program cross-references. Shapes of arguments and common-block objects are verified. Detection of referenced before assigned, truncation and overflow has been improved. Current Forcheck users may upgrade to version 12 for 30% of the new price.

SPREADFORTRAN - special offer
SpreadFortran is an easy to use economical Fortran subroutine library for the generation of a spreadsheet style user interface to Fortran programs. The library was produced as the result of work in developing a convenient control center which efficiently integrated industrial computer models and commercial software packages into a specific program. SpreadFortran can be effectively used in any situation where program input and output lend themselves to a tabular format. SpreadFortran is clearly documented in a comprehensive eighty page manual. Until 30 September SpreadFortran may be acquired for $125. This is a 50% reduction on the normal retail price. An excellent demo disk is available on request.

INTERACTER NEWS
Windows Printer Driver Beta. A beta copy of interface software to the Microsoft Windows Print Manager is now available from (http://www.demon.co.uk/issltd/intfree.html) for all those who have version 3.15 of Windows/INTERACTER. The new facility allows INTERACTER graphics to send output directly to the currently selected Windows printer driver.
DEC ALPHA SUPPORT is now available for both the Fortran 77 and Fortran 90 compilers running under Windows NT, Open VMS, and Digital UNIX. In the case of the latter two operating systems the Xlib license is an economical option if only one developer is involved and serial terminal support is not needed.

TECPLOT VERSION 7
Amtec has finally announced the release date for the long awaited new version of its data visualization and plotting software, Tecplot. UNIX versions are scheduled to begin shipping on 15 August and the Windows versions in September. Tecplot version 7.0 runs on most UNIX workstations (under Motif) and PCs running Microsoft Windows (3.x, 95 and NT). This cross platform compatibility allows users to standardize on a single package for all their computers. Please call us regarding upgrade prices and Australian delivery dates for version 7.

SALFORD FTN77 NEWS
- The Windows Developer FTN77 compiler from Salford Software now includes the native Win32 compiler at no extra cost. Prices for the extended DOS only version of FTN77 have dropped to $995.
- We have obtained a Windows help file for ClearWin+. It is available free of charge to all ClearWin+ users on request.
- We expect new versions of most Salford compilers to be released around the end of July. New facilities have been included in ClearWin+. These are LED type displays, full control of windows positioning, detection of window movement, multiple file drag and drop and 3D effects.
- Plato, an integrated development environment, which includes a powerful Windows editor and project management support, will be provided with the next release of the Win32 FTN77 compiler. Plato will be incorporated into the FTN90 compiler "later this year". One aspect of Plato which will be appreciated by many users is its extensive online clearWin+ help.

ERRORS in the MAY 1996 ISSUE
There were two significant errors in the May 1996 Computer Transiton Systems Report. The Absoft F77 execution times reported for the OVERLAY and TOMCATV programs were very wrong. They should have been 12.6 seconds and 50.6 respectively. The other error was spelling "fremer" with a double m in the "Fortran on the Internet" article.

THINKING ABOUT C++?
In our August 1995 newsletter we published an article by John Prentice which outlined advantages of Fortran 90 (a copy of this article is also available on our web site). "Object-Oriented Parallel Computation for Plasma Simulation" by C.D. Norton et al in the October 1995 issue of Communications of the ACM compares Fortran to C++ in a specific application. The authors used C++ to rewrite a program which was originally in Fortran 77. They found "the learning curve for C++ is much longer than for Fortran 90".
They went to considerable trouble to make the C++ code as efficient as possible and found they had to work around some slow facilities they found in C++. Even so the C++ code in all instances took more than twice as long to execute as the Fortran 77 code. The C++ source code was also much larger - "The C++ program syntax necessarily caused our programs to be longer (about 2.5 times) than the equivalent Fortran 77 versions in the plasma simulations". Substantial difficulties were encountered in porting the C++ code from one platform to another. Platforms used included an Intel Paragon, an IBM SP2 and a Cray T3D. They found that "Valid C++ programs that compiled correctly under one compiler could not be moved verbatim to other compilers. Difficulties with memory alignment and problems with linkers not resolving every external constant reference also arose. These issues... required extensive run-time analysis followed by minor alternative implementation techniques." They also found that "compiler bugs [in C++] can severely restrict development." Perhaps of greater concern is the fact that source code which gave correct results on a SUN gave incorrect numerical results when recompiled and executed on an RS6000.
The authors have translated some of their Fortran 77 code into Fortran 90 but did not present quantitative data on the performance of Fortran 90 code. They did observe that Fortran 90 "is an exciting language and our early experience indicates that it shows a lot of promise".

ELF90 Version 2
Details on ELF90 version 2 were revealed at the Lahey User Meeting. The major advance is inclusion of the ED Windows editor. This means that ELF90 users can edit, link, compile, execute and debug from within the editor. The only ELF90 capability changes in version 2 are the Fortran77 PRINT* and READ* statements have been removed. ELF90 version 2 will be similar to LF90 version 2 except for three main points - there are no extensions, there are no compiler optimization switches (everything is compiled with O0), and the obsolescent and redundant facilities from Fortran77 have been eliminated. There is growing interest in subset Fortran90 compilers with other products, notably F, under development. The full Fortran 90 specification is now recognized by many as being impractically large and, at least when new code is written, the obsolete and redundant features in Fortran 77 should not be used since they facilitate errors in code.

LF90 NEWS
Version 2.01 Everyone who has LF90 version 2.00 should have received version 2.01 by the end of June. If you have not please contact Computer Transition Systems with your serial number details and we will see that it is sent immediately to you. We regret the delay in 2.01 however Lahey wanted to make certain that 2.01 was solid before updating all their customers. The major advantage of version 2.01 aside from the patch facility, is the production of Windows95/NT executables functions correctly. Version 2.00, except for release 2.00a had difficulties in this area.
Version 3.0 Additional details concerning, version 3, the next release of LF90 were revealed at the Lahey User Meeting in early May. In addition to the ability of LF90 to call 32 bit DLLs, an improved windows debugger which can display values of variables, better integration of the debugger and editor, and line number trace back, a facility in F77LEM/32 but until now missing from LF90, will be included. The cost to upgrade from version 2 of LF90 to version 3 will be $250. The upgrade from version 1 to version 3.0 will be $450. While the release date for version 3 has not yet been announced, we expect it will be September.
Discounted Corporate Express Pricing Until 31 August LF90 can be purchased with a one year subscription to "Corporate Express" for $1450 ($1125 academic). Corporate Express provides free upgrades and updates for one full year delivered automatically direct from Lahey and on a priority basis. Its normal price is $450. An additional benefit of Corporate Express is a 10% discount on all other Lahey products and INTERACTER. Since the price to upgrade from version 2.01 to version 3.0 will be $250, the LF90 and Co-Ex bundle is a very attractive deal.

ABSOFT FORTRAN
Absoft supplies high quality Fortran compilers for Macintosh, Windows95/NT, UNIX/386 and LINUX. If you are doing development on more than one of these platforms then serious consideration should be given to the use of ABSOFT compilers. You can then work with just a single compiler technology. A significant strength of Absoft compilers is their extensive support for mainframe and workstation extensions. These include Cray pointers, VAX/VMS structures and eighty of the most commonly used UNIX system routines. Absoft is using technology licensed from Cray to produce Fortran 90 compilers. Their Power Macintosh Fortran90 is now in the late beta stage of development. Their next Fortran 90 platform will be Windows95/NT.

HOW TO SPEED UP YOUR CODE
The simplest way to speed up code is buying faster hardware. However this can be expensive and, if your programs are distributed to others, does not benefit anyone except those using your own machine. An often overlooked technique which can provide major benefits is profiling. One of our LF90 users has modeling programs which take a long time to execute. He is the author of all his code and felt he had taken considerable care to program for fast execution speed. Recently, just as check, he decided to see if the profiler would reveal any areas where some improvement could be made. One immediate result was that he found that one subroutine, which until then he felt played only a minor role in the program, took 15% of the total execution time. Using the profiler to zone in on slow parts of his program and working on these he was able, in two days, double the execution speed. This is an excellent result since substantial effort had originally gone into making the code as efficient as possible.

ANOTHER PROFILER BENEFIT
Another important benefit which can be derived from use of a profiler is quality control. In many situations a program is "tested" by running it using sample data. However this may check only a portion of the program. It is normally a good idea to make certain that every line of program can execute without a run time error. A profiler can be easily used to check exactly which lines/subroutines have been executed. It is then possible to submit other input data with the aim of making certain every line has been executed at least once.

PENTIUM COMPARED TO PENTIUM PRO
We have run several benchmark programs on a 133 MHz Pentium, a 133 MHz a Pentium Pro, and a 200 MHz Pentium Pro. The LF90 version 2.00 compiler was used. Neglecting two programs which actually ran slower on the Pentium Pro the average increase in execution speed using a Pentium Pro at the same clock rate is 43% although there is a wide range. All results are elapsed execution time in seconds.


Benchmark
Pentium
133 MHz
Pentium Pro
133 MHz
Pentium Pro
200 MHz
DRAY 10.6 10.1 6.3
WANG 14.4 10.4 6.6
GAS DYNAMICS 30.8 20.9 12.3
KEPLER77 15.4 11.1 7.6
INTEGRAL 68.5 64.0 not done
CASAR 8.5 4.8 3.1
NEW 10.0 5.3 3.1
CHANNEL 272.0 329.3 287.0
WITH 185.8 196.4 not done

The first two benchmarks were contributed by Computer Transition Systems clients. The others are ones used by John Prentice of Quetzal Associates, 3455 Main Ave., Suite 4, Durango CO 81301-0201.

GINOMENU
Have you ever been to a software development exhibition and been impressed by all the GUI toolkits, pop up this and pull down that, and then been disappointed when you mentioned FORTRAN, only to be greeted by a deafening silence? If so then this is for you. GINOMENU 2.0 is a GUI toolkit for FORTRAN. It features all those windows, menus, buttons and slider things with an easy to program interface. Programming is as simple as defining a widget to appear on the screen at a particular place and giving it an callback identifier. If the user presses or changes anything, your program is given back the callback identifier and it's up to you what the response is.
The GINOMENU system emulates the two popular GUI styles, MOTIF and MS Windows 3.x in DOS or under X Windows so your program is device independent. It is supported under DOS ($900) with compilers from Salford, Lahey, Watcom and MS Powerstation and under many different UNIX platforms.
Coming soon is version 3.0 for Windows (approximately $1200) with many more features and the advantage of running under native Windows 3.x, NT and w95. So using the same commands, you will be able to convert your Fortran programs to true windows applications without even picking up a C manual.

CPU CHIP PERFORMANCE
One measure frequently used to compare the performance of different computers is the SPEC benchmark suite. There are actually two suites - one for integer arithmetic (INT95) and one for floating point (FP95). Ten separate Fortran 77 programs make up the FP95 benchmark suite. Consequently unlike the integer SPEC benchmark which uses C and benchmarks published by various PC magazines which tend to concentrate on operating system and I/O factors (which are important in mass market software applications), the FP95 measure is of particular interest to those who use Fortran. The source code for the SPEC benchmarks may be purchased (US$500) from Standard Performance Evaluation Corp. This company also publishes a newsletter which gives the results of the SPEC benchmarks run on various hardware. These may be viewed on the web at http://open.specbench.org/osg/cpu95/results/.

CPU MHz SPEC FP95 CPU MHz SPEC FP95
Pentium 75 1.5 RS6000 P2 67 9.6
90 1.8 77 11.2
100 2.1 SuperSparcII 75 3.0
120 2.3 HyperSparc 130 4.7
133 2.5 UltraSparc 167 8.4
166 2.7 HP-PA 7200 100 6.2
200 3.0 120 8.2
Pentium Pro 166 5.5 HP-PA 8000 180 18.3
200 6.0 ALPHA 21064 266 5.7
PowerPC 604 100 3.1 ALPHA 21664 266 10.0
133 3.6 300 11.6
MIPS R5000 180 3.7 350 12.6
MIPS R10000 200 12.7


The information above (except for the MIPS results) were obtained from the open.specbench site. All the results in the above table are for computers which had only one CPU. The SPEC benchmarks require that the same compiler options be used for all programs run in the suite and that no more than three compiler optimization switches are set. This makes it quite difficult for compiler writers (and CPU designers) to optimize their product to produce anomalously good results. Older CPUS have been benchmarked with the earlier SPEC92 programs and most companies have not retested them with SPEC95. That is the reason such CPUs to not appear in the above table. There is no simple correlation between SPEC95 and SPEC92.

EPC PLANS FORTRAN90 FOR WINDOWS95/NT
Edinburgh Portable Compilers, producers of one the highest quality Fortran 90 compilers for UNIX workstations (SUN, RS/6000, Silicon Graphics, PowerPC, and UNIX/386), has licensed the Pentium Pro code generator produced by Intel. Intel has also licenced F90 technology from EPC. When Windows95/NT product is available it will mean that EPC will be able to supply Fortran 90 for most popular platforms. EPC will also be integrating into their new Fortran90 compilers superscaler and multiprocessing optimizing technology licensed from Kuck & Associates. A release date for the Pentium Pro compiler has not been announced. It is likely to be at least 12 to 18 months before it is available.

LP77 DISCONTINUED
We have a couple of copies of Lahey Personal Fortran (LP77) in stock. Once they are gone there will be no more since ELF90 has displaced it.

ELECTRICAL POWER SYSTEMS ANALYSIS
PSAS version 2.2 is an affordable, complete, and user friendly software package for electrical power systems analysis. It should be of interest to consultants, electrical engineers and universities. Features include power flow study with user defined single line diagrams, three phase and unbalanced fault analysis, security assessment, harmonic analysis, transient stability, dynamic stability and steady state stability. Up to 300 nodes and 800 branches can be handled. A demo disk illustrating the main features of PSAS is available. The introductory price is $2500. Special discounts are available for educational institutions. For further information contact C & S Group, P.O. Box 1322, Glen Waverley, 3150 or Phone/Fax (03) 95 61 82 05.


Return to Computer Transition Systems home page.

Updated 8 July 1996