THE COMPUTER TRANSITION SYSTEMS REPORT
MAY 1998
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.
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* |
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