Strange behavour. acc create

Hi Mat!

Can you please explain what is the reason of such output?

in my code I have “$acc data create(…,oc12d, oa1,…)”

PGI_ACC_DEBUG=1 reports

FATAL ERROR: variable in data clause is partially present on the device: name=oc12d
 file:/home/.../module_pbl_driver.OpenACC.F pbl_driver line:753
oc12d lives at 0x7568df0 size 93408 not present

I create var, but PGI tells that it partlially present
and not present on GPU
I am confused.

PGI 14.10

3 MPI ranks share the same GPU (K40). Allocation table tells that I use 1.2 GB of GPU mem per MPI rank. No MPS is used


Same for PGI 15.10

oa1 lives at 0x8934b30 size 93408 partially present
FATAL ERROR: variable in data clause is partially present on the device: name=oa1

It looks strange for me the following part of “presents table”:
host:0x88b9b50 device:0x2311ac1000 size:200 presentcount:1 line:22 name:grid_pt
host:0x88ba110 device:0x2311ac0200 size:20 presentcount:1 line:22 name:grid_pt
host:0x88c25d0 device:0x234c5c0000 size:4670400 presentcount:1 line:753 name:dtauy3d
host:0x88c6250 device:0x23121c0c00 size:2780 presentcount:1 line:41 name:grid_pt
host:0x88f58d0 device:0x2353104c00 size:93408 presentcount:1 line:753 name:dvsfcg

according to host address dtauy3d array should overlap tones of other arrays

Hi Alexey,

When I see partially present errors, it typically means that there’s some type issue with another variable which is overlapping the device memory. That appears to be what’s happening here with the “dtauy3d” variable.

What data type is “dtauy3d”, how is it created on the device, and what values are used for it’s size?

Also, can you post the line in the PGI_ACC_DEBUG output where “dtauy3d” is allocated?

  • Mat

Error was found. It’s my issue, not PGI’s one