OpenMP: Heterogenous Execution and Data Movements