Fortran/C/C++ Compilers & Debugging Tools

XL C/C++ Compiler Advanced Edition
for IBM Linux on Power™

Product Overview

The IBM XL C/C++ Advanced Edition V7.0 for IBM Linux on Power™ is a standards-based, high performance native C/C++ compiler with extensive industry-leading optimization features based on the mature compiler technology of IBM XL C/C++ for AIX. The version designed for IBM Linux on Power™ generates highly optimized code which exploits the IBM PowerPC architecture within the Power series processors to create high performance applications. XL C/C++ is part of a family of IBM compilers that support C and C++ programming on IBM's pSeries®, iSeries®, and zSeries® platforms in addition to other third party platforms. Its advanced optimization technology and VMX support help you create high-performance 32- and 64-bit applications that run efficiently on a wide variety of IBM processor architectures, including IBM's newest POWER5 and PowerPC 970 processors. IBM XL C/C++ includes a complete implementation of OpenMP C/C++ API, Version 2.0. OpenMP APIs and related compiler options let you exploit PowerPC symmetric multiprocessing (SMP) architectures. All XL C/C++ Advanced Edition purchases from Absoft include the full XL C/C++ Advanced Edition version 7.0 for IBM Linux on Power™ plus the Absoft Fx2™ Debugging Solution and technical support at no additional charge. More...

Table of Contents

Product information
- Key Benefits
- Key Features
- Product Description
- Special Features
- What's New - in this release
- Ease of Use
- Availability Date
- System Requirements

Related information
- Debugger Options
- Cluster Options
- Compatibility & Companion Products
- Documentation
- Terms and Conditions
- Additional Information / Notices

Key Benefits

  • Floating Network Licenses available exclusively from Absoft
  • Industry-leading optimization technology
  • Multiple levels of increasing optimization to trade-off compile time with code execution speed
  • Various compiler options and pragmas to tailor for the specific needs of a compilation
  • GNU C/C++ portability support to ease migration of code from GNU C and C++
  • Support for Third-Party Run-time Libraries
  • Supported by Absoft's popular Fx2™ Debugging Solution, included
  • Quick and easy installation · start using right away
Back to top

Key Features

Based on mature compiler technology from IBM, XL C/C++ Advanced Edition V7.0 for IBM Linux on Power™ features:
  • Generation of highly optimized code which exploits the IBM Power™ architecture within the latest POWER5 and PowerPC 970 processors
  • Support for the Velocity Engine through the AltiVec programming interface
  • XL C/C++ V7.0 now fully supports the OpenMP C/C++ API, Version 2.0
  • Improved documentation and man pages that support the IBM Linux on Power™ architecture.
  • Support for Third-Party Run-time Libraries
  • Compliance with past and present C and C++ language industry standards – XL C/C++ V7.0 conforms to the revised 2003 international C++ standard ISO/IEC 14882:2003(E).
  • Binary compatibility and coexistence with gcc 3.3, including:
    • Ability to use of GNU C/C++ header files, the GNU linker, and the GNU assembler during compilation
    • Ability of compiled programs to use GNU C and C++ run-time libraries.
    • Compatibility between g++ objects and object files compiled with XL C/C++.
    • Ability to use gdb to debug programs, and gprof to profile programs.
Product Description

XL C/C++ Advanced Edition for IBM Linux on Power™ is a powerful development environment for building highly optimized C and C++ applications. The XL C/C++ compiler is the successor to IBM VisualAge C++ V7.0 for Linux. Its advanced optimization technology and VMX support help you create high-performance 32- and 64-bit applications that run efficiently on a wide variety of IBM processor architectures, including IBM's newest POWER5 and PowerPC 970 processors.

The C and the C++ compilers conform to the latest ISO/IEC International Standards. The C compiler supports the latest ISO C 1999 (International Standard ISO/IEC 9899:1999) standard, also known as C99. The C99 standard offers a number of additional language functions to promote portability of C programs.

XL C/C++ Advanced Edition V7.0 for Linux offers a number of new optimization and performance-tuning features that exploit all PowerPC systems, including the latest POWER5 and PowerPC 970 hardware architectures. The -qarch and -qtune compiler options now support optimizations specifically for the POWER5 and the PowerPC 970 processor architectures.

New built-in functions are introduced in XL C/C++ Advanced Edition V7.0 for Linux. For example, four new built-in functions are introduced for floating-point division. These software implementations of the floating-point division algorithms take advantage of the PowerPC architecture and can be significantly faster than corresponding hardware instructions when used in a vector context. The new built-ins are supported on all PowerPC systems, but on POWER5 systems the functions use the POWER5 instructions to take advantage of the POWER5 hardware.

New pragma directives are also introduced with V7.0, especially for loop unrolling optimizations. Also new are additional optimization utilities related to the profile-directed feedback (PDF) compilation process.

