A fix is available
APAR status
Closed as program error.
Error description
When compiling and running the following testcase, the output is incorrect. The error is caused by using the MPI compiler invocation, -O3 and the -qautodbl=dbl4 option. Using the invocation 'xlf95_r' gives the correct output. Removing -qautodbl=dbl4 or -O3 or adding -qstrict gives the correct output. ===== TESTCASE ===== ===== COMPILE COMMAND: mpixlf95_r -O3 -o optim_O3 -qautodbl=dbl4 optim_test.F90 PROGRAM optim_test IMPLICIT NONE INTEGER :: vsp_dim, momnum, ln1,ln2 COMPLEX, DIMENSION(:,:), ALLOCATABLE :: infield COMPLEX, DIMENSION(:), ALLOCATABLE :: mom REAL, DIMENSION(:,:), ALLOCATABLE :: mat integer :: ierr,n ln1=1; ln2=1; vsp_dim = 32 ALLOCATE(infield(1:vsp_dim,ln1:ln2)) ALLOCATE(mat(1:vsp_dim,ln1:ln2)) ALLOCATE(mom(ln1:ln2)) mat = 3.0D0 infield = CMPLX(1.0d0,4.0d0) CALL calc_moments_perf(vsp_dim, infield,mat, mom) PRINT*,ln1,': ',mom(ln1) CONTAINS SUBROUTINE calc_moments_perf(vsp_dim,p_g_1,p_mat,p_mom) INTEGER, INTENT(in):: vsp_dim COMPLEX, DIMENSION(vsp_dim,ln1:ln2), INTENT(in):: p_g_1 REAL, DIMENSION(vsp_dim,ln1:ln2), INTENT(in):: p_mat COMPLEX, DIMENSION(ln1:ln2), INTENT(out):: p_mom COMPLEX, DIMENSION(vsp_dim):: temp INTEGER:: n temp = p_mat(:,ln1) * p_g_1(:,ln1) p_mom(ln1) = SUM(temp,1) END SUBROUTINE calc_moments_perf END PROGRAM optim_test
Local fix
n/a
Problem summary
USER AFFECTED: Users who make use of floating point code. PROBLEM DESCRIPTION: Incorrect output in applications with floating point code. A code optimization was not tracking a floating point register correctly thus resulting in an incorrect computation.
Problem conclusion
Dot product reduction was not properly tracking the secondary floating point register through a string of serialized computations. This meant that it did not correctly transform the computation. The method in which it tracks the secondary register has been corrected.
Temporary fix
Comments
APAR Information
APAR number
LI75695
Reported component name
XL FORTRAN AE B
Reported component ID
5799HJG00
Reported release
B10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2010-09-13
Closed date
2010-09-13
Last modified date
2010-09-13
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
5799HJG00
Applicable component levels
RB10 PSN LI74650
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