escj
September 24, 2014, 4:44pm
1
Hello .
A strange WARNING generate by the STOP statement after a simple OpenAcc kernels
( or any other statement a suppose ? )
Same warning for pgi/13.10 & pgi/14.9
PROGRAM titi
REAL :: a(10000)
!$acc kernels
a(:) = 1.0
!$acc end kernels
print*,'a=', a(1)
stop
END PROGRAM titi
pgf90 --version
pgf90 13.10-0 64-bit target on x86-64 Linux -tp nehalem
pgf90 -ta=nvidia:cuda5.5 simple_acc.f90 -o simple_acc
./simple_acc
a= 1.000000
Warning: ieee_inexact is signaling
FORTRAN STOP
Without the STOP statement , or on the HOST the warning disappear ??
./simple_acc
a= 1.000000
Bye
Juan
Hi Juan,
As of the F2003 standard, STOP is required to print out any exception that may have occurred. You can disable this message by setting the environment “NO_STOP_MESSAGE=1”.
As for the message itself, many types of floating operations may trigger an “inexact” exception. In this case it’s an integer to real conversion and is benign.
Hope this helps,
Mat
escj
September 29, 2014, 9:53am
3
Hello Mat :-)
Ok the message is benign.
But is completely wrong .
;-) Where did you see an integer to real conversion in :
a = 1.0
The original test case was much bigger and I couldn’t find on this where I was doing
inexact operations on the GPU .
The answer is , no where .
The compiler or acc translator is issuing the message for a wrong reason …
Bye
Juan