This source file includes following definitions.
- mca_vprotocol_pessimist_isend
- mca_vprotocol_pessimist_send
1
2
3
4
5
6
7
8
9
10
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 }