https://hgpu.org/?p=12615
Optimizing memory management on heterogeneous systems using polyhedral, compile-time techniques