Using x86 NVHPC/22.3, compiling the following with nvfortran -acc -c sa.f90
gives:
NVFORTRAN-S-1069-Data clause required with default(none) - z_c_0(:) (sa.f90: 15)
0 inform, 0 warnings, 1 severes, 0 fatal for do_local
Which is a variable that doesn’t exist in the code. Same thing happens if dummy
is defined in a module.
pure subroutine dummy(p1, p2)
implicit none
!$acc routine seq
real(8), dimension(3), intent(in) :: p1, p2
end subroutine dummy
subroutine do_local(m)
implicit none
integer, intent(in) :: m
real(8) :: p1(3), p2(3), s
integer :: i
!$acc parallel loop private(p1,p2) default(none)
do i = 1, m
s = dble(i)/dble(m)
p1 = [0.d0, 0.d0, 0.d0]
p2 = [0.d0, 0.d0, s]
call dummy(p1, p2)
end do
end subroutine do_local
Thanks,
Paul