Hi,
Recently I have problems with acc declare copyin(list)
together with deepcopy
option
If I put more than 3 variables in the list, an error is raised.
Here is a piece of code to reproduce the error.
$ cat test2.F90
MODULE testmod
IMPLICIT NONE
SAVE
integer, parameter :: dp = selected_real_kind(15, 307)
REAL(KIND=dp), parameter :: a=1.0_dp
REAL(KIND=dp), parameter :: b=1.0_dp
REAL(KIND=dp), parameter :: c=1.0_dp
REAL(KIND=dp), parameter :: d=1.0_dp
!$acc declare copyin(a,b,c,d)
END MODULE testmod
The test was performed on an A100 GPU with NVHPC 21.9:
$ nvfortran -O2 -acc -gpu=cc80,deepcopy -c test2.F90
nvfortran-Fatal-/ceph/hpc/software/nvidia/hpc_sdk/Linux_x86_64/21.9/compilers/bin/tools/fort2 TERMINATED by signal 11
Arguments to /ceph/hpc/software/nvidia/hpc_sdk/Linux_x86_64/21.9/compilers/bin/tools/fort2
/ceph/hpc/software/nvidia/hpc_sdk/Linux_x86_64/21.9/compilers/bin/tools/fort2 /tmp/nvfortranD0C4bxrhh5q0Q.ilm -fn test2.F90 -opt 2 -terse 1 -inform warn -x 51 0x20 -x 119 0xa10000 -x 122 0x40 -x 123 0x1000 -x 127 4 -x 127 17 -x 19 0x400000 -x 28 0x40000 -x 120 0x10000000 -x 70 0x8000 -x 122 1 -x 125 0x20000 -quad -vect 56 -y 34 16 -x 34 0x8 -x 32 134217728 -y 19 8 -y 35 0 -x 42 0x30 -x 39 0x40 -x 42 0x20000 -x 39 0x80 -x 59 4 -x 129 2 -tp zen -x 120 0x1000 -x 124 0x1400 -y 15 2 -x 57 0x3b0000 -x 58 0x48000000 -x 49 0x100 -astype 0 -x 121 1 -x 183 4 -x 121 0x800 -x 68 0x1 -x 8 0x40000000 -x 70 0x40000000 -x 56 0x10 -x 54 0x10 -x 249 110 -x 68 0x20 -x 70 0x40000000 -x 8 0x40000000 -x 164 0x800000 -x 85 0x2000 -x 85 0x4000 -x 34 0x40000000 -x 53 0x800000 -x 206 0x02 -x 68 0x1 -x 39 4 -x 56 0x10 -x 26 0x10 -x 26 1 -x 56 0x4000 -x 124 1 -accel tesla -accel host -x 180 0x4000400 -x 121 0xc00 -x 186 0x80 -x 180 0x4000400 -x 121 0xc00 -x 194 0x40000 -x 163 0x1 -x 186 0x80000 -cudaver 11040 -x 176 0x100 -cudacap 80 -cudaroot /ceph/hpc/software/nvidia/hpc_sdk/Linux_x86_64/21.9/cuda/11.4 -x 215 0x2 -x 2 0x400 -cudaroot /ceph/hpc/software/nvidia/hpc_sdk/Linux_x86_64/21.9/cuda/11.4 -x 176 0x100 -cudacap 80 -x 189 0x8000 -y 163 0xc0000000 -x 201 0xf0000000 -x 189 0x10 -y 189 0x4000000 -cudaroot /ceph/hpc/software/nvidia/hpc_sdk/Linux_x86_64/21.9/cuda/11.4 -x 187 0x40000 -x 187 0x8000000 -x 9 1 -x 72 0x1 -x 136 0x11 -x 37 0x480000 -x 9 1 -x 72 0x1 -x 136 0x11 -x 37 0x480000 -cci /tmp/nvfortranf0C4bpCHcAWLk.cci -cmdline '+nvfortran test2.F90 -O2 -Mvect=simd -acc -gpu=cc80,deepcopy -c' -stbfile /tmp/nvfortranT0C4bh_mTEFNO.stb -asm /tmp/nvfortrann0C4bNlRyIpac.ll
Instead of 4 variables, if I put only three, it works
!$acc declare copyin(a,b,c)
If I remove the deepcopy
option, it compiles as well as expected.
I would like to ask for your help and find out what the problem is.
Many thanks.
best
qiang