IBM Support

LI73257: CALLS TO _GETPID CAUSING PERFORMANCE ISSUE

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Multiple calls to _getpid by the omp_get_thread_num function are
    affecting performance.  The following test case demonstrates the
    performance issue when run with xlsmp V1.7.0.3 vs. xlsmp
    V1.6.0.3
    
    ====  TEST CASE  ====
    
       program testcase
       parameter(NREP=10000000)
       real*8 t0,t1,tt,timef
       t0=timef()
       do irep=1,nrep
         call z(mythrd)
       enddo
       t1=timef()
       tt=(t1-t0)/1000
       write(6,'(a,f8.2)') "time = ",tt
       end
       subroutine z(mythrd)
         integer omp_get_thread_num
         mythrd=omp_get_thread_num()
       end
    

Local fix

  • N/A
    

Problem summary

  • USERS AFFECTED:
    Users of OpenMP that make many calls to omp_* routines
    
    PROBLEM DESCRIPTION:
    The SMP runtime is calling getpid inside the omp_ routines
    to determine if the user has forked.  This causes a slowdown on
    these routines.
    

Problem conclusion

  • Remove these calls and defer the detection of fork() calls
    until the next parallel region is reached.
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI73257

  • Reported component name

    XL FORTRAN RHEL

  • Reported component ID

    5724S7410

  • Reported release

    B10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2008-03-27

  • Closed date

    2008-03-27

  • Last modified date

    2008-03-27

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

    IZ13827

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

Fix information

  • Fixed component name

    XL FORTRAN RHEL

  • Fixed component ID

    5724S7410

Applicable component levels

  • RB10 PSN IZ13827

       UP06/09/13

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSB259","label":"XL Fortran Advanced Edition for Linux"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B.1","Line of Business":{"code":"LOB57","label":"Power"}}]

Document Information

Modified date:
24 February 2022