diff --git a/runtime/starpu/control/runtime_descriptor.c b/runtime/starpu/control/runtime_descriptor.c index ee2350065243b40bc15d943d26f052875a7292f2..5219c6bb54a179807b62b49bd4ef2ac95619d1cc 100644 --- a/runtime/starpu/control/runtime_descriptor.c +++ b/runtime/starpu/control/runtime_descriptor.c @@ -388,6 +388,26 @@ void RUNTIME_data_flush( const MORSE_sequence_t *sequence, (void)sequence; } +#if defined(CHAMELEON_USE_MIGRATE) +void RUNTIME_data_migrate( const MORSE_sequence_t *sequence, + const MORSE_desc_t *A, int Am, int An, int new_rank ) +{ + starpu_data_handle_t *handle = (starpu_data_handle_t*)(A->schedopt); + starpu_data_handle_t lhandle; + handle += ((int64_t)(A->lmt) * (int64_t)An + (int64_t)Am); + + lhandle = *handle; + if ( lhandle == NULL ) { + /* Register the data */ + lhandle = RUNTIME_data_getaddr( A, Am, An ); + } + + starpu_mpi_data_migrate( MPI_COMM_WORLD, lhandle, new_rank ); + + (void)sequence; +} +#endif + /******************************************************************************* * Get data addr **/