https://hgpu.org/?p=11558
Converting Data to Task-Parallelism by Rewrites