diff options
Diffstat (limited to 'src/H5FP.c')
-rw-r--r-- | src/H5FP.c | 11 |
1 files changed, 5 insertions, 6 deletions
@@ -119,6 +119,8 @@ H5FPinit(MPI_Comm comm, int sap_rank, MPI_Comm *sap_comm, MPI_Comm *sap_barrier_ if ((mrc = MPI_Comm_rank(H5FP_SAP_COMM, (int *)&my_rank)) != MPI_SUCCESS) HMPI_GOTO_ERROR(FAIL, "MPI_Comm_rank failed", mrc); + H5FP_capt_barrier_rank = 0; + /* Get the rank of the captain in the barrier Comm */ if (H5FP_capt_rank == (unsigned)my_rank) if ((mrc = MPI_Comm_rank(H5FP_SAP_BARRIER_COMM, @@ -341,24 +343,21 @@ H5FP_commit_sap_datatypes(void) block_length[0] = 8; block_length[1] = 1; block_length[2] = 4; - block_length[3] = 1; - block_length[4] = sizeof(sap_req.oid); + block_length[3] = 2; old_types[0] = MPI_UNSIGNED; old_types[1] = MPI_UNSIGNED_LONG; old_types[2] = MPI_LONG_LONG_INT; old_types[3] = HADDR_AS_MPI_TYPE; - old_types[4] = MPI_UNSIGNED_CHAR; MPI_Address(&sap_req.req_id, &displs[0]); MPI_Address(&sap_req.feature_flags, &displs[1]); MPI_Address(&sap_req.meta_block_size, &displs[2]); MPI_Address(&sap_req.addr, &displs[3]); - MPI_Address(&sap_req.oid, &displs[4]); /* Calculate the displacements */ for (i = 4; i >= 0; --i) displs[i] -= displs[0]; - if (MPI_Type_struct(5, block_length, displs, old_types, &H5FP_request) != MPI_SUCCESS) + if (MPI_Type_struct(4, block_length, displs, old_types, &H5FP_request) != MPI_SUCCESS) HGOTO_ERROR(H5E_INTERNAL, H5E_MPI, FAIL, "MPI_Type_struct failed"); if (MPI_Type_commit(&H5FP_request) != MPI_SUCCESS) @@ -366,7 +365,7 @@ H5FP_commit_sap_datatypes(void) /* Commit the H5FP_reply datatype */ block_length[0] = 4; - old_types[0] = MPI_INT; + old_types[0] = MPI_UNSIGNED; MPI_Address(&sap_reply.req_id, &displs[0]); /* Calculate the displacements */ |