https://hgpu.org/?p=18031
Programming Abstractions and Optimization Techniques for GPU-based Heterogeneous Systems