IBM XL C/C++ for Linux

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.

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