https://hgpu.org/?p=5224
A balanced programming model for emerging heterogeneous multicore systems