Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Ankündigungen
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_
Einsteiger
606Aufrufe

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 Antworten
Steven_L_Intel1
Mitarbeiter
606Aufrufe

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.

jimdempseyatthecove
Geehrter Beitragender III
606Aufrufe

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

Jim Dempsey

Guillaume_d_
Einsteiger
606Aufrufe

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

  Regards, 

Guillaume

Antworten