Fortran Compiler Technology

Pro Fortran Compiler

The Pro Fortran compiler is a highly optimizing and highly extended Fortran 95 compiler. It includes full FORTRAN 77 support and  F2003 and F2008 features. All popular workstation extensions, such as Cray Pointers and VAX variable directed output formatting, are implemented.  It features advanced parallel and vector optimizers and AVX/SSE support to ensure maximum application performance.

Symmetric Multi-processing (SMP)

Multi-threading, a high-performance parallel optimizer, data perfecting, profile guided optimization, IPO, and advanced optimizations can be performed automatically. Combined with the included math libraries, the compiler provides the best solution for creating maximum application performance on single and multi-core systems. The compiler also supports the OpenMP 3.1 directives and run-time environment.

Performance Graph
Auto-Vectorization and Auto-Parallelization Dramatically Reduce Execution Time

Auto-Vectorization on x86 & x64 Processors

The Pro Fortran compiler includes auto-vectorization capabilities. It utilizes SIMD instructions to restructure code for executing multiple operations simultaneously. This action is performed automatically and requires no action by the programmer. Auto-vectorization is especially effective on loops and in some cases can result in significant speed increases.

Parallel Programming with OpenMP 3.1 Support

OpenMP is an industry standard directive based approach to high-level parallel programming.  The Pro Fortran 21.0 compiler implements OpenMP 3.1 on Windows, OS X, and Linux platforms.

Advanced Compiler Technology

Pro Fortran uses advanced compiler technology to implement a large number of optimization techniques. These can be enabled individually or in combination to produce the best performance while maintaining accuracy in numerically sensitive algorithms.

  • Loop Nest Optimization – loop fusion, pre-fetching, vectorization, and more
  • Global Scalar Optimization – alias analysis, copy propagation, and more
  • Local Procedure Optimization – loop unrolling, IF-conversion, and more
  • Inter-Procedural Analysis – function in-lining, inter-procedural propagation, and more
  • Code Generation Optimization – peephole optimization, instruction scheduling, and more

Supported Extensions and Features

In addition to complete Fortran 95 support, the Pro Fortran compiler implements a number of extensions from workstation Fortran compilers and the F2003 and F2008 standards.

  • VAX Fortran Extensions
  • F2003 and F2008 Features
  • Workstation Extensions
  • Cray Pointers
  • UNIX Fortran Compatibility Library