- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear intel,
It seems you have a serious bug in your collapse openmp statements.
I did this small code:
module fail_m implicit none contains subroutine zero(n, Dk) integer :: n real :: Dk(2,n,n) integer :: i, j !$OMP parallel do default(shared), collapse(2), private(i,j) do j = 1, n do i = 1, n Dk(1,i,j) = 0. Dk(2,i,j) = 0. end do end do !$OMP end parallel do end subroutine zero end module fail_m program test use fail_m integer, parameter :: n = 200 real :: Dk(2,n,n) call random_number(Dk) call zero(n, Dk) print '(f10.4)', sum(Dk) end program test
and ran for multiple different versions.
In all cases the program should print out 0.0000. However, for all 2019.X versions it prints something else.
Here is a complete list of the versions I have tested (and whether they failed or succeeded).
Running intel
Success: 2013.0.028
Success: 2013.1.039
Success: 2013.1.046
Success: 2015.0.090
Success: 2015.1.133
Success: 2015.3.187
Success: 2016.1.0.423501
Success: 2016.2.0
Success: 2017.0.035
Success: 2017.1.043
Success: 2017.4.196
Success: 2017.7.065
Success: 2018.0.033
Success: 2018.1.038
Success: 2018.2.046
Success: 2018.3.051
Failed: 2019.0.117 = 29939.7344
Failed: 2019.1.144 = 29939.7344
Failed: 2019.2.187 = 29939.7344
Failed: 2019.3.199 = 29939.7344
I need not say how severe this is :(
/ Nick
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bump this thread!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I can confirm this, ifort 17 and 18 work, 19.0 and 19.1 don't. Did you report this to the Intel Online Support Center?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yeah, I have just reported this: #04329792
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello and thank you for reporting this issue. I will contact the development team right away.
Regards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This also fails on 2019u5!
Failed: 2019.5.281 = 29939.7344
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I see that on 2019.5.281 it gives the wrong result with -O2 or -O3 but gives zero for -O0 and -O1. Looks like it may be caused by a conflict with openmp collapse and unrolling.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page