I am encountering the error “Call in OpenACC region to procedure ‘pgf90_sect_i8’ which has no acc routine” inside a subroutine that’s marked !$acc routine seq
when specifying a subarray of a multidimensional array on the RHS of an associate statement. Below is a small reproducer. Thanks, -John
Script started on Tue 02 Mar 2021 04:06:52 PM MST
$ which pgf90
/opt/nvidia/hpc_sdk/Linux_x86_64/2021/compilers/bin/pgf90
$ cat array_section.F90
module mod_compute_laplacian
type diffusion_t
real, allocatable, dimension(:,:,:,:) :: rhs
end type diffusion_t
contains
subroutine compute_laplacian(this)
implicit none
type(diffusion_t), intent(inout), target :: this
integer ib
!$acc routine(compute_laplacian) seq
#ifdef BUG
associate( rhs => this%rhs(:,:,:,ib) )
#else
associate( rhs => this%rhs )
#endif
end associate
end subroutine compute_laplacian
end module mod_compute_laplacian
$ pgf90 -ta=tesla:cc70 -c array_section.F90
$ pgf90 -ta=tesla:cc70 -DBUG -c array_section.F90
NVFORTRAN-S-1000-Call in OpenACC region to procedure 'pgf90_sect_i8' which has no acc routine information (array_section.F90: 17)
0 inform, 0 warnings, 1 severes, 0 fatal for compute_laplacian
$ exit
Script done on Tue 02 Mar 2021 04:07:37 PM MST