"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/mpi/coll/allgather_cuda_osu.c" between
mvapich2-2.3.1.tar.gz and mvapich2-2.3.2.tar.gz

About: MVAPICH2 offers "MPI over InfiniBand, 10GigE/iWARP and RDMA over Converged Ethernet (RoCE)" to achieve best performance, scalability and fault tolerance for high-end computing systems and servers.

allgather_cuda_osu.c  (mvapich2-2.3.1):allgather_cuda_osu.c  (mvapich2-2.3.2)
skipping to change at line 50 skipping to change at line 50
#undef FCNAME #undef FCNAME
#define FCNAME MPL_QUOTE(FUNCNAME) #define FCNAME MPL_QUOTE(FUNCNAME)
int MPIR_Allgather_cuda_intra_MV2(const void *sendbuf, int MPIR_Allgather_cuda_intra_MV2(const void *sendbuf,
int sendcount, int sendcount,
MPI_Datatype sendtype, MPI_Datatype sendtype,
void *recvbuf, void *recvbuf,
int recvcount, int recvcount,
MPI_Datatype recvtype, MPI_Datatype recvtype,
MPID_Comm * comm_ptr, MPIR_Errflag_t *errflag) MPID_Comm * comm_ptr, MPIR_Errflag_t *errflag)
{ {
MPIR_TIMER_START(coll,allgather,cuda);
int comm_size, rank; int comm_size, rank;
int mpi_errno = MPI_SUCCESS; int mpi_errno = MPI_SUCCESS;
int mpi_errno_ret = MPI_SUCCESS; int mpi_errno_ret = MPI_SUCCESS;
MPI_Aint recvtype_extent = 0; MPI_Aint recvtype_extent = 0;
int j, i; int j, i;
int curr_cnt, dst, left, right, jnext; int curr_cnt, dst, left, right, jnext;
int mask, dst_tree_root, my_tree_root, int mask, dst_tree_root, my_tree_root,
send_offset, recv_offset; send_offset, recv_offset;
int comm_size_is_pof2; int comm_size_is_pof2;
MPI_Status status; MPI_Status status;
int page_size = 0; int page_size = 0;
int result, max_size; int result, max_size;
MPID_Request *recv_req; MPID_Request *recv_req;
MPID_Request *send_req; MPID_Request *send_req;
cudaError_t cudaerr; cudaError_t cudaerr;
if (((sendcount == 0) && (sendbuf != MPI_IN_PLACE)) || (recvcount == 0)) { if (((sendcount == 0) && (sendbuf != MPI_IN_PLACE)) || (recvcount == 0)) {
MPIR_TIMER_END(coll,allgather,cuda);
return MPI_SUCCESS; return MPI_SUCCESS;
} }
comm_size = comm_ptr->local_size; comm_size = comm_ptr->local_size;
rank = comm_ptr->rank; rank = comm_ptr->rank;
comm_size_is_pof2 = comm_ptr->dev.ch.is_pof2; comm_size_is_pof2 = comm_ptr->dev.ch.is_pof2;
MPID_Datatype_get_extent_macro(recvtype, recvtype_extent); MPID_Datatype_get_extent_macro(recvtype, recvtype_extent);
/* check if multiple threads are calling this collective function */ /* check if multiple threads are calling this collective function */
skipping to change at line 429 skipping to change at line 431
mpi_errno = MPIR_Err_create_code(mpi_errno, MPIR_ERR_RECOVERABLE, FCNAME , mpi_errno = MPIR_Err_create_code(mpi_errno, MPIR_ERR_RECOVERABLE, FCNAME ,
__LINE__, MPI_ERR_OTHER, "**cudaEventRecord", 0); __LINE__, MPI_ERR_OTHER, "**cudaEventRecord", 0);
return mpi_errno; return mpi_errno;
} }
cudaEventSynchronize(cuda_nbstream_sync_event); cudaEventSynchronize(cuda_nbstream_sync_event);
/* check if multiple threads are calling this collective function */ /* check if multiple threads are calling this collective function */
MPIDU_ERR_CHECK_MULTIPLE_THREADS_EXIT(comm_ptr); MPIDU_ERR_CHECK_MULTIPLE_THREADS_EXIT(comm_ptr);
fn_fail: fn_fail:
MPIR_TIMER_END(coll,allgather,cuda);
return (mpi_errno); return (mpi_errno);
} }
/* end:nested */ /* end:nested */
#endif /* #if defined(CHANNEL_MRAIL) || defined(CHANNEL_PSM) */ #endif /* #if defined(CHANNEL_MRAIL) || defined(CHANNEL_PSM) */
#endif /*#ifdef(_ENABLE_CUDA_)*/ #endif /*#ifdef(_ENABLE_CUDA_)*/
 End of changes. 3 change blocks. 
0 lines changed or deleted 3 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)