https://hgpu.org/?p=12743
A uniform approach for programming distributed heterogeneous computing systems