https://hgpu.org/?p=10180
Strategies for Optimization of Parallel Programs