- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all,
I think there is a bug , when using an allocatable type in a private list, like the small example below. For this program , I get "allocatable array is already allocated" , without openmp it works well. And No problem with gfortran either.
Thanks.
Pat
program toto implicit none type qq double precision,dimension(:),allocatable :: f end type call t() contains subroutine t() type(qq),allocatable :: ff double precision,dimension(:),allocatable :: f integer :: i,j i=0 !$omp parallel sections private(f,ff) !$omp section print *,i !$omp section allocate(f(10)) f=2 print *,'f',f deallocate(f) !$omp section allocate(ff) allocate(ff%f(5)) ff%f=5 print *,'g',ff%f deallocate(ff) !$omp end parallel sections end subroutine end program toto
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oops disregard
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Add copyin(f,ff) such that the empty array descriptors are copied to the thread copy of the array descriptor.
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
With what compiler version, environment and command line did you see the error?
I tried and your code seemed to work fine for me. I don't see why a copyin clause should be needed, there's no actual data to copy.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi ,
I'm using version 15.0.1 and I'm compiling with ifort -O0 -C -g -traceback. The test case is simple so it doesnt trigger the bug without the check. But it does in a more complicated case.
Pat.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, that allowed me to reproduce. I was able to make a smaller test case that gave the error even without -C. This has been escalated to the compiler developers, we'll let you know what they say. It's possible that there might be a link between this issue and the other one that you reported.
Thanks for reporting these problems and for providing clear reproducers.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This seems to be an independent problem. A fix is being targeted for the same update to the version 16.0 beta compiler as for your OpenMP tasking issue, available in about a couple of weeks. If you would like to test the fix in the 16.0 beta compiler, see Steve's post at the top of this forum, (https://software.intel.com/en-us/forums/topic/549312 ) and go to the registration link. Please let us know if it works.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That beta update compiler is now available.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I confirm this bug is fixed with the intel 16 beta update 1.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page