The -qlanglvl compiler option allows you to choose from the available language levels that you can use to compile your code within XL C/C++ Advanced Edition for Mac OS X. Your code can conform to the latest C99 Standard, use language extensions to C99, or conform to the previous C89 Standard. XL C/C++ Advanced Edition offers you the flexibility to compile your code to the language level that you require.

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++ Advanced Edition V7.0 for Linux is compliant with OpenMP V2.0.

Developers using XL C/C++ Advanced Edition V7.0 for Linux with the SLES 9 operating system on IBM BladeCenter JS20 servers can take advantage of VMX instructions with automatic SIMD vectorization to improve program performance in multimedia-rich applications.

Back to top

What's New

XL C/C++ Advanced Edition for IBM Linux on Power™ is a new platform availability for the IBM Family of C/C++ Compilers.
Now includes the Fx2™ Debugging Solution™
XL C/C++ Advanced Edition for IBM Linux on Power™ is included in the High Performance Computing Software Developers' Kit (HPC SDK).

Back to top

Special Features

Compiler Optimizations
Binary Compatibility
Ease of Porting
Additional Features

GNU Debugger
Documentation and Help
Multi-processing

Compiler Optimizations

XL C/C++ Advanced Edition version 7.0 for IBM Linux on Power™ includes the benefits of IBM compiler optimization technology. Through compiler options, directives, and pragmas, programmers are offered a number of ways to optimize their code. Using the -O2, -O3, -O4, and -O5 options, you can obtain optimization levels that run from comprehensive low-level optimizations to more extensive optimizations that include interprocedural analysis, loop optimization, and automatic machine tuning. Other options for optimization include:

  • -qarch, -qtune, and -qcache that allow you to optimize your application to a number of architectures.
  • -qhot that allows for high-order transformations, which are optimizations that specifically improve performance of loops through techniques such as interchange, fusion, and unrolling.
  • -qipa that invokes interprocedural analysis (IPA) that enables the compiler to optimize across different files (whole-program analysis), and can result in significant performance improvements.
  • -qpdf (profile-directed feedback) that uses results from sample program execution to fine tune optimizations in conditional branches and frequently executed code sections.

Back to Special Features

Binary compatibility and coexistence

XL C/C++ Advanced Edition version 7.0 for IBM Linux on Power™ uses the GNU C and C++ header files and the run-time libraries to produce code that is binary-compatible with that produced with GNU compiler, gcc V3.3. Portions of an application can be built with XL C/C++ Advanced Edition for IBM Linux on Power™ and combined with portions built with gcc to produce an application that behaves as if it had been built solely with gcc. To ensure that the proper versions of headers and run-time libraries are present on the system, the gcc V3.3 compilers must be installed before installing XL C/C++ Advanced Edition for IBM Linux on Power™. XL C/C++ Advanced Edition is able to coexist with gcc-compiled code. The XL C/C++ Advanced Edition compiler optimizes the program while maintaining binary compatibility with objects produced by gcc V3.3.

Additional coexistence features include:

  • Built-in IBM functions for Power Mac G5 (Power Mac G4 also supported) and PowerPC 970 architectures coexist with GNU C and GNU C++ built-ins.
  • Compilation uses the GNU C/C++ and IBM Linux on Power™ header files.
  • Compilation uses the GNU assembler for assembler input files.
  • Linking uses the IBM Linux on Power™ linker.
  • Compiled code is linked to the GNU C/C++ and IBM Linux on Power™ run-time libraries.
  • Debugging uses the GNU debugger, gdb.
  • Profiling uses the GNU profiler, gprof.

Back to Special Features

Additional features of XL C/C++ Advanced Edition for IBM Linux on Power™

  • The -qarch=ppc970 or -qarch=g5 (also -qtune=ppc970 or -qtune=g5) instructs the compiler to optimize specifically to the PowerPC 970 chip contained in the Apple Power Mac G5 (Power Mac G4 is also supported).
  • The -qaltivec option which supports the Power Mac G5 Velocity Engine through the AltiVec programming interface. This interface provides for highly parallel operations for both integer and float point data.
  • XL C/C++ Advanced Edition version 7.0 for IBM Linux on Power™ supports interlanguage calls to and from XL Fortran Advanced Edition so that you may include C and C++ code segments within your Fortran programs.
  • The gxlc utility translates GNU C and C++ compiler options into comparable XL C/C++ options and creates an xlc invocation command to invoke the C or C++ compiler within the XL C/C++ compiler. This utility is helpful for reusing make files created for applications previously developed with the GNU C/C++.

Back to Special Features

Ease of porting

