At a glance - What's new for V10.1
XL C/C++ for Linux, V10.1 offers the following new enhancements over its V9.0 predecessor:
Supports the OpenMP API V3.0 specification
Supports Red Hat Enterprise Linux 5.2 (RHEL 5.2), SUSE Linux Enterprise Server 10 Service Pack 2 (SLES 10 SP2) and SUSE Linux Enterprise Server 11 (with the March 2009 Updates).
For instructions on installing XL Fortran for Linux, V12.1 on SLES 11 see Installation steps for SLES 11Introduces partial support for the draft of the next C++ programming language standard, commonly referred to as C++0x
-qreport now contains information about how many streams are created for each loop
New –qstrict suboptions that allow more fine-grained control over the –qstrict option
Vector data types can now use some of the operators that can be used with base data types such as: unary, binary and relational operators
For more information, see "IBM XL C/C++ for Linux, V10.1 Information Center".
Optimization and performance
XL C/C++ offers a number of new optimization and performance-tuning features that exploit all IBM Power Systems, including the latest POWER6 hardware architectures. The -qarch and -qtune compiler options include suboptions to provide code tuning for the POWER6 processors. In addition, built-in functions add functionality and exploit the capabilities of POWER6 processors.
Mathematical Acceleration Subsystem (MASS)
XL C/C++ for Linux includes the Mathematical Acceleration Subsystem (MASS). MASS consists of libraries of tuned mathematical intrinsic functions that offer improved performance over the standard mathematical library routines, are thread-safe and support both 32-bit and 64-bit compilations in C, C++, and Fortran applications.
Basic Linear Algebra Subprograms (BLAS)
XL C/C++ for Linux also includes the Basic Linear Algebra Subprograms (BLAS) set of high-performance algebraic functions. You can use these functions to perform combined matrix multiplication and addition on general matrices or their transposes.
OpenMP API V3.0
The OpenMP Application Programming Interface (API) is a portable, scalable programming model that provides a standard interface for developing multiplatform, shared-memory parallel applications in C, C++, and Fortran. The specification is defined by the OpenMP organization, a group of major computer hardware and software vendors, which includes IBM. XL C/C++ for Linux supports the latest OpenMP API V3.0 specification.
C++0x
C++0x is the working draft of the next C++ programming language standard. XL C/C++ for Linux, V10.1 supports the following C++0x features in this release:
A new language level for C++0x
New integer promotion rules for arithmetic conversions involving long long data types
Support of C99 preprocessor features in C++ for easier porting of code between C and C++
