IBM's new XL Fortran for Multicore Acceleration for Linux on System p, V11.1 product that supports the Cell Broadband Engine architecture, includes all of the features described on the Features and benefits page for XL Fortran, plus the following:
Cross-compilation
IBM XL Fortran for Multicore Acceleration for Linux on System p, V11.1 is a cross-compiler for generating 32-bit and 64-bit code that runs on Cell Broadband engine architecture. Code is first compiled on an IBM System p host running Red Hat Enterprise Linux 5.1 (RHEL 5.1). The executable application will run on a target Cell/B.E. system also running RHEL 5.1.
Program Optimization
XL Fortran delivers several compiler options that allow you to:
Select different levels of compiler optimizations
Control optimizations for loops, floating-point, and other types of operations
XL Fortran also includes specific optimization features tailored to exploit the unique performance capabilities of the Cell Broadband Engine processors, including specialized data types and highly optimized built-in functions.
Supports a majority of Fortran 2003
XL Fortran V11.1 now supports a majority of the Fortran 2003 standard including:
Object-oriented programming support: type extension, type-bound procedures, type finalization, abstract and generic interfaces, polymorphism and PASS attribute
Scoping and data manipulation enhancements: allocatable components, VOLATILE attribute, MAX, MIN, MAXLOC, MINLOC, MAXVAL and MINVAL intrinsics for character type
Input/Output enhancements: User defined derived type I/O, asynchronous transfer including the WAIT statement
Subroutine enhancements: VALUE attribute, Procedure pointers, deferred CHARACTER length
Interoperability with the C programming language
Mathematical Acceleration Subsystem (MASS)
Mathematical Acceleration Subsystem consists of libraries of mathematical intrinsic functions tuned for optimum performance on SPUs and PPUs. These libraries offer improved performance over the standard mathematical library routines, are thread-safe, and can be used by C, C++, and Fortran applications. The PPU libraries support both 32- and 64-bit compilations. The MASS library is called automatically when specific levels of optimization are requested by the application. Explicit calls can also be made to MASS library functions regardless of whether optimization options are in effect or not.
Automatic code overlay
IBM XL Fortran for Multicore Acceleration for Linux on System p, V11.1 can automatically generate code overlays for SPUs. Developers can create SPU programs that would otherwise be too large to fit in the local memory store of the SPUs. -qipa=overlay tells the compiler to automatically generate code overlays for those SPUs that allow two or more code segments to be loaded at the same physical address.
Automatic SIMD Vectorization of program code
When compiler option -qhot=simd is in effect, certain operations that are performed in a loop on successive elements of an array are converted into a call to a vector instruction. This call calculates several results at one time, which is faster than calculating each result sequentially. Applying this suboption is useful for applications with large image processing demands.
Interprocedural Analysis (IPA)
Interprocedural Analysis can result in significant performance improvements. Interprocedural analysis can be specified on the compile step only or on both compile and link steps in "whole program" mode. "Whole program" mode expands the scope of optimization to an entire program unit, which can be an executable or shared object.