XL C/C++ Advanced Edition version 7.0 for IBM Linux on Power™ has features that help you port existing code from code originally written for GNU C and C++. For example, by compiling with the -qinfo=por option, you can filter the diagnostic messages emitted by the compiler to show only those that pertain to portability issues. Also, a comprehensive subset of features related to GNU C and C++ are supported by XL C/C++ Advanced Edition version 7.0 for IBM Linux on Power™. Other GNU C and C++ features are recognized (accepted and ignored). This helps you minimize the number of changes that you are required to make to your GCC source code to ensure that it compiles successfully using XL C/C++ Advanced Edition for IBM Linux on Power™.

Back to Special Features

GNU debugger, gdb

XL C/C++ Advanced Edition version 7.0 for IBM Linux on Power™ is compatible with the Absoft Fx2™ Debugging Solution™ and the GNU debugger, gdb. Fx2™ Debugging Solution™ is included with XL C/C++ at no charge when purchased from Absoft.

The GNU debugger comes bundled with the system. Some capability for debugging code with partial -O2 optimization level is provided by gdb.

Back to Special Features

Comprehensive documentation and online Help

XL C/C++ now ships with an Information Center of searchable HTML files. The search engine of the new help system may produce hits with greater relevance per search than that of previous releases. The Information Center can be installed on an intranet, or viewed online at http://publib.boulder.ibm.com/infocenter/lnxpcomp/index.jsp.

Starting with Version 7.0, a man page is provided for compiler invocation commands and for each command-line utility. The man page for the compiler invocations replaces the text help file provided in earlier releases.

Back to Special Features

Multi-processing Capabilities · OpenMP Support

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++ Advanced Edition V7.0 for Linux is compliant with OpenMP V2.0.

Back to Special Features

Back to top

Ease of Use

XL C/C++ Advanced Edition is shipped as a command line compiler and was derived from IBM's family of compilers for AIX. Features a wide range optimizing features that let you generate highly-optimized 32- or 64-bit application code to run efficiently on a wide variety of processors and processor families, or you can opt to tune generated code to run most efficiently on a specific processor or processor family. Not only exploits the capabilities of the IBM PowerPC, POWER3, and POWER4 processor architectures, but also adds support for the new POWER5 processor architecture. XL C/C++ Advanced Edition V7.0 for Linux also includes a complete implementation of the OpenMP C/C++ API, Version 2.0. You can use OpenMP APIs to take advantage of improved program performance potential on machines featuring multiple processors.

Back to top

Availability Date

December 19 2004
  • Electronic Delivery full Media Documentation

December 31 2004

  • Mail orders shipped
Back to top
Terms and Conditions

Agreement:
IBM End User License Agreement.
The IBM End User License Agreement (EULA) should be reviewed prior to purchase of XL C/C++ Advanced Edition.

Limited warranty applies: Yes

Warranty: This program has warranty for a minimum of one year from acquisition from Absoft. The warranty provided to the customer, for at least one year from acquisition, is access to data bases (read Web sites) for program information, FAQs, including any known fixes to defects, which the customer can download or obtain otherwise and install at their leisure.

Software maintenance applies: Yes

IBM includes one year of Software Maintenance with the initial license acquisition of each program acquired. The initial period of Software Maintenance can be extended by the purchase of a renewal option that is available.

MaxFlex· Flexible Licensing available: Yes

Floating Network Licenses available: Yes

Copy and use on home/portable computer: No 

Volume orders: No

Back to top

System Requirements

Recommended Minimum
  • IBM Power™ Series processor: Power4 or Power5
  • 256MB RAM
  • 130MB HD space

      

IBM XL C/C++ is specially designed and optimized for clusters using IBM’s Power 4 and Power 5 architecture running Linux. The specific operating system versions supported are:

  • SUSE™ Linux Enterprise Server 9 (SLES 9)
  • Red Hat™ Enterprise Linux (RHEL) 3.0 AS, ES and WS
Back to top

Compatibility & Companion Products

XL C/C++ Compiler Advanced Edition version 7.0 works with:

Back to top

Debugger Options

The default debugger supported by XL C/C++ is the free gdb command line debugger, which was designed for debugging C and is included with IBM Linux on Power™ tools and utilities for developers. Many developers prefer a more intuitive, feature-rich graphical debugger and choose Absoft's Fx2™ Debugging Solution™ (a $300 value) which is included free of charge with all copies of XL C/C++ purchased from Absoft.

Back to top

Cluster Options

None at this time

Back to top

Additional Information / Notices


Support/Maintenance:

New copies of XL C/C++ purchased from Absoft include free support and maintenance for up to 12 months. Support is handled directly by Absoft support engineers during standard support hours.

At the end of the initial support period, customers under current support may purchase Maintenance Renewal. Customers falling out of continued support may purchase Maintenance Reinstatement but at a higher price.

Back to top