Hi Omid,
I tried a variety of systems and compiler versions but was unable to recreate your issue. All cases succeeded for me.
Here’s an example. Is there anything I need to change to get this to fail in the same way as your run?
-Mat
% cat test.f
REAL LARGE_ARRAY(1000)
CALL TEST1(LARGE_ARRAY(200),LARGE_ARRAY(200),LARGE_ARRAY(200))
CALL acc_present_dump()
CALL TEST2(LARGE_ARRAY(200),LARGE_ARRAY(200),LARGE_ARRAY(200))
CALL acc_present_dump()
CALL TEST3(LARGE_ARRAY(100),LARGE_ARRAY(100),LARGE_ARRAY(100))
CALL acc_present_dump()
end
SUBROUTINE TEST1(ARRAY1,ARRAY2,ARRAY3)
REAL ARRAY1(100),ARRAY2(100),ARRAY3(100)
!$acc data present_or_create(ARRAY1)
!$acc data present_or_create(ARRAY2)
!$acc data present_or_create(ARRAY3)
CALL acc_present_dump()
!$acc end data
!$acc end data
!$acc end data
END
SUBROUTINE TEST2(ARRAY1,ARRAY2,ARRAY3)
REAL ARRAY1(100),ARRAY2(100),ARRAY3(100)
!$acc data present_or_create(ARRAY1,ARRAY2,ARRAY3)
CALL acc_present_dump()
!$acc end data
END
SUBROUTINE TEST3(ARRAY1,ARRAY2,ARRAY3)
REAL ARRAY1(5,5,5),ARRAY2(5,5,5),ARRAY3(5,5,5)
!$acc data present_or_create(ARRAY1,ARRAY2,ARRAY3)
CALL acc_present_dump()
!$acc end data
END
% pgf90 -V16.10 -ta=tesla:cc20 test.f -fast -Minfo=accel ; a.out
test1:
14, Generating create(array1(:))
15, Generating create(array2(:))
16, Generating create(array3(:))
test2:
24, Generating create(array1(:),array2(:),array3(:))
test3:
30, Generating create(array1(:,:,:),array2(:,:,:),array3(:,:,:))
Present table dump for device[1]: NVIDIA Tesla GPU 0, compute capability 2.0, threadid=1
host:0x603b3c device:0x1303440000 size:400 presentcount:3+0 line:14 name:array1
host:0x7fffffffe018 device:0x1303440200 size:72 presentcount:1+0 line:14 name:descriptor
allocated block device:0x1303440000 size:512 thread:1
allocated block device:0x1303440200 size:512 thread:1
Present table dump for device[1]: NVIDIA Tesla GPU 0, compute capability 2.0, threadid=1
...empty...
deleted block device:0x1303440000 size:512 thread 1
deleted block device:0x1303440200 size:512 thread 1
Present table dump for device[1]: NVIDIA Tesla GPU 0, compute capability 2.0, threadid=1
host:0x603b3c device:0x1303440000 size:400 presentcount:3+0 line:24 name:array1
host:0x7fffffffe018 device:0x1303440200 size:72 presentcount:1+0 line:24 name:descriptor
allocated block device:0x1303440000 size:512 thread:1
allocated block device:0x1303440200 size:512 thread:1
Present table dump for device[1]: NVIDIA Tesla GPU 0, compute capability 2.0, threadid=1
...empty...
deleted block device:0x1303440000 size:512 thread 1
deleted block device:0x1303440200 size:512 thread 1
Present table dump for device[1]: NVIDIA Tesla GPU 0, compute capability 2.0, threadid=1
host:0x6039ac device:0x1303440000 size:500 presentcount:3+0 line:30 name:array1
host:0x7fffffffdfa8 device:0x1303440200 size:120 presentcount:1+0 line:30 name:descriptor
allocated block device:0x1303440000 size:512 thread:1
allocated block device:0x1303440200 size:512 thread:1
Present table dump for device[1]: NVIDIA Tesla GPU 0, compute capability 2.0, threadid=1
...empty...
deleted block device:0x1303440000 size:512 thread 1
deleted block device:0x1303440200 size:512 thread 1