https://hgpu.org/?p=5245
A programming model for GPU-based parallel computing with scalability and abstraction