Hi there,
I am stuck by a strange problem when compiling with
          -fopenacc   -foffload=nvptx-none=-march=sm_75
a code that used to work until relatively recently, is now sistematically
throwing the following (or similar) error:
libgomp: Cannot map target functions or variables (expected 25, have 20)

The error comes from allocation of a vector in a derived typein a test
program of a complex library; the vector is then subject to something like
this

  subroutine oad_sync_space(x)
    implicit none
    class(oad_vect), intent(inout) :: x
    if (allocated(x%v)) then
      call d_oad_create_dev(x%v)
    end if
  contains
    subroutine d_oad_create_dev(v)
      implicit none
      real :: v(:)
      !$acc enter data copyin(v)
    end subroutine d_oad_create_dev
  end subroutine oad_sync_space

and the failure I showed happens on the enter data directive.
Now, I have partially cheated: the above code is extracted from  an attempt
to produce a reduced test case: if I only keep  the reduced code (with the
reduced type/class definitions) it works, but when I link with the full
library code it fails.

Do you have any suggestions on how to go about debugging this?
Should I ask on a different mailing list?

Full code available if anybody wants to take a look at it.
Thanks a lot
Salvatore

Reply via email to