MAY 1998


COMPUTER TRANSITION SYSTEMS, BOX 4553, MELBOURNE, VICTORIA, 3001
http://www.cts.com.au --- phone (03) 9530 6633 --- fax (03) 9530 6644 --- email: info@cts.com.au

CONTENTS

LAST CHANCE TO BUY ABSOFT FORTRAN 90 INEXPENSIVELY
OTHER FORTRAN 77 to 90 UPGRADE OFFERS
FORTRAN 90 WORKSHOPS - for Sydney and Melbourne
LF90 Version 4.5
VISUAL ANALYSER AND SSLII
ABSOFT FORTRAN NEWS
WINTERACTER 1.15 and INTERACTER
REALWIN 2.0 RELEASE
GINOMENU v3.5
FORTRAN 90 ARRAY INTRINSICS - they can be slow
FASTER EXECUTION SPEED - and parallelization under NT
CPU CHIP PERFORMANCE - an update
C TRANSLATOR PRICE DROP


CATALOGUE SECTION


LAST CHANCE TO BUY ABSOFT FORTRAN 90 INEXPENSIVELY
Until 30 June 1998 those who have any Fortran compiler for INTEL based PCs may upgrade to the Absoft Pro Fortran for Windows for $575 ($870 if IMSL is included) + $10 shipping. Academic purchasers get the same rates but do not need to upgrade from an old compiler. This is by far the most attractive price for a comprehensive Fortran 90 development system. A new version is due to be released in late June but those who buy at the special offer rates will find it more attractive to buy now and pay for the upgrade rather than purchase the new version outright. Absoft has not announced what new facilities will be included in the June release.

OTHER FORTRAN 77 to 90 UPGRADE OFFERS
Currently Lahey and Salford are also offering attractive prices to upgrade to their latest Fortran compilers. To qualify you must quote the serial number of the product you are upgrading and include the cover page of the manual with your order.
Lahey Until 31 July 1998 those who have F77LEM/32 or any 32 bit Fortran for MSDOS or Windows (Essential Fortran 90 and F excepted) may obtain LF90 for $925, ($725 academic) plus $10 shipping.
Salford Those who have FTN77 may upgrade to Salford's new FTN95 for Windows 95/NT for $875 plus $10 shipping. The FTN95 price for those with any other Fortran compiler for INTEL based PCs is $1095.

FORTRAN 90 WORKSHOPS - for Sydney and Melbourne.
Tom Lahey has conducted Fortran 90 Workshops in America, Europe, and Australia. In 1999 he will lead two workshops, one in Sydney (February 15-17) and the other in Melbourne (February 22-24). These three day, six session programmes are for a maximum of 20 people. Participants will successfully port one of their own Fortran 77 programs to a Fortran 90 language system and will learn how to incorporate new Fortran 90 features into their code. Workshop participants must be experienced Fortran programmers. They must bring their own computer with a Fortran 90 language system (preferably LF90) and a Fortran 77 program of no more than 10,000 lines. Three weeks before the workshop begins paid participants will receive workshop notes, a copy of the book Migrating to Fortran 90, and a disk containing copies of the Fortran 90 code discussed in the workshop. The fee for the Workshop is $1200 ($1080 for Corporate Express members) and must be paid three weeks in advance to Computer Transition Systems. Payment may be by cheque, VISA or MasterCard. Fees are non refundable. A 10% discount is given to those who register before 1 December 1998. The Workshop fee covers lunches.

LF90 Version 4.5
In the accompanying Lahey newsletter there is an extensive description of the new facilities in the latest release of their Fortran 90 compiler, LF90. The principal new features are inclusion of the Fujitsu static analyser, inclusion of the Fujitsu Mathematical Subroutine Library, link compatibility with Microsoft C/C++, improvements in the included WISK graphics/windows interface library, more examples and a configuration file generator for the Automake program, and compatablity with the IMSL mathematics and statistics library. The latter will sell for $960 but those who purchase LF90 or upgrade to version 4.5 may obtain IMSL for $450. LF90 version 4.5 updates are $247 from version 4.0, $397 from version 3.5 and $547 from earlier versions. There is a $40 price surcharge on LF90 if diskette media is needed.

VISUAL ANALYSER AND SSLII
As mentioned already the powerful Visual Analyser [VA] static analyser and the Scientific Subroutine Library [SSLII] are now both included as part of the latest release of LF90. Standalone versions of these products for Windows95/NT will shortly be available. This will make them accessible to those who do not use LF90. The versions of these products for SUN compilers sell for US$1500 each. We anticipate the Windows versions will be little more than one tenth of this price. If you are interested in easily documenting or maintaining your code more efficiently you should give serious consideration to obtaining Visual Analyser. Similarly many Fortran programmers will find SSLII an extremely cost effective source for a wide range of high performance mathematical subroutines [over 250]. These routines have been used for years on Fujitsu mainframe and workstation computers. For more information on VA and SSLII see the accompanying Lahey newsletter. Please contact Computer Transition Systems for price and availability details.

