Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28499 Discussions

OpenMP crash when updating from XE 12 to XE 13

Guillaume_d_
Beginner
303 Views

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

0 Kudos
3 Replies
Steven_L_Intel1
Employee
303 Views

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.

0 Kudos
jimdempseyatthecove
Honored Contributor III
303 Views

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

Jim Dempsey

0 Kudos
Guillaume_d_
Beginner
303 Views

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

  Regards, 

Guillaume

0 Kudos
Reply