Try out the LLVM-based beta compilers to shape next XL offerings

The C++14 language standard is fully supported since the June 2020 PTF

Why use the XL C/C++ compiler?

Boosting performance by parallelizing code with OpenMP

Read the documentation

You can use OpenMP directives right in your C/C++ 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.

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).

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.

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.

Vector programming

Read the documentation

Provides language extensions to support vector multimedia extension (VMX) and vector scalar extension (VSX) programming.

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, RHEL 7.7 (supported since, and RHEL 8.1 (supported since
  • CentOS 7

Hardware requirements

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

  • Approximately 200 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