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

IBM® XL C/C++ for AIX® is a compiler that facilitates the creation and maintenance of applications written in C/C++ for IBM Power Systems™. It generates code that leverages the capabilities of POWER8® and the latest POWER9™ architectures and maximizes your hardware utilization. V16.1 provides new C and C++ compilers adopting the open-source Clang technology. The new compilers provide enhanced C & C++ language standards support including C11, C++11, and C++14 as well as GCC compatibility. The existing C and C++ compilers continue to be available for use. Announcement: IBM C/C++ and Fortran compilers to adopt LLVM open-source infrastructure.

Learn more

IBM XL Fortran for AIX

IBM® XL Fortran for AIX® is a compiler that facilitates the creation and maintenance of applications written in Fortran for IBM Power Systems™. It generates code that leverages the capabilities of POWER8® and the latest POWER9™ architectures and maximizes your hardware utilization. IBM XL Fortran for AIX optimizes your infrastructure on IBM Power Systems, supporting extensive numerical, scientific and high-performance computing. Announcement: IBM C/C++ and Fortran compilers to adopt LLVM open-source infrastructure.

Learn more

IBM XL Fortran for Linux

IBM® XL Fortran for Linux is an industry standards-based programming tool used to develop large and complex applications in the Fortran programming language. It generates code that leverages the capabilities of the latest POWER9 architecture and maximizes your hardware utilization. IBM XL Fortran for Linux optimizes your infrastructure on IBM Power Systems™ in support of extensive numerical, scientific and high-performance computing. Announcement: IBM C/C++ and Fortran compilers to adopt LLVM open-source infrastructure.

Learn more

IBM XL C for AIX

IBM® XL C for AIX® is a compiler that facilitates the creation & maintenance of C applications for IBM Power Systems™. It generates code that leverages the capabilities of the POWER8® architecture and maximizes your hardware utilization. Interested in support for POWER9 & full C11 standard? You need the latest XL C/C++ for AIX! The same C compiler available in XL C for AIX is included by XL C/C++ for AIX. Trade-up part numbers or feature codes are offered to trade up from your existing XL C for AIX to the new XL C/C++ for AIX. See: ibm.biz/xlc-aix-161 Announcement: IBM C/C++ and Fortran compilers to adopt LLVM open-source infrastructure.

Learn more