Features
LF64 Performance
Polyhedron Software (www.polyhedron.com) ran their suite of Fortran benchmarks on a Pentium D820 dual core 2.8 GHz processor, with 2 x 1MB L2 cache and 800 MHz FSB, and running SUSE 9.3 Linux. Specifying the switch --fast, the benchmarks ran an average of 21.8% faster than they did when built with LF95 Linux v6.2. Try LF64 v8.1 on your code today!
LF64 Optimisations
Basic Optimisation
- Constant folding
- Common subexpression elimination
- Copy propagation
- Strength Reduction
- Algebraic simplifications
- Dead code elimination
- Peephole optimization
- Loop invariant code motion
- Transform array element to simple variable
- Local Instruction scheduling
- Address calculation optimization
Program Reconstruction Optimisations
- Loop unrolling
- Loop interchange
Procedure Optimisation
- Inlining mathematical functions
- Stack optimisation
Others
- SSE2 and SSE3 instructions
- Prefetch instructions
- Using fast input/output libraries
Link GNU C and assembly object files
LF64 supports static linking with GNU C or assembly. Combine your Fortran and C/C++ code into one executable. For the routines you don't want to develop yourself, you can also link with C/C++ routines from commercially available libraries.
Legacy Fortran Support
LF64 extends its language support in other directions adding many legacy Fortran features, including VAX structures and the various UNIX service routines.
ANSI/ISO-Compliant Fortran 95
LF64 is a complete implementation of the ANSI/ISO Fortran 95 standard. Fortran 95 offers some small but important improvements over Fortran 90, including the ability to create your own elemental procedures, default initialization for structure components, the NULL intrinsic for initializing pointers, the FORALL construct, and a standard CPU_TIME intrinsic procedure.
Free Technical Support
LF64 Linux Express includes e-mail technical support at no extra charge.
Automatic parallelisation
The LF64 compiler automatically parallelises DO loops and array operations without you having to make modifications to the program.
OpenMP v2.0 compatibility
LF64 PRO supports the OpenMP v2.0 specification for Fortran. Like automatic parallelisation, OpenMP directives are used to parallelise a program that runs on a computer with more than one processor. With OpenMP you have more control over how code is parallelised, but also more coding to do.
Winteracter Starter Kit
Use the Winteracter Starter Kit - WiSK - for creating true X/Windows programs with Fortran.
BLAS and LAPACK
BLAS is a library for vector and matrix operations. The BLAS thread-safe version is based on BLAS provided on Netlib. BLAS includes 57 functions. The total number of routines for all precision types amounts to approximately 170. LAPACK is a library of linear algebra routines. The LAPACK thread-safe version is based on LAPACK 3.0 provided on Netlib. LAPACK includes approximately 300 functions. The total number of routines for all precision types amounts to approximately 1100.
Fujitsu Scientific Subroutine Library 2
The Fujitsu Scientific Subroutine Library 2 (SSL2) has been in use for years in Japan on Fujitsu mainframe and workstation hardware. SSL2 offers over 250 optimised thread-safe routines
Editions
LF64 Express
Includes the powerful Lahey/Fujitsu Fortran 95 optimising compiler, command line debugger, online documentation and free e-mail support.
LF64 Pro
Adds auto-parallelisation, OpenMP compatibility, the Winteracter Starter Kit, WiSK, for creating Windows GUIs and displaying graphics, thread-safe BLAS and LAPACK, Polyhedron's Automake utility, and the Fujitsu SSL2 math library (thread-safe for parallel applications).