Mixed-data-model heterogeneous compilation and OpenMP offloading