Input / Output (I/O) performance can be a significant factor in overall program performance. The way you write I/O statements can make a big difference. Consider the following example: subroutine sub(x, n) real x(n) do i = 1, n, 2 write (unit=11) x(i) enddo end subroutine The I/O in sub might not be as fast as you'd like. This is due to the accumulation of the overhead for each write statement. The write statement above has to do some preparation work before it can actually write anything. It also has to do some cleanup work after it... [More]
New and enhanced features in XL Fortran Version 14.1 include support of language
features that you can use to port code easily when moving to IBM Power Systems,
as well as improved compilation time at commonly used optimization levels. This
article for those who have some experience with previous versions of XL Fortran
gives the details and describes other highlights. Read more .
Check out new exercises in the Power sandbox. You can find them below. You can learn about compiling with a list of options defined in a file, debugging optimized code, new OpenMP3.1 constructs, performance benefits of using F2008 CONTIGUOUS attribute and the F2008 BLOCK construct. Optimize server performance and programmer productivity with IBM
compilers Compile with a list of options defined in a file Debugging optimized XL Fortran code New and enhanced atomic constructs in OpenMP 3.1 The final clause in OpenMP 3.1 with the... [More]
When the compiler knows that an array occupies a contiguous block of memory, it can perform optimizations based on memory layout. Explicit shape arrays, assumed-size arrays and allocatable arrays occupy contiguous blocks of memory. For array pointers and assumed shape arrays, the compiler cannot determine at compile time if it is the case. In the latest AIX XL Fortran compiler, -qassert=contiguous was introduced to allow the programmer to indicate to the compiler that: * all array pointers are pointer associated with contiguous targets. *... [More]
Check-out this tutorial to learn how to use the interoperability features of the IBM XL Fortran and the IBM XL C/C++ compiler to integrate Fortran, C and Java source code into an application. The demonstration shows how to call Java source routines from Fortran and vice versa. Interoperability is useful for integrating parts written in different languages into an application. This enables developers to take advantage of language best situated for the job or easily integrate legacy assets into a new application. Interoperability of IBM XL... [More]
Fortran Compilers are
now live on the Request for Enhancement (RFE) Community. It is a great
place where you can collaborate with development teams and other product users.
Our development team will review your RFE and provide status updates throughout
its lifecycle. Here is the link to the Community: Fortran RFE Looking forward to
hearing from you.
Looking to see and learn about the latest compiler enhancements in XL Fortran on AIX and Linux. Download a trial. Here is quick recap of some of the highlights of these new compilers: Compliance to ISO programming language standards including the Fortran 2003
standard and partial support for the Fortran 2008 standard Support for the OpenMP 3.1 industry specification Compile-time performance and scalability improvements Enhancements to the diagnostic reports that can help you identify
opportunities to improve the performance of your... [More]
The June 2012 PTF for XL Fortran for AIX, V13.1 is now available at the following links and on Fix Central : June 2012 Update for XL Fortran for Linux, V13.1 June 2012 Update for XL Fortran Runtime for Linux, V13.1 Can't find the updates for your compilers? Check out our Fortran compilers latest updates page here .
If you are using the Parallel Environment's (PE) mpi module with an older version of the XL Fortran compiler , you might hit this error message: 1514-220 (S) Module symbol file for module mpi is in a format not recognized by this compiler. Please compile the module with this
compiler. The mpi module was generated using XL Fortran 12.1, so it's incompatible with earlier versions of XL Fortran. We recently published a technote about this. Consider upgrading to take advantage of the extra type-checking offered by this module. If you're... [More]
In the past, the intrinsic procedures REAL(z) and AIMAG(z) (where z is of type complex) were used to get the real part and imaginary part of z. For example, COMPLEX :: z = (3.2, 2.1) REAL(z) has the value 3.2. AIMAG(z) has the value 2.1. In Fortran 2008, you can use the complex part designators with the %RE and %IM selectors instead; that is, z % RE has the value 3.2. z % IM has the value 2.1. You might benefit from the direct access to the real or imaginary part of complex entities by using the complex part designators as variables in... [More]
The July 2012 PTF for XL Fortran for AIX, V13.1 (VRMF: 188.8.131.52) is now available at the following links and on Fix Central . July 2012 PTF for XL Fortran for AIX, V13.1 July 2012 PTF for XL Fortran Runtime for AIX, V13.1 Can't find the updates for your compilers? Check out our Fortran compilers latest updates page here .
you know that the compiler you use can impact whether or not you
achieve optimal performance from all parts of your systems.
Organizations often overlook the importance of compilers, often running
new high-powered servers with outdated compilers that limit the servers’
potential. Or failing to update compilers that can improve the
efficiency of existing hardware investments as more advanced versions
are released. In practical terms,this translates into greater power
consumption, slower response times,numerous administrative... [More]
Check out updated exercises in the Power sandbox. You can find them below. You can learn about tracking compiler use, performance,
auto-vectorization, optimization, interoperability, and reporting Optimize server performance and programmer productivity with IBM
compilers Learn about tracking IBM XL C/C++ and Fortran compiler utilization Enhanced performance with new XL C/C++ and Fortran compilers Explore auto-vectorization Discover uninitialized floating point and integer variables Interoperability of IBM XL Fortran, IBM XL... [More]
XL Fortran V14.1 supports the Fortran 2008 enhancements to the ALLOCATE statement. The first enhancement has to do with the SOURCE= specifier. In Fortran 2003, you are not allowed to omit the bounds information when allocating an array in the ALLOCATE statement. In Fortran 2008, when you use an ALLOCATE statement without specifying the bounds for an array, the bounds of source_expr in the SOURCE= specifier determine the bounds of the array. The second enhancement is the addition of the MOLD= specifier. The MOLD= specifier works... [More]
The February 2012 PTF for XL Fortran for AIX, V12.1 is now available at the following links and on Fix Central . February 2012 PTF for XL Fortran for AIX, V12.1 February 2012 PTF for XL Fortran for AIX, V12.1 Runtime Can't find the updates for your compilers? Check out our Fortran compilers latest updates page here .