diff --git a/runtime/starpu/control/runtime_descriptor.c b/runtime/starpu/control/runtime_descriptor.c index f87818993dc99bef845d53f44fd2d8caa32521a3..ee0698dff7f140da49c46f6cde749320256a8dea 100644 --- a/runtime/starpu/control/runtime_descriptor.c +++ b/runtime/starpu/control/runtime_descriptor.c @@ -416,23 +416,11 @@ void RUNTIME_data_migrate( const RUNTIME_sequence_t *sequence, lhandle = *handle; if ( lhandle == NULL ) { - int involved; - - old_rank = A->get_rankof( A, Am, An ); - involved = (A->myrank == old_rank) || (A->myrank == new_rank); - - /* Quick return */ - if ( !involved ) { - return; - } - /* Register the data */ lhandle = RUNTIME_data_getaddr( A, Am, An ); } - - /* Update the rank if has been moved already (cf qr for example) */ old_rank = starpu_mpi_data_get_rank( lhandle ); - assert( old_rank == A->get_rankof( A, Am, An ) ); + if ( old_rank != new_rank ) { starpu_mpi_data_migrate( MPI_COMM_WORLD, lhandle, new_rank ); }