PGI User Forum
 SearchSearch   MemberlistMemberlist     RegisterRegister   ProfileProfile    Log inLog in 

CUDA-x86.

mirror + data copyin

 
Post new topic   Reply to topic    PGI User Forum Forum Index -> Accelerator Programming
View previous topic :: View next topic  
Author Message
AROM



Joined: 03 Apr 2013
Posts: 39

PostPosted: Tue Nov 05, 2013 3:27 am    Post subject: mirror + data copyin Reply with quote

Hi!

working with a huge project I faced with the following stuff: I marked one array to be mirrored on GPU (!$acc mirror) and after that I used "acc data present " and "acc update host/device" in my code. Launching the application I got wrong result. Reason - co-developer used the same array in "acc data copyin" section (right before the data section array was modified on the host). PGI didn't create a copy of the array. It checked that array have been mirrored on GPU and mapped host and device arrays without moving data on device (copyin).

Could you explain the difference of p_copyin and copyin in this case? Why doesn't PGI inform that I use data section inside another data section for the same variable?

PGI 13.10/linux

Alexey
Back to top
View user's profile
mkcolg



Joined: 30 Jun 2004
Posts: 6139
Location: The Portland Group Inc.

PostPosted: Wed Nov 06, 2013 12:33 pm    Post subject: Reply with quote

Hi Alexey,

Since OpenACC only allows one copy of a variable on the device, the run time should be aborting with an error instead of using the device copy. I've added TPR#19657 and sent it on to engineering.

Thanks for pointing this out.

- Mat
Back to top
View user's profile
AROM



Joined: 03 Apr 2013
Posts: 39

PostPosted: Mon Nov 25, 2013 4:20 am    Post subject: Reply with quote

Here is my Perl script which helps me to find some errors in my code. URL

It parses log file obtained with PGI_ACC_DEBUG environment variable.

Code:
PGI_ACC_DEBUG=1 ./wrf.exe 2>log.debug
./parse.pl < log.debug

it gave me some warnings like
Code:
[16795] >> Check for 'mudf' to device (0x10718120 -> 0x0). Origin name: mudf_pt
!! WARNING: copyin for mirror variable. lineno=763
!! WARNING: create for mirror variable. lineno=763
[16797] >> mapping found:  0x10718120 -> 0x6465a00 for mudf_pt
[16807] >>>>>>> Kernel advance_uv_766_gpu
[16813] >>>>>>> Kernel advance_uv_770_gpu
[16820] >> Check for 'mudf' to host (0x10718120 -> 0x6465a00). Origin name: mudf_pt
!! WARNING: copyin for mirror variable. lineno=774
!! WARNING: create for mirror variable. lineno=774
[16821] >> mapping found:  0x10718120 -> 0x6465a00 for mudf_pt
Back to top
View user's profile
Display posts from previous:   
Post new topic   Reply to topic    PGI User Forum Forum Index -> Accelerator Programming All times are GMT - 7 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group