Advanced compilation and optimization technologies for AIX and Power Systems
IBM® XL C for AIX® is a compiler that facilitates the creation and maintenance of applications written in C for IBM Power Systems™. XL C for AIX supports vector and parallel programming for multiprocessor systems, while maintaining full binary compatibility with existing single processor systems. This compiler complies with the C99 and a subset of C11 programming language standards, providing support for code portability between multiple operating systems and hardware platforms.
IBM® XL C for AIX® provides the following benefits and features:
- Optimizes application performance executing on Power Systems.
- Provides highly-tuned libraries, including Mathematical Acceleration Subsystem, Basic Linear Algebra Subprograms, and shared memory parallelization.
- Conforms to the latest ISO C99 standard and supports a subset of ISO C 2011 standard enabling ease of application migration to Power Systems.
Optimizes application performance
- Generates code that leverages the capabilities of the latest POWER8™ architecture.
- Offers automatic parallelization of sequential programs to leverage 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) optimization, ensuring the performance of the application is optimized.
Provides highly-tuned libraries
- 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.
- Shared memory parallelization (SMP) runtime library supports both explicit and automated parallel processing.
Conforms to the latest ISO C99 standard
- Fully conforms to C99 and supports a subset of C11 programming language standards.
- Provides a complete implementation of OpenMP 3.1 and partial support for OpenMP 4.0 to automate parallel programming.
- Implements language extensions to support vector multimedia extension (VMX) and vector scalar extension (VSX) programming.