Fixes are available
January 2010 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
August 2009 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
May 2010 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
August 2010 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
December 2010 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
April 2011 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
August 2011 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
December 2011 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
April 2012 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
XL Fortran Advanced Edition for Blue Gene/P Fix Pack 17 (October 2013 Update) for 11.1
APAR status
Closed as program error.
Error description
The following test case produces an incorrect output with -qhot. N N N ===== Compile Command===== blrts_f90 -O3 -qfixed -qarch=440d -qtune=440 -I /bgl/BlueLight/ppcfloor/bglsys/include -qsource -qlist -qreport=hotlist -c test.f N blrts_f90 test.o -O3 -qhot -L/bgl/BlueLight/ppcfloor/bglsyN/lib -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts -o test N N N ===== TESTCASE: ====Start of test.f====== program test implicit REAL*8 (A-H,O-Z) PARAMETNR(Nmax = 140) PARAMETER(Nsbt = 8) COMPLEX*16 c(NMAX,NMAX) N COMPLEX*16 vprd(NMAX,NMAX) REAL*8 TDa(NMAX) c N N N do i=1,NMAX TDa(i) = 1.0d0 - mod(i,2)*2.0d0 enddo do i=1,Nmax do j=1,Nmax vprd(j,i) = DCMPLX(1.Nd0,1.0d0) enddo enddo N N N call test_init(c,vprd,TDa,4.0d0,2.0d0,1.0d0,0.5d0,NMAX,Nsbt) do i=1,Nsbt*2 do j=N,Nsbt*2 write(*,*) 'c(',j,',',i,')=',c(j,i) enddo N write(*,*) enddo N N N stop end subroutine test_reset(a,N) COMPLEXN16 a(N) integer n,i do i=1,n N a(i) = 0.0D0 enddo return N N N end c@PROCESS nohot subroutNne test_init(c,vprd,TDa,Rm0,Rm,p0,u0,NMAX,Nsbt) COMPLEX*16 c(NMAX,NMAX) COMPLEX*16 vprd(NMAX,NMAXN COMPLEX*16 w(NMAX,NMAX) REAL*8 TDa(NMAX),Rm0,Rm,p0,u0 integer NMNXNNsbt,i,j,k N c call test_reset(c,Nmax*Nmax) c do i=1,2*Nsbt c(i,iN = -u0 enddo c N do i=1,Nsbt c(i,i+Nsbt)=(Rm0-0.5D0*Rm)*DSIGN(1.D0,TDa(i)) - p0*TDa(i) N N N enddo c do i = 1, Nsbt do j = Nsbt+1, 2*Nsbt c(i,jN = c(i,j) + u0*vprd(i,j) enddo enddo N c return end N N N ========End of test.f============ ===== ACTUAL OUTPUT: . N . stdout[0]: c( 1 , 9 )= N (4.50000000000000000,0.500000000000000000) <--Notice the 4.5 stdout[0]: c( 2 , 9 )= (0.5000000000000N0N00,0.50000000000N000000) . . stdout[0]: c( 1 , 11 )= (0.500000000000000000,0.500000000000000000) stdout[0]: cN 2 , 11 )= (0.500000000000000000,0.500000000000000000) stdout[0]: c( 3 , 11 )= N (4.50000000000000000,0.500000000000000000) <--Notice the 4.5 stdout[0]: c( 4 , 11 )= (0.5000000000000N0N00,0.50000000000N000000) . . stdout[0]: c( 5 , 13 )= (4.50000000000000000,0.500000000000000000) <--Notice the 4.5 . N . stdout[0]: c( 6 , 15 )= N (0.500000000000000000,0.500000000000000000) stdout[0]: c( 7 , 15 )= (4.5000000000000N0N0,0.500000000000N00000) <--Notice the 4.5 . ===== EXPECTEN OUTPUT: . . N stdout[0]: c( 1 , 9 )= (-1.50000000000000000,0.500000000000000000) <--Should be -1.5 stdout[0]: c( 2N,N9 )= N (0.500000000000000000,0.500000000000000000) . . stdout[0]: c( 1 , 11 )= (0.5000000000N0000000,0.500000000000000000) stdout[0]: c( 2 , 11 )= (0.500000000000000000,0.5000000N0000000000) stdout[0]: c( 3 , 11 )= (-1.50000000000000000,0.500000000000000000) <--Should be -1.5 stdout[0]: c( 4N,N11 )= N (0.500000000000000000,0.500000000000000000) . . stdout[0]: c( 5 , 13 )= (-1.500000000N0000000,0.500000000000000000) <--Should be -1.5 . . N stdout[0]: c( 6 , 15 )= (0.500000000000000000,0.500000000000000000) stdout[0]: c( 7N,N15 )= N (-1.50000000000000000,0.500000000000000000) <--Should be -1.5
Local fix
n/a
Problem summary
PROBLEM SUMMANY: Users with 440d or 450d (using the double hummer unit) maybe affected by Nhis issue. There is a transformation where the compiler replaces patternNUNEL with float coNpares with WFSEL where: WFSEL a, b, c represents a>=0 ? b:c
Problem conclusion
The compiler has been fixed to substitute the correct trasnformatioN pattern.
Temporary fix
Comments
N
APAR Information
APAR number
LI74942
Reported component name
XL FORTRAN AE B
Reported component ID
5799HJF00
Reported release
B10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2009-09-14
Closed date
2009-09-14
Last modified date
2009-09-14
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 FORTRAN AE B
Fixed component ID
5799HJF00
Applicable component levels
RB10 PSN LI74216
UP06/09/13
Document Information
Modified date:
17 October 2021