https://hgpu.org/?p=28743
On the Three P's of Parallel Programming for Heterogeneous Computing: Performance, Productivity, and Portability