https://hgpu.org/?p=2108
Scientific Programming for Heterogeneous Systems - Bridging the Gap between Algorithms and Applications