https://hgpu.org/?p=1933
Merge: a programming model for heterogeneous multi-core systems