Many technical advances continue in the realm of classic compiler choices for Linux and for POWER systems.
In the open-source community, the gcc.gnu.org community continues to drive technology improvements into the gcc, g++, and gfortran compilers. GCC 4.8 has recently been announced and is available for use across many industry platforms.
With IBM's assistance on POWER systems, the latest GCC compilers can provide outstanding performance on the latest POWER systems, including POWER7, POWER7+, and even early enabling of the emerging POWER8 systems. IBM regularly provides the Advance Toolchain which delivers the latest GCC technology and POWER-optimized libraries
On the IBM side, the IBM XL compilers continue to deliver optimized compilation technologies across the POWER system operating systems. The IBM XL C/C++ and IBM XL Fortran compilers are the same compilers on IBM AIX, Red Hat's RHEL, and SUSE's SLES operating systems.
Across many systems in the industry, two SPEC.org benchmarks are often used to measure the performance of compiler and system technologies available on a system. SPECint® and SPECfp® are two benchmark suites which measure integer and floating point performance of compiled workloads. IBM often publishes the results of the rate runs of the workloads for their IBM POWER systems.
For example, IBM recently announced the IBM PowerLinux 7R4 server. This system highlights the latest POWER7+ processor technology, packaged in a rack form factor with up to 32 cores. On the performance tab for that server, the published benchmark results are available.
These results were achieved with IBM's XL compilers. In addition to these results, comparison results were also published using the Advance Toolchain 6.0 release with GCC and the POWER optimized libraries for POWER7. (Since this result was published, a new Advance Toolchain Version 7 has been released).
For more details on the IBM PowerLinux 7R4 published results, see the following links:
- SPECfp_rate2006 with IBM XL C/C++ and IBM XL Fortran
- SPECfp_rate2006 with Advance Toolchain 6.0 gcc and gfortran
It's interesting to compare the performance components of the Advance Toolchain GCC with tuned libraries and the IBM XL compiled executables. By better understanding these technologies and the results possible, users can assess the possibilities of each.
Things to pay attention to...
- SPECcpu "base" runs are done with a common set of compile/build time options.
- SPECcpu runs then allow for individual component tunings to best optimize that component (each separate benchmark) the best on the system with the compiler
- All of the compile/build options and parameters are documented in the SPECcpu reports which are linked above
- The percentage differences here are calculated simply by (IBM XL result - AT GCC result) divided by the IBM XL result.
In general, your choice of compilers is driven by many considerations.
- The IBM XL compilers benefit from years of POWER investments and tunings, so there are often many additional tuning opportunities available with the latest IBM XL technologies.
- Alternatively, the latest GCC and the IBM provided optimized libraries provided with the Advance Toolchain can provide outstanding performance.
- The GCC and Toolchain libraries used with the Advance Toolchain are more up-to-date than what is typically included in the Linux distribution - which needs to"freeze" the GCC level when they build the whole operating system. Read more about the Advance Toolchain for details.
As always, your performance mileage will vary. Try the options. See what works best for you.