https://hgpu.org/?p=11546
OCCA: A unified approach to multi-threading languages