https://hgpu.org/?p=7226
Reuse and Refactoring of GPU Kernels to Design Complex Applications