I have some OpenACC code, that allocates a few big memory and at some point fails and dumps this present table:
Out of memory allocating 16754274432 bytes of device memory Failing in Thread:1 total/free CUDA memory: 42505273344/15365505024 Present table dump for device: NVIDIA Tesla GPU 1, compute capability 8.0, threadid=1 host:0x147cd00 device:0x145aa7401000 size:36 presentcount:0+1 line:-1 name:_m_available_solvers_21 host:0x147d980 device:0x145aa7400d00 size:616 presentcount:0+1 line:-1 name:_m_intgr_21 host:0x1499440 device:0x145aa7401100 size:112 presentcount:0+1 line:-1 name:_m_corespec_21 host:0x14a8640 device:0x145aa7400c00 size:80 presentcount:0+1 line:-1 name:_m_types_xcpot_inbuild_21 host:0x14a8a40 device:0x145aa7400a00 size:320 presentcount:0+1 line:-1 name:_m_types_xcpot_inbuild_nofunction_21 host:0x14abf40 device:0x145aa7401200 size:12 presentcount:0+1 line:-1 name:_m_greensfcalcrealpart_21 host:0x1526ec0 device:0x145aa7400600 size:936 presentcount:0+1 line:-1 name:_m_constants_21 host:0x239b5cd0 device:0x145a3ebf4000 size:32816 presentcount:1+0 line:182 name:nsest host:0x83f30ba0 device:0x145a927a0a00 size:8 presentcount:1+0 line:182 name:(null) host:0x847b4fe0 device:0x145a9276ba00 size:4 presentcount:1+0 line:182 name:(null) host:0xe8a47820 device:0x145a1c000000 size:269222464 presentcount:1+0 line:182 name:indx_sest host:0x1454595c03b0 device:0x1440f0000000 size:16754274432 presentcount:1+0 line:71 name:mat_in host:0x14588ee531a0 device:0x145840000000 size:1076889856 presentcount:1+0 line:182 name:exch_vv host:0x7ffedad62ab0 device:0x145a92769c00 size:176 presentcount:1+0 line:182 name:descriptor host:0x7ffedad6c5c0 device:0x145a3ebf1c00 size:8784 presentcount:1+0 line:182 name:hybdat allocated block device:0x1440f0000000 size:24537967104 thread:1 allocated block device:0x145840000000 size:1076890112 thread:1 allocated block device:0x145a1c000000 size:518928896 thread:1 allocated block device:0x145a3ebf1c00 size:9216 thread:1 allocated block device:0x145a3ebf4000 size:33280 thread:1 allocated block device:0x145a92769c00 size:512 thread:1 allocated block device:0x145a9276ba00 size:512 thread:1 allocated block device:0x145a927a0a00 size:512 thread:1 call to cuMemAlloc returned error 2: Out of memory
This line says my array is 16 GB (as it should be) :
host:0x1454595c03b0 device:0x1440f0000000 size:16754274432 presentcount:1+0 line:71 name:mat_in
but then this line shows, that the corresponding block is much much bigger (24 GB):
allocated block device:0x1440f0000000 size:24537967104 thread:1
Why is that and how can I avoid it?