https://hgpu.org/?p=1838
GPU Computing: Programming a Massively Parallel Processor