[mpich] MPICH primary repository branch, master, updated. v3.1b1-73-g5843db8
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "MPICH primary repository". The branch, master has been updated via 5843db8395af2574ac43a9b063f5d8bff5abd748 (commit) from 5f797bdc858d00b54c58c6cd329e7516e5e58ca8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://git.mpich.org/mpich.git/commitdiff/5843db8395af2574ac43a9b063f5d8bff5... commit 5843db8395af2574ac43a9b063f5d8bff5abd748 Author: Pavan Balaji <[email protected]> Date: Sat Sep 28 15:57:49 2013 -0500 Check for BUILTIN kinds, not just predefined datatypes. Some builtin kinds (e.g., MPI_DOUBLE_INT), can have extra padding when a vector of them is copied. So we need to use the extent for such types, not just the size. In this commit, we just simplify the optimization to only work on BUILTIN types, which do not have this issue. Signed-off-by: Xin Zhao <[email protected]> diff --git a/src/mpi/coll/helper_fns.c b/src/mpi/coll/helper_fns.c index e54b797..89fbcf3 100644 --- a/src/mpi/coll/helper_fns.c +++ b/src/mpi/coll/helper_fns.c @@ -75,8 +75,9 @@ int MPIR_Localcopy(const void *sendbuf, int sendcount, MPI_Datatype sendtype, #endif /* HAVE_ERROR_CHECKING */ copy_sz = sdata_sz; - /* Predefined types is the common case; optimize for it */ - if (MPIR_DATATYPE_IS_PREDEFINED(sendtype) && MPIR_DATATYPE_IS_PREDEFINED(recvtype)) { + /* Builtin types is the common case; optimize for it */ + if ((HANDLE_GET_KIND(sendtype) == HANDLE_KIND_BUILTIN) && + HANDLE_GET_KIND(recvtype) == HANDLE_KIND_BUILTIN) { MPIU_Memcpy(recvbuf, sendbuf, copy_sz); goto fn_exit; } ----------------------------------------------------------------------- Summary of changes: src/mpi/coll/helper_fns.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) hooks/post-receive -- MPICH primary repository
participants (1)
-
noreply@mpich.org