Skip to main content

IV31593: PERFORMANCE PROBLEM WITH XLSMPOPTS BINDING OPTION


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

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

XL C/C++ for AIX


Software version:
12.1


Reference #:
IV31593


Modified date:
2012-11-28

Translate my page

Content navigation