https://hgpu.org/?p=3857
Twin peaks: a software platform for heterogeneous computing on general-purpose and graphics processors