https://hgpu.org/?p=7463
MetaCL - A Model-Based Approach to Programming Heterogeneous Architectures Using OpenCL