|
@@ -19,7 +19,15 @@
|
|
|
#include <starpu_mpi_datatype.h>
|
|
|
#include <starpu_mpi_private.h>
|
|
|
|
|
|
-#define VERBOSE_STARPU_MPI 1
|
|
|
+#define STARPU_MPI_VERBOSE 1
|
|
|
+
|
|
|
+#ifdef STARPU_MPI_VERBOSE
|
|
|
+# define _STARPU_MPI_DEBUG(fmt, args ...) { int rank; MPI_Comm_rank(MPI_COMM_WORLD, &rank); \
|
|
|
+ fprintf(stderr, "[%d][starpu_mpi][%s] " fmt , rank, __func__ ,##args); \
|
|
|
+ fflush(stderr); }
|
|
|
+#else
|
|
|
+# define _STARPU_MPI_DEBUG(fmt, args ...)
|
|
|
+#endif
|
|
|
|
|
|
/* TODO find a better way to select the polling method (perhaps during the
|
|
|
* configuration) */
|
|
@@ -48,12 +56,7 @@ static void starpu_mpi_isend_func(struct starpu_mpi_req_s *req)
|
|
|
{
|
|
|
void *ptr = starpu_mpi_handle_to_ptr(req->data_handle);
|
|
|
|
|
|
-#ifdef VERBOSE_STARPU_MPI
|
|
|
- int rank;
|
|
|
- MPI_Comm_rank(MPI_COMM_WORLD, &rank);
|
|
|
-
|
|
|
- fprintf(stderr, "<<<< STARPU MPI >>>> : Rank %d post MPI isend tag %x dst %d ptr %p req %p\n", rank, req->mpi_tag, req->srcdst, ptr, &req->request);
|
|
|
-#endif
|
|
|
+ _STARPU_MPI_DEBUG("post MPI isend tag %x dst %d ptr %p req %p\n", req->mpi_tag, req->srcdst, ptr, &req->request);
|
|
|
|
|
|
starpu_mpi_handle_to_datatype(req->data_handle, &req->datatype);
|
|
|
|
|
@@ -139,12 +142,7 @@ static void starpu_mpi_irecv_func(struct starpu_mpi_req_s *req)
|
|
|
|
|
|
starpu_mpi_handle_to_datatype(req->data_handle, &req->datatype);
|
|
|
|
|
|
-#ifdef VERBOSE_STARPU_MPI
|
|
|
- int rank;
|
|
|
- MPI_Comm_rank(MPI_COMM_WORLD, &rank);
|
|
|
-
|
|
|
- fprintf(stderr, "<<<< STARPU MPI >>>> : Rank %d post MPI irecv tag %x src %d ptr %p req %p datatype %d\n", rank, req->mpi_tag, req->srcdst, ptr, &req->request, req->datatype);
|
|
|
-#endif
|
|
|
+ _STARPU_MPI_DEBUG("post MPI irecv tag %x src %d ptr %p req %p datatype %d\n", req->mpi_tag, req->srcdst, ptr, &req->request, req->datatype);
|
|
|
|
|
|
MPI_Irecv(ptr, 1, req->datatype, req->srcdst, req->mpi_tag, req->comm, &req->request);
|
|
|
|
|
@@ -306,7 +304,7 @@ static void starpu_mpi_test_func(struct starpu_mpi_req_s *testing_req)
|
|
|
/* Which is the mpi request we are testing for ? */
|
|
|
struct starpu_mpi_req_s *req = testing_req->other_request;
|
|
|
|
|
|
-// fprintf(stderr, "<<<< STARPU MPI >>>> Test request %p - mpitag %x - TYPE %s %d\n", &req->request, req->mpi_tag, (req->request_type == RECV_REQ)?"recv : source":"send : dest", req->srcdst);
|
|
|
+ _STARPU_MPI_DEBUG("Test request %p - mpitag %x - TYPE %s %d\n", &req->request, req->mpi_tag, (req->request_type == RECV_REQ)?"recv : source":"send : dest", req->srcdst);
|
|
|
int ret = MPI_Test(&req->request, testing_req->flag, testing_req->status);
|
|
|
|
|
|
if (*testing_req->flag)
|
|
@@ -384,12 +382,7 @@ static void handle_request_termination(struct starpu_mpi_req_s *req)
|
|
|
MPI_Type_free(&req->datatype);
|
|
|
starpu_data_release(req->data_handle);
|
|
|
|
|
|
-#ifdef VERBOSE_STARPU_MPI
|
|
|
- int rank;
|
|
|
- MPI_Comm_rank(MPI_COMM_WORLD, &rank);
|
|
|
-
|
|
|
- fprintf(stderr, "<<<< STARPU MPI >>>> Rank %d : complete MPI (%s %d) req %p - tag %x\n", rank, (req->request_type == RECV_REQ)?"recv : source":"send : dest", req->srcdst, &req->request, req->mpi_tag);
|
|
|
-#endif
|
|
|
+ _STARPU_MPI_DEBUG("complete MPI (%s %d) req %p - tag %x\n", (req->request_type == RECV_REQ)?"recv : source":"send : dest", req->srcdst, &req->request, req->mpi_tag);
|
|
|
|
|
|
if (req->request_type == RECV_REQ)
|
|
|
{
|
|
@@ -461,18 +454,7 @@ static void test_detached_requests(void)
|
|
|
STARPU_ASSERT(ret == MPI_SUCCESS);
|
|
|
|
|
|
|
|
|
-#ifdef VERBOSE_STARPU_MPI
|
|
|
-// if ((req->mpi_tag == 0x20003) || (req->mpi_tag == 0x30003))
|
|
|
-// if (0)
|
|
|
- if ((req->mpi_tag == 0x20003))
|
|
|
- {
|
|
|
- int rank;
|
|
|
- MPI_Comm_rank(MPI_COMM_WORLD, &rank);
|
|
|
-
|
|
|
- fprintf(stderr, "<<<< STARPU MPI >>>> Rank %d Test request %p - mpitag %x - TYPE %s %d\n", rank, &req->request, req->mpi_tag, (req->request_type == RECV_REQ)?"recv : source":"send : dest", req->srcdst);
|
|
|
- }
|
|
|
-#endif
|
|
|
-
|
|
|
+ _STARPU_MPI_DEBUG("Test request %p - mpitag %x - TYPE %s %d\n", &req->request, req->mpi_tag, (req->request_type == RECV_REQ)?"recv : source":"send : dest", req->srcdst);
|
|
|
|
|
|
if (flag)
|
|
|
{
|
|
@@ -535,11 +517,7 @@ static void *progress_thread_func(void *arg __attribute__((unused)))
|
|
|
|
|
|
if (block)
|
|
|
{
|
|
|
-// int rank;
|
|
|
-// MPI_Comm_rank(MPI_COMM_WORLD, &rank);
|
|
|
-// if (rank == 3)
|
|
|
-// fprintf(stderr, "<<<< STARPU MPI >>>> Rank %d NO MORE REQUESTS TO HANDLE\n", rank);
|
|
|
-
|
|
|
+ _STARPU_MPI_DEBUG("NO MORE REQUESTS TO HANDLE\n");
|
|
|
PTHREAD_COND_WAIT(&cond, &mutex);
|
|
|
}
|
|
|
|
|
@@ -607,10 +585,7 @@ static void _starpu_mpi_add_sync_point_in_fxt(void)
|
|
|
|
|
|
TRACE_MPI_BARRIER(rank, worldsize, random_number);
|
|
|
|
|
|
-#ifdef STARPU_VERBOSE
|
|
|
- fprintf(stderr, "StarPU MPI (rank %d): unique key %x\n", rank, random_number);
|
|
|
-#endif
|
|
|
-
|
|
|
+ _STARPU_MPI_DEBUG("unique key %x\n", random_number);
|
|
|
#endif
|
|
|
}
|
|
|
|