Procházet zdrojové kódy

mpi: when all early data have not been requested by appli, print infos on undelivered messages

Nathalie Furmento před 7 roky
rodič
revize
1f110a4229
1 změnil soubory, kde provedl 9 přidání a 1 odebrání
  1. 9 1
      mpi/src/starpu_mpi_early_data.c

+ 9 - 1
mpi/src/starpu_mpi_early_data.c

@@ -42,7 +42,15 @@ void _starpu_mpi_early_data_init(void)
 
 void _starpu_mpi_early_data_check_termination(void)
 {
-	STARPU_ASSERT_MSG(_starpu_mpi_early_data_handle_hashmap_count == 0, "Number of unexpected received messages left is not zero (but %d), did you forget to post a receive corresponding to a send?", _starpu_mpi_early_data_handle_hashmap_count);
+	if (_starpu_mpi_early_data_handle_hashmap_count != 0)
+	{
+		struct _starpu_mpi_early_data_handle_hashlist *current, *tmp;
+		HASH_ITER(hh, _starpu_mpi_early_data_handle_hashmap, current, tmp)
+		{
+			_STARPU_MSG("Unexpected message with comm %ld source %d tag %ld\n", (long int)current->node_tag.comm, current->node_tag.rank, current->node_tag.data_tag);
+		}
+		STARPU_ASSERT_MSG(_starpu_mpi_early_data_handle_hashmap_count == 0, "Number of unexpected received messages left is not 0 (but %d), did you forget to post a receive corresponding to a send?", _starpu_mpi_early_data_handle_hashmap_count);
+	}
 }
 
 void _starpu_mpi_early_data_shutdown(void)