OpenMP crash when updating from XE 12 to XE 13

OpenMP crash when updating from XE 12 to XE 13

My application using openMP and Intel(R) Visual Fortran Compiler XE 12.1.4.325 [IA-32] used to work fine. Updating to XE 13 make the application crash. Here is a minimal script that reproduce the problem. This program runs fine with XE 12 and return"forrtl: severe (151): allocatable array is already allocated" with XE 13 ( 13.0 and 13.1 as well... )

module test_m
    type test_t
        real, allocatable :: vector(:)
    end type
end module test_m
    
program sandbox
use test_m
implicit none
integer :: i , n
type(test_t) :: theTest
n=40
call omp_set_num_threads(8)
!$OMP PARALLEL DO PRIVATE(theTest)
do i = 1 , n
    allocate(theTest%vector(40))
    deallocate(theTest%vector)
end do
!$OMP END PARALLEL DO
end program sandbox

Thanks for your help,

 Guillaume

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Thanks - I can easily reproduce this. It worked in 12.1.5 but fails in 13.0.0 and later. We had a report of what I think is the same problem a short time ago, but the test case was troublesome. Yours is much nicer. It is escalated as issue DPD200238865. I will update this thread with any news.

Retired 12/31/2016

I think a work around is to add COPYIN of the empty private array descriptors.

Jim Dempsey

www.quickthreadprogramming.com

Thanks, COPYIN does not work, but that led me to FIRSTPRIVATE that does solve the problem.

  Regards, 

Guillaume

Leave a Comment

Please sign in to add a comment. Not a member? Join today