Announcement: IBM C/C++ and Fortran compilers to adopt LLVM open-source infrastructure

Why use the XL Fortran compiler?

Boosting performance by parallelizing code with OpenMP

Read the documentation

Uses OpenMP directives right in your Fortran program to parallelize your CPU-intensive application. Go even further by offloading compute-intensive parts of an application and associated data to the NVIDIA GPUs by using the OpenMP device constructs. The OpenMP 4.5 programming model is fully supported to accelerate your applications.

Boosting performance by parallelizing code with CUDA Fortran

Read the documentation

Provides programmers with a set of instructions that enables GPU acceleration for data-parallel computations. You can increase computing performance of many applications by using CUDA directly in your Fortran program or by linking to GPU-accelerated libraries.

Fullest exploitation of POWER9

Read the documentation

Provides the architecture and tune options and built-in functions to fully exploit POWER9™ to get the best performance and ROI. The IBM compiler team works closely with the IBM® POWER® hardware team to ensure the design of the hardware enables the IBM compilers to improve application performance.

Five levels of industry leading optimizations

Read the documentation

Tailors the optimization process for your applications with 5 distinct optimization levels; tunes the performance of your application for a typical usage scenario with profile-directed feedback (PDF); optimizes across different files (whole-program analysis) to result in significant performance improvements with interprocedural analysis (IPA); performs high-order loop analysis and transformations (HOT); and enables automatic parallelization of program code (SMP).

Language standard compliance

Read the documentation

Supports FORTRAN 77, Fortran 90, Fortran 95, Fortran 2003, and a subset of the Fortran 2008 standard; supports a subset of Technical Specification 29113 for further interoperability of Fortran with C; helps to protect investments in existing Fortran source and object code that is built with previous versions of the compilers; supports compatibility of object code or libraries that are compiled with previous versions of XL Fortran with the newest XL Fortran compiler and runtime environment.

High-performance libraries

Read the documentation

Includes the Mathematical Acceleration Subsystem (MASS) and Basic Linear Algebra Subprograms (BLAS) libraries for high-performance mathematical computing. These libraries are tuned for POWER architectures and provide improved performance over the corresponding standard system math library functions.

Optimization reports for deeper insights

Read the documentation

Provides important information to help you develop and debug your applications more efficiently with the compiler listings, XML reports, and HTML reports.

Vector intrinsic procedures

Read the documentation

Individual elements of vectors can be accessed by using storage association, the TRANSFER intrinsic, or the Vector Multimedia Extension (VMX) and the Vector Scalar Extension (VSX) intrinsic functions. These intrinsics allow you to manipulate vectors.

Debug capability at optimization

Read the documentation

Optimization can change the sequence of operations, add or remove code, change variable data locations, and perform other transformations that make it difficult to associate the generated code with the original source statements. Despite this, XL provides excellent debuggability of optimized programs to include information about inline functions, line numbers, and variables while debugging. Choose different debug levels from -g2 to -g9 based on your preference for performance or debuggability.

How customers use it

Pázmány Péter Catholic University (PPCU)

Watch this reference case of Prof. István Reguly, lecturer at PPCU, Hungary, previously a Research Associate at the Oxford e-Research Centre, University of Oxford. He is experienced with HPC benchmarks running on POWER8® with XL compilers.

Watch the case study (02:45)

Technical details

Software requirements

  • Ubuntu Server 16.04 or 18.04
  • SLES 12, SLES 12 SP3, or SLES 15
  • RHEL 7.4, RHEL 7.5, RHEL 7.6 (supported since 16.1.1.3), RHEL 7.7 (supported since 16.1.1.7), and RHEL 8.1 (supported since 16.1.1.6)
  • CentOS 7

Hardware requirements

You can use any IBM Power® Systems server as long as it is supported by your operating system distribution.

  • Approximately 350 MB for product packages
  • Minimum of 2 GB hard drive space for paging
  • Minimum of 512 MB for temporary files
  • 2 GB RAM minimum; 4 GB or more RAM recommended