ABSOFT FORTRAN NEWS
The competitive upgrade (from any MSDOS or Windows compiler) price of $575 ($870 with IMSL) makes Absoft Pro Fortran for Windows the most economical complete Fortran 90 compiler for PCs. Educational users may purchase new at this price, no upgrade is required. We anticipate this offer will not be extended past 30 June. The package includes a suite of three compilers - F90, F77 with many UNIX extensions, and C/C++. All compilers are link compatible with each other and Microsoft Visual C/C++ so code using all of them can be combined in one program.
A Service pack for Absoft Pro Fortran users is available free from Absoft's website [www.absoft.com]. It includes a new IDE [non-expiring], an improved debugger, an improved editor, compiler refinements, and bug fixes.
Absoft has signed a deal with Intel to develop Fortran toolsets for the Win32 environment on current and future Intel CPUs. The GINO range of graphics libraries are now available for Absoft Pro Fortran. Wolfram Research, Inc., the makers of Mathematica, (http://www.wolfram.com/) are in the process of writing a link so that Mathematica can call Fortran code and vice versa. It is expected this facility will be completed in June and should be available for all Pro Fortran compilers (Linux, Pmac and Windows).

WINTERACTER 1.15 and INTERACTER 4.15
I.S.S. have just released INTERACTER 4.15 and will be releasing Winteracter 1.15 at the end of May. Common new features in both products include a CGM importer, binary file handling routines, a graphics file-type identification routine and 256-colour DXF support. Winteracter 1.15 also includes extended bitmap handling capabilities and target drawable selection (e.g. to draw into a dialog field or a memory bitmap). This has various potential applications, including double buffering for animation or smooth screen updating. Version 1.15 also offers improved versions of the menu/dialog/icon visual editors and an updated beta release of WiDE (the Winteracter Development Environment). New visual tools have been added to Winteracter 1.15, namely PlotConv (a graphics file viewer/conversion/printing utility supporting HP-GL, HP-GL/2, BMP,PCX, WMF and CGM files), GraphEd (a graph plot designer which generates Fortran source code) and ToolEd (a toolbar/tooltip builder). A selection of predefined toolbar buttons are now supplied. The on-line help has been expanded with details of new routines, frequently asked questions, and a glossary of Windows/Winteracter terminology. GraphEd is also included with DOS & Windows versions of INTERACTER 4.15. For those who missed Winteracter 1.10, recent highlights include spreadsheet style data entry via a new grid control, toolbars/tooltips, IconEd(Icon/cursor editor), support for the Print Manager setup dialog, more presentation graphics plot types and Epson ESC/P2 support. Upgrades of DOS or Windows INTERACTER from version 4.1 are $120, from 4.0 are $375. Upgrades of the DOSWin INTERACTER from version 4.1 are $165, from version 4.0 are $495. Call for upgrades from earlier versions. Upgrades of Winteracter from version 1.10 are $165, from version 1.0 are $360. Winteracter upgrades will be available in early June.

GINOMENU under UNIX/DOS has diverged slightly from the Windows version and is known as v3.1. It contains all the above features except MDIwindows, Text/Value array grids and access to Windows help files and the clipboard. The implementations noted above all contain F90 modules which consist of a new Fortran 90 interface using structures and pre-defined parameters and, (in the case of GINOMENU), optional arguments. The F90 module also contains an interface block for the F77 interface that can be used to check the number and type of arguments when using the F77 routines.
GINOMENU is now available as a C/C++ library and is automatically included in the GINO-C Bundle.

FORTRAN 90 ARRAY INTRINSICS - they can be slow
Those who are after maximum execution speed should be wary of the Fortran90 array intrinsics. Investigation of the MATMUL routine for the three most common Fortran 90 compiler for Windows (others were not examined) reveals that the equivalent Fortran 77 code for MATMUL (ie using DO loops) is between 4 and 5 times faster than if MATMUL is used. The Performance Plus MATMUL routine, on the other hand, is at least 3 times faster than the Fortran 77 coded MATMUL. Other fast Performance Plus Fortran 90 intrinsics include ALL, ANY, COUNT, MAXVAL, MINVAL, SUM, PRODUCT, DOT_PRODUCT and TRANSPOSE. Those who want fast execution should check that using the new array operations in Fortran 90 does not result in an execution speed penalty.

FASTER EXECUTION SPEED - and parallelization under NT
Obtaining faster execution of compiled programs is a priority for many Fortran programmers. There are three fundamental ways to achieve faster execution. In order of ease of implementation these are faster computers, better coding, and parallelization. Now several packages exist which simplify parallelization.
Faster computer hardware increases execution speed without having to change the source code. At the moment the fastest PCs are those using the 350 MHz PowerPC and the Intel PII running at 450 MHz. As pointed out in the previous issue of the newsletter, current PII machines still use memory which run at only 66 MHz and a half speed cache. The newly released BX chipset, which provides for 100 MHz memory operation, will provide a significant performance improvement. However in the next few months we should see the introduction of the PII with a full speed cache (slot 2) which will result in even greater benefit. Merced, the next generation of Intel CPUS, should provide a really dramatic increase in execution performance. However this chip is not due for release until at least late next year.
Better coding can be carried out on almost any program of substantial size. The approach is to look at those parts of the program which are taking the largest fraction of execution time and recode them to provide faster operation. A profiler is an essential tool for finding out exactly how much time is consumed in various sections of a program. The alternative is the tedious and generally inconsistent approach of manually inserting timing routines in the code. As reported in the July/August 1996 issue of the Computer Transition Systems Report, one user, after two days of intensive work with a profiler, was able to double the execution speed of his program (which until then he thought was highly optimized). A profiler is included with LF90. Users of other compilers can use CVRANAL, one of many translation and source code improvement tools in plusFORT from Polyhedron (http://www.polyhedron.co.uk). Those that develop or maintain large Fortran programs should seriously consider purchasing plusFORT. Another profiler tool with extensive source code browsing capability is FORGExplorer produced by Applied Parallel Research (see below).
The third way to obtain faster execution speed is by parallel processing ie by making use of more than one cpu. For many years there have been developments in this area for mainframe hardware. In the world of PCs using Intel processors NT is the only operating system (other than PC UNIX - for which there does not appear to be any appropriate software) capable of using more than one CPU. Windows 95 (and 98) cannot be used to make simultaneous use of more than one cpu. At the moment the best multiple cpu machines with Intel processors use the Pentium Pro. Configurations with 4 cpus are practical. Until Slot 2 arrives PII based PCs can use only 2 cpus.
There are essentially three ways to implement parallel processing - write dedicated code from the ground up, make use of software (an autoparallelizer) to automatically translate serial code into parallel code, or to make use of subroutines which are written for parallel execution. With dedicated parallel code it is possible to produce programs which take maximum advantage of parallel hardware. However writing programs to directly make use of multiple processors is a difficult and error prone process. In addition such code is generally not portable. These problems can be circumvented by using either of the alternatives (an auto-parallelizer or a subroutine library). The disadvantage of autoparrallelizers is that while they are easy to use the code they produce is almost always significantly slower than dedicated code. They also will only be effective in parrallelizing code which is already highly amenable to parallelization. Most autoparallelizers have some provision for customization. In this way they provide the best optimization they can for a particular source code. Although subroutine libraries are generally very efficient parallelizers of specific operations their disadvantage is that they can be used only for those parts of a program for which a parallel subroutine is available.
There are three autoparallelizers for Fortran90 under NT. They are spf produced by Applied Parallel Research (http://s006.infomall.org/apr_spf_NT.html), Visual KAP produced by Kuck and Associates (http:ww.kai.com), and VAST/Parallel produced by Pacific Sierra Research (http://www.psrv.com/vast. There are two parallel subroutine libraries for Fortran 90 under Windows NT. They are LAIPE from Parallel Integrated Research (http://www.equation.com) and Performance Plus from Dakota Software (http://www.scisoft.com. A brief outline of each follows. Further details can be obtained from the developer's web sites.
Spf is available for Absoft, DEC Visual Fortran and soon for LF90. It comes in two versions - a basic one and one for OPEN MP (which allows greater flexibility on what is parallelized). The basic price of spf for two processor systems is A$320. Applied Parallel Research [APR] also produce two tools which can be used in conjunction with spf. The first is FORGExplorer (A$978), a powerful browser with which one can profile a program to any level of detail, trace variables references throughout a program, view subprogram nesting, view common block details, and reformat source code to tidy it and optionally convert IF()GOTO statements to block IFs. The second APR tool is CacheVU (A$1178 with FORGExplorer). It can be used to obtain a detailed view of how DO loops, for instance, are handled by the cpu cache. In one Pentium example inserting a pad of 8 words between arrays caused a 30% decrease in execution time. Applied Parallel Research software is available for major UNIX workstations as well as Windows NT. Several additional performance tools including a very powerful Fortran 77 to Fortran 90 translator are available for UNIX workstations. Please call us for details or look at the APR web site. APR software is considerably less expensive in the U.S.
VAST/Parallel ($795 for 2 processors, $1550 for up to 4 processors) is available for DEC Visual Fortran, Microsoft Visual C/C++, and is planned for Lahey Fortran 90. It is also produced for various UNIX workstations (call for prices). An extensive set of switches and directives facilitate analysis of the original source code to optimize the performance benefit achieved by the auto parallelization. A very useful associated tool is DEEP. DEEP is a development environment for Parallel programming. The NT version of DEEP is in beta. It provides a call tree for the entire program, extensive performance statistics, information on how evenly the load is shared between the processors, what the inter processor communication load is for each processor, and parallel code debugging capabilities.
Visual KAP is available for DEC Visual Fortran (US$295) and various UNIX Workstations. An inexpensive serial version (US$95) can be used in Windows 95 as well as NT. The OPEN MP version (US$495 for dual processor machines) allows greater user control. In many SPEC benchmark programs a doubling of execution speed was achieved with just the serial version of Visual KAP. Four processor systems performed only slightly better than two processor NT systems.
Performance Plusis no longer available as of July 1998. It was a library of optimized and parallelized subroutines produced by Dakota Software and is available for most Fortran 90 compilers on PCs using Windows NT ($750 or $340 if purchased at the same time as a compiler). It contains over 1500 routines and includes all of the routines in LAPACK, LINPACK, BLAS (levels 1, 2, and 3), FFTPACK, and VFFTPACK. Some improvement in execution speed can also be obtained on single processor machines running under Windows 95. The Performance Plus library contains highly optimized versions of several Fortran 90 routines - ALL, ANY, COUNT, MATMUL, MAXVAL, MINVAL, SUM, PRODUCT, DOT_PRODUCT and TRANSPOSE. For instance an explicitly coded matrix multiplication routine took 53.7 seconds using real arrays of 1024 x 1024 elements. When the complier's MATMUL routine was used the execution time was 141 seconds. It is interesting to note how inefficient some Fortran 90 intrinsics are! Depending on your compiler you may get much faster operation by avoiding Fortran 90 intrinsics. The execution time for the Performance Plus MATMUL example using two Pentium Pro 200 processors was 8.2 seconds. With 3 processors it was 5.91 seconds, and with 4 processors 4.85 seconds.
LAIPE (US$428 inclusive of shipping) by Parallel Integrated Research (PIR) is an equation solver subroutine library for most Windows NT FORTRAN 90 compilers. PIR believe more than 90% of scientific and engineering problems can be formulated into system equations for which efficient solutions are given in LAIPE. A 520 page manual detailing LIAPE and its use can be obtained from the Parallel Integrated Research web site (http://www.equation.com). Several examples on the web site illustrate near doubling of execution speed of solving various systems on dual cpu machines.

CPU CHIP PERFORMANCE - an update
SPEC FP95 is a floating point benchmark resulting from timing the execution of ten Fortran programs and so can be expected to have some relevance to those interested in Fortran performance. The original results may be found on http://open.specbench.org/osg/cpu95/results/. Earlier Versions of this table appeared in the July/August 1996 and the May/June 1997 Computer Transition Systems Report. Performance improvements in many cpu chips have been occurred and the Pentium II CPU has been added to the list.

CPU MHZ SPEC FP95 CPU MHZ SPEC FP95
Intel Pentium Pro 200 6.8 SUN UltraSPARC 200 11.4
Intel Pentium II 333 9.3 SUN SPARC 64 161 15.3
IMB PowerPC 604e 332 12.6 SUN UltraSPARC II 336 20.4
IBM RS6000 P2SC 135 17.6 SGI MIPS R5000 196 8.8
HP PA 8000 180 17.4 SGI MIPS R10000 250 24.5
HP PA 8200 236 25.4 DEC ALPHA 21164 600 28.6*

The Alpha produced the best results but used by far the fastest clock rate (and was enhanced by the KAP library). Interestingly the best results from HP, SUN and MIPS processors were all about the same and the clock rates for all three were similar (although SUN was a little higher). In the PC area, at least at the time the figures were compiled, the PowerPC 604e definitely outclassed the best Intel chip available. When slot 2 PII machines (which will have much faster cache and main memory clock rates) become available this situation could change. It is not unreasonable to expect that the slot 2 PII could have double the performance shown above. A comprehensive "roadmap" for Intel cpu development can be found at http://home1.swipnet.se/~w-10554/tech.html. More general news on developments by Intel and its competitors can be found at http://www.x86.org/. Click on "X86 Headline News".

C TRANSLATOR PRICE DROP
Cobalt Blue has cut the price of the unmetered MSDOS version of their Fortran 77 to C translator, FOR_C. It is now $2350.


Return to Computer Transition System's home page.

Updated 8 August 1998