Fixes are available
November 2012 PTF for XL C for AIX, V12.1
November 2012 PTF for XL C/C++ for AIX, V12.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 Runtime for AIX, V14.1
XL C/C++ for AIX Fix Pack 4 (June 2013 PTF) for 12.1
XL C/C++ for AIX Fix Pack 5 (September 2013 PTF) for 12.1
XL Fortran Runtime for AIX Fix Pack 5 (September 2013 PTF) for 14.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 C/C++ for AIX Fix Pack 11 (February 2015 PTF) for 12.1
XL C for AIX Fix Pack 12 (May 2015 PTF) for 12.1
XL C/C++ for AIX Fix Pack 12 (May 2015 PTF) for 12.1
XL Fortran for AIX Fix Pack 11 (May 2015 PTF) for 14.1
XL Fortran Runtime for AIX Fix Pack 11 (May 2015 PTF) for 14.1
XL C/C++ for AIX Fix Pack 13 (August 2015 Update) for 12.1
XL Fortran for AIX Fix Pack 12 (August 2015 Update) for 14.1
XL C/C++ for AIX Fix Pack 14 (December 2015 Update) for 12.1
XL C for AIX Fix Pack 15 (April 2016 Update) for 12.1
XL C/C++ for AIX Fix Pack 15 (April 2016 Update) for 12.1
XL Fortran for AIX Fix Pack 15 (April 2016 Update) for 14.1
XL Fortran Runtime for AIX Fix Pack 15 (April 2016 Update) for 14.1
XL C for AIX Fix Pack 16 (July 2016 Update) for 12.1
XL C/C++ for AIX Fix Pack 16 (July 2016 Update) for 12.1
XL Fortran for AIX Fix Pack 16 (July 2016 Update) for 14.1
XL Fortran Runtime for AIX Fix Pack 16 (July 2016 Update) for 14.1
XL C/C++ for AIX Fix Pack 17 (November 2016 Update) for 12.1
XL C for AIX Fix Pack 17 (November 2016 Update) for 12.1
XL Fortran for AIX Fix Pack 17 (November 2016 Update) for 14.1
XL Fortran Runtime for AIX Fix Pack 17 (November 2016 Update) for 14.1
XL C for AIX Fix Pack 18 (February 2017 Update) for 12.1
XL C/C++ for AIX Fix Pack 18 (February 2017 Update) for 12.1
XL Fortran for AIX Fix Pack 18 (February 2017 Update) for 14.1
XL Fortran Runtime for AIX Fix Pack 18 (February 2017 Update) for 14.1
XL C for AIX Fix Pack 19 (August 2017 Update) for 12.1
XL C/C++ for AIX Fix Pack 19 (August 2017 Update) for 12.1
XL Fortran for AIX Fix Pack 19 (August 2017 Update) for 14.1
XL Fortran Runtime for AIX Fix Pack 19 (August 2017 Update) for 14.1
XL C for AIX Fix Pack 20 (March 2018 Update) for 12.1
XL C/C++ for AIX Fix Pack 20 (March 2018 Update) for 12.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 Fortran for AIX, V14.1
XL 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 Fortran 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 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
XL C for AIX Fix Pack 10 (October 2014 PTF) for 12.1
XL C/C++ for AIX Fix Pack 10 (October 2014 PTF) for 12.1
XL Fortran for AIX Fix Pack 9 (October 2014 PTF) for 14.1
XL Fortran Runtime for AIX Fix Pack 9 (October 2014 PTF) for 14.1
XL C for AIX Fix Pack 11 (February 2015 PTF) for 12.1
XL Fortran for AIX Fix Pack 10 (February 2015 PTF) for 14.1
XL Fortran Runtime for AIX Fix Pack 10 (February 2015 PTF) for 14.1
XL C for AIX Fix Pack 13 (August 2015 Update) for 12.1
XL Fortran Runtime for AIX Fix Pack 12 (August 2015 Update) for 14.1
XL C for AIX Fix Pack 14 (December 2015 Update) for 12.1
XL Fortran for AIX Fix Pack 14 (December 2015 Update) for 14.1
XL Fortran Runtime for AIX Fix Pack 14 (December 2015 Update) for 14.1
XL C/C++ for AIX Fix Pack 21 (January 2019 Update) for 12.1
XL C for AIX Fix Pack 21 (January 2019 Update) for 12.1
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
Document Information
Modified date:
01 October 2021