https://hgpu.org/?p=7243
A Restructuring Algorithm for CUDA