Documentation errata for IBM XL C/C++ for Blue Gene/Q, V12.1

Preventive Service Planning


Abstract

This page contains corrections and additions to the product documentation shipped with IBM XL C/C++ for Blue Gene/Q, V12.1.

Content

All documentation
The following correction applies to all documentation of IBM XL C/C++ for Blue Gene/Q, V12.1:

Section: IBM XL C/C++ information

The library page address in any statement:
http://www.ibm.com/software/awdtools/xlcpp/features/bg/library/

should read:

http://www.ibm.com/software/rational/products/xlcpp/bluegeneq/library/


man pages:
The following correction applies to all man pages of IBM XL C/C++ for Blue Gene/Q, V12.1:

For more information, refer to the following Web sites:
http://www.ibm.com/software/awdtools/xlcpp/features/bg/library/

Should read:

For more information, refer to the following Web sites:
http://www.ibm.com/software/rational/products/xlcpp/bluegeneq/library/.


Option: -qlistfmt

The following statements about profile directed feedback (PDF) are removed (PDF or the -qpdf options are not supported by the BG/Q compilers.):

    pdf | nopdf
      Produce profile-directed feedback information.
    When used with the option that enables profiling, -qpdf, the report contains information about call and block counts and cache misses.


Installation Guide
The following corrections and additions apply to the IBM XL C/C++ for Blue Gene/Q, V12.1 Installation Guide:

Chapter: Before installing IBM XL C/C++ for Blue Gene/Q, V12.1

Upgrading the evaluation copy of the XL C/C++ compiler

Install only the vac.bg.lic RPM packages for the full product version of the XL C/C++ compiler and run vac_configure to re-configure the compiler.

Should read:
  1. Install the vac.bg.lic RPM packages.

  2. Install the vac.bg.cmp and vacpp.bg.cmp RPM packages using the --replacepkgs --replacefiles options.

    For example:

    rpm -ivh  vac.bg.cmp-12.1.0.0-120505a.ppc64.rpm --replacepkgs --replacefiles

    rpm -ivh  vacpp.bg.cmp-12.1.0.0-120505a.ppc64.rpm --replacepkgs --replacefiles

  3. Run new_install or vac_configure to re-configure the compiler.

Language Reference
The following corrections apply to the IBM XL C/C++ for Blue Gene/Q, V12.1 Language Reference:

Chapter: Data objects and declarations

Section: Type specifiers

Topic: Vector types (IBM extension)

The following paragraph is removed:

Most of the legal forms of the syntax are captured in the following diagram. Some variations have been omitted from the diagram for the sake of clarity: type qualifiers such as const and storage class specifiers such as static can appear in any order within the declaration, as long as neither immediately follows the keyword vector4double (or __vector4double).

Compiler Reference
The following corrections and additions apply to the IBM XL C/C++ for Blue Gene/Q, V12.1 Compiler Reference:

Chapter: Compiler options reference

Section: Individual option descriptions

Topic: -qinline

Defaults
  • -qnoinline
  • At optimization levels of -O2 and higher, the default is -qinline=noauto
  • -qinline=auto:level=5 is the default suboption of -qinline

Parameters

noauto | auto
Enables or disables automatic inlining. If you do not specify any -qinline suboptions, -qinline=auto is the default.

Should read:

Defaults

If -qinline is not specified, the default option is -qnoinline at the -O0 or -qnoopt optimization level or -qinline=noauto:level=5:20 at the -O2 or higher optimization levels.

If -qinline is specified without any suboptions, the default option is -qinline=auto:level=5:20.

Parameters
noauto | auto
Enables or disables automatic inlining.


Chapter: Compiler pragmas reference

Section: Individual pragmas descriptions

Topic: #pragma reg_killed_by

fs

    Floating-point and status control register

vr0 to vr31
    Vector registers (on selected processors only)

Should read:

fsr
    Floating-point and status control register

qv0 to qv31
    Vector registers

Chapter: Compiler built-in functions

Section: Vector built-in functions

Topic: vec_xxcpnmadd

Formula
    d[0] = ( ( a[1] × b[1] ) + c[0] )
    d[1] = - ( ( a[0] × b[1] ) + c[1] )
    d[2] = ( ( a[3] × b[3] ) + c[2] )
    d[3] = - ( ( a[2] × b[3] ) + c[3] )

Example
    a = ( 1.0, 2.0, 3.0, 4.0)
    b = ( 0.0, 10.0, 0.0, 20.0)
    c = ( 10.0, 10.0, 10.0, 10.0)
    d: ( 30.0, -20.0, 90.0, -70.0)

