https://hgpu.org/?p=2823
Copperhead: Compiling an embedded data parallel language