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

Disable sendrecv_parallel_tasks_bench with MPI backend, it can not work with it

Samuel Thibault пре 5 година
родитељ
комит
91292f79a8
2 измењених фајлова са 13 додато и 1 уклоњено
  1. 5 1
      mpi/tests/Makefile.am
  2. 8 0
      mpi/tests/sendrecv_parallel_tasks_bench.c

+ 5 - 1
mpi/tests/Makefile.am

@@ -139,8 +139,12 @@ starpu_mpi_TESTS +=				\
 	temporary				\
 	user_defined_datatype			\
 	early_stuff				\
-	sendrecv_bench				\
+	sendrecv_bench
+
+if !STARPU_USE_MPI_MPI
+starpu_mpi_TESTS +=				\
 	sendrecv_parallel_tasks_bench
+endif
 
 if !NO_BLAS_LIB
 starpu_mpi_TESTS +=				\

+ 8 - 0
mpi/tests/sendrecv_parallel_tasks_bench.c

@@ -13,6 +13,7 @@
  *
  * See the GNU Lesser General Public License in COPYING.LGPL for more details.
  */
+
 /*
  * sendrecv benchmark from different tasks, executed simultaneously on serveral
  * workers.
@@ -21,6 +22,13 @@
  * The goal is to measure impact of calls to starpu_mpi_* from different threads.
  *
  * Use STARPU_NCPU to set the number of parallel ping pongs
+ *
+ *
+ * Note: This currently can not work with the MPI backend with more than 1 CPU,
+ * since with big sizes, the MPI_Wait call in the MPI thread may block waiting
+ * for the peer to call MPI_Recv+Wait, and there is no guarantee that the peer
+ * will call MPI_Recv+Wait for the same data since tasks can proceed in any
+ * order.
  */
 
 #include <starpu_mpi.h>