IV31593: PERFORMANCE PROBLEM WITH XLSMPOPTS BINDING OPTION

Fixes are available

November 2012 PTF for XL C for AIX, V12.1
November 2012 PTF for XL C/C++ for AIX, V12.1
November 2012 PTF for XL Fortran for AIX, V14.1
November 2012 PTF for XL Fortran Runtime for AIX, V14.1
March 2013 PTF for XL C for AIX, V12.1
March 2013 PTF for XL C/C++ for AIX, V12.1
March 2013 PTF for XL Fortran for AIX, V14.1
March 2013 PTF for XL Fortran Runtime for AIX, V14.1
XL C for AIX Fix Pack 4 (June 2013 PTF) for 12.1
XL C/C++ for AIX Fix Pack 4 (June 2013 PTF) for 12.1
XL Fortran for AIX Fix Pack 4 (June 2013 PTF) for 14.1
XL Fortran Runtime for AIX Fix Pack 4 (June 2013 PTF) for 14.1
XL C for AIX Fix Pack 5 (September 2013 PTF) for 12.1
XL C/C++ for AIX Fix Pack 5 (September 2013 PTF) for 12.1
XL Fortran for AIX Fix Pack 5 (September 2013 PTF) for 14.1
XL Fortran Runtime for AIX Fix Pack 5 (September 2013 PTF) for 14.1
XL C for AIX Fix Pack 6 (December 2013 PTF) for 12.1
XL C/C++ for AIX Fix Pack 6 (December 2013 PTF) for 12.1
XL Fortran for AIX Fix Pack 6 (December 2013 PTF) for 14.1
XL Fortran Runtime for AIX Fix Pack 6 (December 2013 PTF) for 14.1
XL C for AIX Fix Pack 7 (January 2014 PTF) for 12.1
XL C/C++ for AIX Fix Pack 7 (January 2014 PTF) for 12.1
XL C for AIX Fix Pack 8 (March 2014 PTF) for 12.1
XL C/C++ for AIX Fix Pack 8 (March 2014 PTF) for 12.1
XL Fortran for AIX Fix Pack 7 (March 2014 PTF) for 14.1
XL Fortran Runtime for AIX Fix Pack 7 (March 2014 PTF) for 14.1
XL C for AIX Fix Pack 9 (July 2014 PTF) for 12.1
XL C/C++ for AIX Fix Pack 9 (July 2014 PTF) for 12.1
XL Fortran for AIX Fix Pack 8 (July 2014 PTF) for 14.1
XL Fortran Runtime for AIX Fix Pack 8 (July 2014 PTF) for 14.1

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • A runtime performance degradation is seen when using the
    XLSMPOPTS binding option as follows:
    
    =====Compile Line:
    xlf_r -O -q64 -qsmp=omp matmul.f -o matmul.exe
    
    =====Testcase:
    $ cat matmul.f
         program matmul1
          implicit none
          real*8, allocatable, dimension(:,:,:) :: a,b,c
          integer, parameter :: n = 4000
          integer i
    
          allocate(a(n,n,0:1),b(n,n,0:1),c(n,n,0:1))
          a = 1.d0
          b = 1.d0
    !$OMP parallel do private(i)
          do i = 0,1
           c(:,:,i) = matmul(a(:,:,i),b(:,:,i))
          enddo
          deallocate(a,b,c)
          end
    $
    
    ====Runtime output:
    #!/bin/ksh
    set -x
    export XLFRTEOPTS=intrinthds=1
    export XLSMPOPTS=parthds=2
    time ./matmul.exe
    export XLSMPOPTS=parthds=2:bindlist=proc=0,2
    time ./matmul.exe
    
    The following are from a Power7 booted in SMT-2 mode (3.56GHz)
    
    $ ./run
    + export XLFRTEOPTS=intrinthds=1
    + export XLSMPOPTS=parthds=2
    + ./matmul.exe
    
    real    0m27.04s
    user    0m45.03s
    sys     0m0.00s
    + export XLSMPOPTS=parthds=2:bindlist=proc=0,2
    + ./matmul.exe
    
    
    
    real    1m6.88s
    user    0m57.23s
    sys     0m0.00s
    

Local fix

  • N/A
    

Problem summary

  • USERS AFFECTED:
    Users using the bind and bindlist options of XLSMPOPTS are
    potentially affected by this issue.
    
    PROBLEM DESCRIPTION:
    When using the bind or bindlist options of XLSMPOPTS, the
    compiler does not respect it and binds all threads to one CPU
    causing a performance degradation during runtime.
    

Problem conclusion

  • The issue was in the binding code within the compiler that binds
    threads to different CPUs. This has been fixed.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV31593

  • Reported component name

    XL SMP AIX

  • Reported component ID

    5725C7401

  • Reported release

    310

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-11-07

  • Closed date

    2012-11-28

  • Last modified date

    2012-11-28

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    XL SMP AIX

  • Fixed component ID

    5725C7401

Applicable component levels

  • R310 PSY

       UP



Rate this page:

(0 users)Average rating

Document information


More support for:

XL C/C++ for AIX

Software version:

12.1

Reference #:

IV31593

Modified date:

2012-11-28

Translate my page

Machine Translation

Content navigation