1
1
openmpi/ompi/mca/coll/self/coll_self_scatterv.c
Jeff Squyres 7c09923751 Updates:
- Handle MPI_IN_PLACE
- Use ompi_ddt_copy_content_same_ddt() where relevant

This commit was SVN r7349.
2005-09-13 19:39:49 +00:00

44 строки
1.4 KiB
C

/*
* Copyright (c) 2004-2005 The Trustees of Indiana University.
* All rights reserved.
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
* All rights reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/include/constants.h"
#include "coll_self.h"
#include "datatype/datatype.h"
/*
* scatterv_intra
*
* Function: - scatterv
* Accepts: - same arguments as MPI_Scatter()
* Returns: - MPI_SUCCESS or error code
*/
int mca_coll_self_scatterv_intra(void *sbuf, int *scounts,
int *disps, struct ompi_datatype_t *sdtype,
void *rbuf, int rcount,
struct ompi_datatype_t *rdtype, int root,
struct ompi_communicator_t *comm)
{
if (MPI_IN_PLACE == sbuf) {
return MPI_SUCCESS;
} else {
return ompi_ddt_sndrcv(((char *) sbuf) + disps[0], scounts[0], sdtype,
rbuf, rcount, rdtype);
}
}