Browse Source

mpi: rename internal function starpu_mpi_handle_to_datatype to _starpu_mpi_handle_allocate_datatype and update its prototype

Nathalie Furmento 12 years ago
parent
commit
2942bd8e4e
3 changed files with 9 additions and 9 deletions
  1. 5 5
      mpi/src/starpu_mpi.c
  2. 3 3
      mpi/src/starpu_mpi_datatype.c
  3. 1 1
      mpi/src/starpu_mpi_datatype.h

+ 5 - 5
mpi/src/starpu_mpi.c

@@ -149,8 +149,8 @@ static void _starpu_mpi_isend_size_callback(void *arg)
 
 static void _starpu_mpi_isend_size_func(struct _starpu_mpi_req *req)
 {
-	req->user_datatype = starpu_mpi_handle_to_datatype(req->data_handle, &req->datatype);
-	if (!req->user_datatype)
+	_starpu_mpi_handle_allocate_datatype(req->data_handle, &req->datatype, &req->user_datatype);
+	if (req->user_datatype == 0)
 	{
 		req->count = 1;
 		req->ptr = starpu_handle_get_local_ptr(req->data_handle);
@@ -263,8 +263,8 @@ static void _starpu_mpi_irecv_size_func(struct _starpu_mpi_req *req)
 {
 	_STARPU_MPI_LOG_IN();
 
-	req->user_datatype = starpu_mpi_handle_to_datatype(req->data_handle, &req->datatype);
-	if (!req->user_datatype)
+	_starpu_mpi_handle_allocate_datatype(req->data_handle, &req->datatype, &req->user_datatype);
+	if (req->user_datatype == 0)
 	{
 		req->count = 1;
 		req->ptr = starpu_handle_get_local_ptr(req->data_handle);
@@ -573,7 +573,7 @@ static void _starpu_mpi_handle_request_termination(struct _starpu_mpi_req *req)
 	_STARPU_MPI_DEBUG("complete MPI (%s %d) data %p req %p - tag %d\n", _starpu_mpi_request_type(req->request_type), req->srcdst, req->data_handle, &req->request, req->mpi_tag);
 	if (req->request_type == RECV_REQ || req->request_type == SEND_REQ)
 	{
-		if (req->user_datatype)
+		if (req->user_datatype == 1)
 		{
 			if (req->request_type == RECV_REQ)
 				// req->ptr is freed by starpu_handle_unpack_data

+ 3 - 3
mpi/src/starpu_mpi_datatype.c

@@ -127,7 +127,7 @@ static handle_to_datatype_func handle_to_datatype_funcs[STARPU_MAX_INTERFACE_ID]
 	[STARPU_MULTIFORMAT_INTERFACE_ID] = NULL,
 };
 
-int starpu_mpi_handle_to_datatype(starpu_data_handle_t data_handle, MPI_Datatype *datatype)
+void _starpu_mpi_handle_allocate_datatype(starpu_data_handle_t data_handle, MPI_Datatype *datatype, int *user_datatype)
 {
 	enum starpu_data_interface_id id = starpu_handle_get_interface_id(data_handle);
 
@@ -136,12 +136,12 @@ int starpu_mpi_handle_to_datatype(starpu_data_handle_t data_handle, MPI_Datatype
 		handle_to_datatype_func func = handle_to_datatype_funcs[id];
 		STARPU_ASSERT(func);
 		func(data_handle, datatype);
-		return 0;
+		*user_datatype = 0;
 	}
 	else
 	{
 		/* The datatype is not predefined by StarPU */
 		*datatype = MPI_BYTE;
-		return 1;
+		*user_datatype = 1;
 	}
 }

+ 1 - 1
mpi/src/starpu_mpi_datatype.h

@@ -24,7 +24,7 @@
 extern "C" {
 #endif
 
-int starpu_mpi_handle_to_datatype(starpu_data_handle_t data_handle, MPI_Datatype *datatype);
+void _starpu_mpi_handle_allocate_datatype(starpu_data_handle_t data_handle, MPI_Datatype *datatype, int *user_datatype);
 
 #ifdef __cplusplus
 }