root/ompi/mca/vprotocol/pessimist/vprotocol_pessimist_send.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. mca_vprotocol_pessimist_isend
  2. mca_vprotocol_pessimist_send

   1 /*
   2  * Copyright (c) 2004-2007 The Trustees of the University of Tennessee.
   3  *                         All rights reserved.
   4  * Copyright (c) 2015      Research Organization for Information Science
   5  *                         and Technology (RIST). All rights reserved.
   6  * $COPYRIGHT$
   7  *
   8  * Additional copyrights may follow
   9  *
  10  * $HEADER$
  11  */
  12 
  13 #include "ompi_config.h"
  14 #include "vprotocol_pessimist.h"
  15 #include "vprotocol_pessimist_sender_based.h"
  16 
  17 int mca_vprotocol_pessimist_isend(const void *buf,
  18                        size_t count,
  19                        ompi_datatype_t* datatype,
  20                        int dst,
  21                        int tag,
  22                        mca_pml_base_send_mode_t sendmode,
  23                        ompi_communicator_t* comm,
  24                        ompi_request_t** request )
  25 {
  26     int ret;
  27 
  28     V_OUTPUT_VERBOSE(50, "pessimist:\tisend\tposted\t%"PRIpclock"\tto %d\ttag %d\tsize %lu",
  29                      mca_vprotocol_pessimist.clock, dst, tag, (unsigned long) count);
  30 
  31     vprotocol_pessimist_event_flush();
  32     ret = mca_pml_v.host_pml.pml_isend(buf, count, datatype, dst, tag, sendmode,
  33                                        comm, request);
  34     VPESSIMIST_FTREQ_INIT(*request);
  35     vprotocol_pessimist_sender_based_copy_start(*request);
  36     return ret;
  37 }
  38 
  39 int mca_vprotocol_pessimist_send(const void *buf,
  40                       size_t count,
  41                       ompi_datatype_t* datatype,
  42                       int dst,
  43                       int tag,
  44                       mca_pml_base_send_mode_t sendmode,
  45                       ompi_communicator_t* comm )
  46 {
  47     ompi_request_t *request = MPI_REQUEST_NULL;
  48     int rc;
  49 
  50     V_OUTPUT_VERBOSE(50, "pessimist:\tsend\tposted\t%"PRIpclock"\tto %d\ttag %d\tsize %lu",
  51                      mca_vprotocol_pessimist.clock, dst, tag, (unsigned long) count);
  52 
  53     vprotocol_pessimist_event_flush();
  54     mca_pml_v.host_pml.pml_isend(buf, count, datatype, dst, tag, sendmode,
  55                                  comm, &request);
  56     VPESSIMIST_FTREQ_INIT(request);
  57     vprotocol_pessimist_sender_based_copy_start(request);
  58     VPROTOCOL_PESSIMIST_WAIT(&request, MPI_STATUS_IGNORE, rc);
  59     return rc;
  60 }

/* [<][>][^][v][top][bottom][index][help] */