https://hgpu.org/?p=8297
CUDA-Zero: a framework for porting shared memory GPU applications to multi-GPUs