Преглед изворни кода

Use raw reception for early data with user-provided pack/unpack

Samuel Thibault пре 10 година
родитељ
комит
d96bb5e844
1 измењених фајлова са 2 додато и 1 уклоњено
  1. 2 1
      mpi/src/starpu_mpi.c

+ 2 - 1
mpi/src/starpu_mpi.c

@@ -1160,8 +1160,9 @@ static void _starpu_mpi_receive_early_data(struct _starpu_mpi_envelope *envelope
 	data_handle = _starpu_data_get_data_handle_from_tag(envelope->data_tag);
 	STARPU_PTHREAD_MUTEX_LOCK(&mutex);
 
-	if (data_handle)
+	if (data_handle && starpu_data_get_interface_id(data_handle) < STARPU_MAX_INTERFACE_ID)
 	{
+		/* We know which data will receive it and we won't have to unpack, use just the same kind of data.  */
 		early_data_handle->buffer = NULL;
 		starpu_data_register_same(&early_data_handle->handle, data_handle);
 		_starpu_mpi_early_data_add(early_data_handle);