# MPI RMA with CUDA

**URL:** <https://discourse.julialang.org/t/mpi-rma-with-cuda/96219>\
**Category:** GPU\
**Tags:** question\
**Created:** [March 17, 2023, 2:47am UTC](https://discourse.julialang.org/t/mpi-rma-with-cuda/96219 "2023-03-17T02:47:29Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![smartalecH](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/smartalech/32/32379_2.png) [@smartalecH](https://discourse.julialang.org/u/smartalecH)\
**Post date:** [March 17, 2023, 2:47am UTC](https://discourse.julialang.org/t/mpi-rma-with-cuda/96219/1 "2023-03-17T02:47:29Z")

</div>

I’m interested in using MPI RMA (i.e. one-sided operations) with native `CuArrays`.

From the `MPI.jl` [documentation](https://juliaparallel.org/MPI.jl/stable/usage/#CUDA-aware-MPI-support), we read:

> [`CuArrays`] may also work with one-sided operations, but these are not often supported

Could someone elaborate as to why they are “often” not supported? Is there a flavor of MPI, or a particular version of CUDA that must be satisfied in order for this to work reliably within Julia?

Thanks!

---

<div class="post-metadata">

**Author:** ![vchuravy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vchuravy/32/8_2.png) [@vchuravy](https://discourse.julialang.org/u/vchuravy)\
**Post date:** [March 17, 2023, 4:07am UTC](https://discourse.julialang.org/t/mpi-rma-with-cuda/96219/2 "2023-03-17T04:07:55Z")

</div>

I think the short answer is that this was written a couple of years ago. I think if you have a recent version of UCX + OpenMPI one-sided operations “should work”.

---

<div class="post-metadata">

**Author:** ![smartalecH](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/smartalech/32/32379_2.png) [@smartalecH](https://discourse.julialang.org/u/smartalecH)\
**Post date:** [March 17, 2023, 4:47am UTC](https://discourse.julialang.org/t/mpi-rma-with-cuda/96219/3 "2023-03-17T04:47:21Z")

</div>

Good to hear, thanks!
