https://9dok.net/document/zkwv2994-adding-support-for-heterogeneous-parallel-architectures-to-julia.html