Why use the XL C/C++ compiler?

Boosts performance by parallelizing code with OpenMP

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

5 levels of industry leading optimizations

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

Optimization reports for deeper insights

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

Vector programming

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

Fullest exploitation of POWER9

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 IBM POWER hardware team during the design of the hardware to ensure that hardware is designed in such a way that enables the IBM compiler to make your applications run fast.

High performance libraries

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.

Debug capability at optimization

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.

Customer case study

Exceptional performance on IBM Power Systems - Journey of an HPC Researcher

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, or RHEL 8.0 (where RHEL 8.0 is supported since V16.1.1.3)
  • 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

You may also be interested in

Other products in the IBM Compiler Family

IBM XL C/C++ for AIX

A high-performance compiler for developing complex C/C++ programs.

Learn more

IBM XL Fortran for AIX

A high-performance compiler for developing complex Fortran programs.

Learn more

IBM XL Fortran for Linux

A high-performance compiler for developing complex Fortran programs.

Learn more


A high-performance compiler for developing complex C programs.

Learn more