Changeset 1642 for XIOS/dev/branch_openmp/extern/src_ep_dev/ep_scatterv.cpp
- Timestamp:
- 01/23/19 10:31:44 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_scatterv.cpp
r1539 r1642 76 76 std::vector<int>ranks(ep_size); 77 77 78 if(mpi_rank == root_mpi_rank) MPI_Gather_local(&ep_rank, 1, MPI_INT, local_ranks.data(), root_ep_loc, comm);79 else MPI_Gather_local(&ep_rank, 1, MPI_INT, local_ranks.data(), 0, comm);78 if(mpi_rank == root_mpi_rank) MPI_Gather_local(&ep_rank, 1, EP_INT, local_ranks.data(), root_ep_loc, comm); 79 else MPI_Gather_local(&ep_rank, 1, EP_INT, local_ranks.data(), 0, comm); 80 80 81 81 … … 94 94 my_displs[i] = my_displs[i-1] + recvcounts[i-1]; 95 95 96 ::MPI_Gatherv(local_ranks.data(), num_ep, to_mpi_type( MPI_INT), ranks.data(), recvcounts.data(), my_displs.data(), to_mpi_type(MPI_INT), root_mpi_rank, to_mpi_comm(comm->mpi_comm));96 ::MPI_Gatherv(local_ranks.data(), num_ep, to_mpi_type(EP_INT), ranks.data(), recvcounts.data(), my_displs.data(), to_mpi_type(EP_INT), root_mpi_rank, to_mpi_comm(comm->mpi_comm)); 97 97 } 98 98 … … 112 112 void* local_sendbuf; 113 113 int local_sendcount; 114 if(mpi_rank == root_mpi_rank) MPI_Reduce_local(&recvcount, &local_sendcount, 1, MPI_INT, MPI_SUM, root_ep_loc, comm);115 else MPI_Reduce_local(&recvcount, &local_sendcount, 1, MPI_INT, MPI_SUM, 0, comm);114 if(mpi_rank == root_mpi_rank) MPI_Reduce_local(&recvcount, &local_sendcount, 1, EP_INT, EP_SUM, root_ep_loc, comm); 115 else MPI_Reduce_local(&recvcount, &local_sendcount, 1, EP_INT, EP_SUM, 0, comm); 116 116 117 117 if(is_master) … … 119 119 local_sendbuf = new void*[datasize * local_sendcount]; 120 120 121 ::MPI_Gather(&local_sendcount, 1, to_mpi_type( MPI_INT), recvcounts.data(), 1, to_mpi_type(MPI_INT), root_mpi_rank, to_mpi_comm(comm->mpi_comm));121 ::MPI_Gather(&local_sendcount, 1, to_mpi_type(EP_INT), recvcounts.data(), 1, to_mpi_type(EP_INT), root_mpi_rank, to_mpi_comm(comm->mpi_comm)); 122 122 123 123 if(is_root) for(int i=1; i<mpi_size; i++) my_displs[i] = my_displs[i-1] + recvcounts[i-1]; … … 129 129 std::vector<int>local_displs(num_ep, 0); 130 130 131 MPI_Gather_local(&recvcount, 1, MPI_INT, local_sendcounts.data(), 0, comm);132 MPI_Bcast_local(local_sendcounts.data(), num_ep, MPI_INT, 0, comm);131 MPI_Gather_local(&recvcount, 1, EP_INT, local_sendcounts.data(), 0, comm); 132 MPI_Bcast_local(local_sendcounts.data(), num_ep, EP_INT, 0, comm); 133 133 for(int i=1; i<num_ep; i++) 134 134 local_displs[i] = local_displs[i-1] + local_sendcounts[i-1];
Note: See TracChangeset
for help on using the changeset viewer.