# examine

**URL:** <https://forums.developer.nvidia.com/t/examine/135795>\
**Category:** Legacy PGI Compilers (archived)\
**Created:** [July 30, 2018, 12:10pm UTC](https://forums.developer.nvidia.com/t/examine/135795 "2018-07-30T12:10:12Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![NVD1](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@NVD1](https://forums.developer.nvidia.com/u/NVD1)\
**Post date:** [July 30, 2018, 12:10pm UTC](https://forums.developer.nvidia.com/t/examine/135795/1 "2018-07-30T12:10:12Z")

</div>

For example, I allocate an integer A in GPU1 and allocate an array B in GPU2. Can I execute a function that includes the expression  
Code:  
B(1) = B(2) + A  
?

---

<div class="post-metadata">

**Author:** ![MatColgrove](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/matcolgrove/32/14047_2.png) [@MatColgrove](https://forums.developer.nvidia.com/u/MatColgrove)\
**Post date:** [July 30, 2018, 4:05pm UTC](https://forums.developer.nvidia.com/t/examine/135795/2 "2018-07-30T16:05:12Z")

</div>

Same answer as your other post:

The device memories on the devices are separate so device A can not access device B’s memory. This is true for OpenACC, CUDA Fortran, and CUDA C.

The closest you can come to this is if you use CUDA unified memory where the runtime manages the device memory for you. Then both GPUs will “see” the same memory.

Though compute would still not be implicitly split between the two devices. Maybe in the future this will be possible, but not currently.
