https://hgpu.org/?p=2343
Message passing on data-parallel architectures