Commit 0279fc0c authored by Pavan Balaji's avatar Pavan Balaji
Browse files

[svn-r5669] Delete the older code for allgatherv (large messages) which has now

been replaced with the new pipelined algorithm for a few releases.

Reviewed by goodell.
parent caa39032
......@@ -365,16 +365,6 @@ if test $smpcoll = "yes" ; then
AC_DEFINE(USE_SMP_COLLECTIVES,1,[define to enable SMP/multi-core aware collectives])
fi
dnl Check for pipelined collectives
AC_ARG_ENABLE(pipecoll, [--enable-pipecoll - Enable support for pipelined collectives],
pipecoll=$enableval,
pipecoll=yes)
if test $pipecoll = "yes" ; then
AC_DEFINE(USE_PIPE_COLLECTIVES,1,[define to enable pipelined collectives])
fi
dnl
dnl The environment variable MPICH_DEBUGLIBNAME may be used to override the
dnl default name of the library that the debugger will load to access the
dnl MPICH2 internal data structures.
......
......@@ -694,8 +694,6 @@ int MPIR_Allgatherv (
MPIU_Free((char*)tmp_buf + recvtype_true_lb);
}
#ifdef USE_PIPE_COLLECTIVES
else {
/* long message or medium-size message and non-power-of-two
* no. of processes. Use ring algorithm. */
......@@ -806,49 +804,6 @@ int MPIR_Allgatherv (
}
}
}
#else /* This case is retained as its more tested; we should eventually discard it */
else { /* long message or medium-size message and non-power-of-two
* no. of processes. Use ring algorithm. */
int jnext;
if (sendbuf != MPI_IN_PLACE) {
/* First, load the "local" version in the recvbuf. */
mpi_errno = MPIR_Localcopy(sendbuf, sendcount, sendtype,
((char *)recvbuf + displs[rank]*recvtype_extent),
recvcounts[rank], recvtype);
/* --BEGIN ERROR HANDLING-- */
if (mpi_errno)
{
mpi_errno = MPIR_Err_create_code(mpi_errno, MPIR_ERR_RECOVERABLE, FCNAME, __LINE__, MPI_ERR_OTHER, "**fail", 0);
return mpi_errno;
}
/* --END ERROR HANDLING-- */
}
left = (comm_size + rank - 1) % comm_size;
right = (rank + 1) % comm_size;
j = rank;
jnext = left;
for (i=1; i<comm_size; i++) {
mpi_errno = MPIC_Sendrecv(((char *)recvbuf+displs[j]*recvtype_extent),
recvcounts[j], recvtype, right,
MPIR_ALLGATHERV_TAG,
((char *)recvbuf + displs[jnext]*recvtype_extent),
recvcounts[jnext], recvtype, left,
MPIR_ALLGATHERV_TAG, comm, &status );
/* --BEGIN ERROR HANDLING-- */
if (mpi_errno)
{
mpi_errno = MPIR_Err_create_code(mpi_errno, MPIR_ERR_RECOVERABLE, FCNAME, __LINE__, MPI_ERR_OTHER, "**fail", 0);
return mpi_errno;
}
/* --END ERROR HANDLING-- */
j = jnext;
jnext = (comm_size + jnext - 1) % comm_size;
}
}
#endif /* USE_PIPE_COLLECTIVES */
/* check if multiple threads are calling this collective function */
MPIDU_ERR_CHECK_MULTIPLE_THREADS_EXIT( comm_ptr );
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment