Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

OpenMP crash when updating from XE 12 to XE 13

Guillaume_d_
Beginner
600 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
600 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
600 Views

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

Jim Dempsey

0 Kudos
Guillaume_d_
Beginner
600 Views

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

  Regards, 

Guillaume

0 Kudos
Reply