https://hgpu.org/?p=5913
Skeleton Programming for Heterogeneous GPU-based Systems