This source file includes following definitions.
- MPI_Sendrecv
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 
  21 
  22 
  23 #include "ompi_config.h"
  24 
  25 #include <stdio.h>
  26 #include <string.h>
  27 
  28 #include "opal_stdint.h"
  29 
  30 #include "ompi/mpi/c/bindings.h"
  31 
  32 int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
  33                  int dest, int sendtag, void *recvbuf, int recvcount,
  34                  MPI_Datatype recvtype, int source, int recvtag,
  35                  MPI_Comm comm,  MPI_Status *status)
  36 {
  37     char sendtypename[MPI_MAX_OBJECT_NAME], recvtypename[MPI_MAX_OBJECT_NAME];
  38     char commname[MPI_MAX_OBJECT_NAME];
  39     int len;
  40     int rank;
  41     int size;
  42 
  43     PMPI_Comm_rank(MPI_COMM_WORLD, &rank);
  44     PMPI_Type_get_name(sendtype, sendtypename, &len);
  45     PMPI_Type_get_name(sendtype, recvtypename, &len);
  46     PMPI_Comm_get_name(comm, commname, &len);
  47     PMPI_Type_size(recvtype, &size);
  48 
  49     fprintf(stderr, "MPI_SENDRECV[%d]: sendbuf %0" PRIxPTR " sendcount %d sendtype %s dest %d sendtag %d\n\t"
  50            "recvbuf %0" PRIxPTR " recvcount %d recvtype %s source %d recvtag %d comm %s\n",
  51             rank, (uintptr_t) sendbuf, sendcount, sendtypename, dest, sendtag,
  52             (uintptr_t) recvbuf, recvcount, recvtypename, source, recvtag, commname);
  53     fflush(stderr);
  54 
  55     memset(recvbuf, 0, recvcount*size);
  56 
  57     return PMPI_Sendrecv(sendbuf, sendcount, sendtype, dest, sendtag,
  58                          recvbuf, recvcount, recvtype, source, recvtag,
  59                          comm, status);
  60 }