Should read:

Formula
    d[0] = ( ( a[1] × b[1] ) + c[0] )
    d[1] = - ( ( a[0] × b[1] ) - c[1] )
    d[2] = ( ( a[3] × b[3] ) + c[2] )
    d[3] = - ( ( a[2] × b[3] ) - c[3] )

Example
    a = ( 1.0, 2.0, 3.0, 4.0)
    b = ( 0.0, 10.0, 0.0, 20.0)
    c = ( 10.0, 10.0, 10.0, 10.0)
    d = ( 30.0, -0.0, 90.0, -50.0)

Topic: vec_xxnpmadd

Formula
    d[0] = - ( ( a[1] × b[1] ) + c[0] )
    d[1] = ( ( a[0] × b[1] ) + c[1] )
    d[2] = - ( ( a[3] × b[3] ) + c[2] )
    d[3] = ( ( a[2] × b[3] ) + c[3] )

Example
    a = ( 1.0, 2.0, 3.0, 4.0)
    b = ( 0.0, 10.0, 0.0, 20.0)
    c = ( 10.0, 10.0, 10.0, 10.0)
    d: ( -30.0, 20.0, -90.0, 70.0)

Should read:

Formula
    d[0] = - ( ( a[1] × b[1] ) - c[0] )
    d[1] = ( ( a[0] × b[1] ) + c[1] )
    d[2] = - ( ( a[3] × b[3] ) - c[2] )
    d[3] = ( ( a[2] × b[3] ) + c[3] )

Example
    a = ( 1.0, 2.0, 3.0, 4.0)
    b = ( 0.0, 10.0, 0.0, 20.0)
    c = ( 10.0, 10.0, 10.0, 10.0)
    d = ( -10.0, 20.0, -70.0, 70.0)

Chapter: Compiler built-in functions

Topic: Cache-related built-in functions

The following information is added at the begining of this topic:

On Blue Gene/Q, data might be fetched into cache when needed or prefetched into the L1P cache, the cache that is between L1 and L2 caches. The following forms of prefetching are supported:
  • Automatic stream prefetching
  • Software hints for stream prefetching
  • List (or perfect) prefetching
For more information, see the "Memory" section in Blue Gene/Q Application Development, SG24-7948, available at http://www.redbooks.ibm.com/redpieces/abstracts/sg247948.html?Open.

Chapter: Compiler built-in functions

Section: Cache-related built-in functions

Topic: __prefetch_by_load

The whole topic should read:

Purpose
Loads one byte from memory into a register, which brings the cache line containing that byte into L2, L1P, and L1 cache. It does not activate software stream prefetching, but might be part of a pattern that activates automatic stream prefetching into L2 and L1P cache.

Prototype
    void __prefetch_by_load (const void* addr);

Parameters
addr
The address to load the byte from, to prefetch the cache line containing that byte.

Topic: __prefetch_by_stream

The whole topic should read:

Purpose
Activates stream prefetching, which brings data from the stream into L2 and L1P cache.

Prototype
    void __prefetch_by_stream (const int stream, const void* addr);

Parameters
stream
The stream number (stream ID). The value is between 0 and 15.

addr
The address to start stream prefetching at.

Optimization and Programming Guide
The following corrections and additions apply to the IBM XL C/C++ for Blue Gene/Q, V12.1 Optimization and Programming Guide:

Chapter: Using the high performance libraries

Section: Using the Mathematical Acceleration Subsystem libraries (MASS)

Topic: Using the SIMD library

In the MASS SIMD functions table, the following row:

Double-precision function Single-precision function Description Double-precision function prototype Single-precision function prototype
atan2d4 atan2f4 Computes the arc tangent of each element of vy/vx. vector4double atan2d4 (vector4double vx, vector4double vy); vector4double atan2f4 (vector4double vx, vector4double vy);

Should read:

Double-precision function Single-precision function Description Double-precision function prototype Single-precision function prototype
atan2d4 atan2f4 Computes the arc tangent of each element of vx/vy. vector4double atan2d4 (vector4double vx, vector4double vy); vector4double atan2f4 (vector4double vx, vector4double vy);

Rate this page:

(0 users)Average rating

Document information


More support for:

XL C/C++ Advanced Edition for Blue Gene
Documentation

Software version:

12.1

Operating system(s):

Blue Gene/Q

Reference #:

1599257

Modified date:

2014-01-20

Translate my page

Machine Translation

Content navigation