OpenACC directives to transfer data between GPUs


is it possible to transfer data from one GPU to another (over NVLink) by using OpenACC directives?


Hi Rob,

No, OpenACC is agnostic to the type of device it targets and direct data transfers between devices would be a specific feature of a particular device.

For NVIDIA devices, you’d want to pass device pointers to an API that supports direct data transfers using the OpenACC “host_data use_device” construct. For example, a CUDA Aware MPI routine, NVShmem, or calling the low level GPUDirect RDMA APIs.