heterogeneous devices