Advanced optimizing compiler for IBM Power Systems running Linux distributions
At no charge, 60-day evaluation or Community Edition
IBM® XL C/C++ for Linux is an industry standards-based programming tool used to develop large and complex applications in the C and C++ programming languages. Optimized for IBM Power Systems™, including the latest POWER8® processors, XL C/C++ for Linux supports vector and parallel programming. This compiler complies with the ISO C99 and ISO C++03 standards.
XL C/C++ for Linux on little endian Linux distributions is C11 and C++11 compliant and supports a subset of the C++14 standard, supporting code portability between multiple operating systems and hardware platforms. XL C/C++ for Linux combines the Clang front-end infrastructure with IBM advanced optimization technology and code generation. It provides GCC compatibility and language standards support for easy migration.
XL C/C++ for Linux provides the following features and benefits:
- Delivers a single XL C/C++ offering for both big endian and little endian Linux distributions.
- (Little endian) Offers an unlimited license, entry-level, no-charge Community Edition for developer and partner use. Download the Community Edition.
- Optimizes application performance executing on IBM Power Systems.
- Provides highly-tuned math libraries including the Mathematical Acceleration Subsystem and Basic Linear Algebra Subprograms libraries.
- Enables ease of application migration to Power Systems with standards compliance and extensions.
Delivers a single XL C/C++ offering for both big endian and little endian Linux distributions
- XL C/C++ for Linux comes in single packages that contain compilers to run on either little endian or big endian modes for selected Linux distributions.
- XL C/C++ for Linux for little endian distributions supports these platforms: Ubuntu Server 14.04, 14.10, and 16.04, SLES 12, SLES 12 SP1, RHEL 7.1, RHEL 7.2, RHEL 7.3, and CentOS 7. It leverages the Clang infrastructure from the open source community for a portion of its compiler frontend.
- XL C/C++ for Linux for big endian distributions supports these platforms: RHEL 6, RHEL 7, and SLES 11.
(Little endian) Offers an unlimited license, entry-level, no-charge Community Edition
- Provides a no-charge, entry-level C/C++ compiler for the developers and partners who have lightweight production requirements.
- Embodies all of the core features of the fully warranted XL C/C++ compiler.
- XL C/C++ for Linux Community Edition is not warranted and does not provide subscription, service or support. Consider licensing the full XL C/C++ for Linux compiler to obtain full warranty, full functionality and world-class IBM support.
Optimizes application performance
- Generates code that leverages the capabilities of the latest POWER8® architecture.
- Offers automatic parallelization of sequential programs to exploit modern multi-core processors.
- Collects information about a program run with typical input data, and then applies transformations to the program based on that information using profile-directed feedback (PDF), ensuring application performance is optimized.
Provides highly-tuned math libraries
- The math libraries are highly-tuned for the POWER architectures and offer both scalar and vector versions.
- Mathematical Acceleration Subsystem (MASS) consists of libraries of mathematical intrinsic functions tuned specifically for optimum performance on Power® Architecture.
- Basic Linear Algebra Subprograms (BLAS) provides high-performance, algebraic functions used to perform combined matrix multiplication and addition on general matrices or their transposes, as well as to compute the matrix-vector product for a general matrix or its transpose.
Enables ease of application migration to Power Systems
- Provides full support for OpenMP 3.1 and partial support for the OpenMP 4.5 specification.
- (Little endian only) Offers compliance with GCC extensions and conforms to the following programming language specifications: C89, C99, C++98, C++03, C11 and C++11.
- Provides language extensions to support vector multimedia extension (VMX) and vector scalar extension (VSX) programming.
XL C/C++ for Linux resources