Dear all,
The following cuf kerel do region shows the Internal compiler error.
== code ===
…
17 type(dd_complex), device, allocatable :: u(:,:,:)
18 type(dd_complex), device, allocatable :: XX(:,:,:)
19 type(dd_complex), device, allocatable :: XP(:,:,:)
…
38 !$cuf kernel do(3) <<<,>>>
39 do k=1,NORDER
40 do jc=1,COL
41 do ic=1,COL
42 ip = mod(ic-1+1 ,COL)+1
43 jp = mod(jc-1+1 ,COL)+1
44 im = mod(ic-1-1+COL,COL)+1
45 jm = mod(jc-1-1+COL,COL)+1
46 call assign_add( XP(ic,jc, k), u(jp,ip,k), u(jm,im,k) )
47 call assign_mul( ztmp, u(jc,ic,k), cuf_m_conjg_phase_gamma2_gamma2(ic,jc) )
48 call assign_add( XP(ic,jc, k), XP(jp,ip,k), ztmp)
49 XP(ic,jc, k)%ddc(3:4) = - XP(jp,ip,k)%ddc(3:4)
50 enddo
51 enddo
52 enddo
…
The error meesages are
…
NVFORTRAN-S-0000-Internal compiler error. Call in OpenACC region to support routine - pgf90_dev_common_addr (cuf_nspt_trpcm_mod.CUF: 38)
NVFORTRAN-S-0155-Compiler failed to translate accelerator region (see -Minfo messages) (cuf_nspt_trpcm_mod.CUF: 38)
cuf_get_force_trpcm:
307, include ‘cuf_get_force_trpcm.h90’
41, Generating implicit private(ip,jp,jm,im)
CUDA kernel generated
41, !$cuf kernel do <<< (,,*), (64,2,4) >>>
47, Accelerator restriction: unsupported call to support routine ‘pgf90_dev_common_addr’
…
What does this message mean?
index calculations using mod(,) could be the source of the error?
Best,
Ken-Ichi