https://hgpu.org/?p=27403
Tausch: A halo exchange library for large heterogeneous computing systems using MPI, OpenCL, and CUDA