root/ompi/mca/vprotocol/pessimist/vprotocol_pessimist.h

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

INCLUDED FROM


   1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
   2 /*
   3  * Copyright (c) 2004-2007 The Trustees of the University of Tennessee.
   4  *                         All rights reserved.
   5  * Copyright (c) 2015      Los Alamos National Security, LLC. All rights
   6  *                         reserved.
   7  * Copyright (c) 2015      Research Organization for Information Science
   8  *                         and Technology (RIST). All rights reserved.
   9  * $COPYRIGHT$
  10  *
  11  * Additional copyrights may follow
  12  *
  13  * $HEADER$
  14  */
  15 
  16 #ifndef __INCLUDE_VPROTOCOL_PESSIMIST_H__
  17 #define __INCLUDE_VPROTOCOL_PESSIMIST_H__
  18 
  19 #include "ompi_config.h"
  20 #include "../vprotocol.h"
  21 #include "ompi/communicator/communicator.h"
  22 #include "ompi/datatype/ompi_datatype.h"
  23 
  24 #include "vprotocol_pessimist_event.h"
  25 #include "vprotocol_pessimist_sender_based_types.h"
  26 
  27 BEGIN_C_DECLS
  28 
  29 typedef struct mca_vprotocol_pessimist_module_t {
  30     mca_vprotocol_base_module_t super;
  31 
  32     /* Event clock */
  33     vprotocol_pessimist_clock_t clock;
  34 
  35     /* list of events to send to Event Logger */
  36     opal_list_t pending_events;
  37 
  38     /* output buffer for messages to event logger */
  39     ompi_communicator_t *el_comm;
  40     vprotocol_pessimist_mem_event_t *event_buffer;
  41     size_t event_buffer_length;
  42     size_t event_buffer_max_length;
  43 
  44     /* space for allocating events */
  45     opal_free_list_t events_pool;
  46 
  47     /* Sender Based repository */
  48     vprotocol_pessimist_sender_based_t sender_based;
  49 
  50     /* replay mode variables */
  51     bool replay;
  52     opal_list_t replay_events;
  53 } mca_vprotocol_pessimist_module_t;
  54 
  55 OMPI_DECLSPEC extern mca_vprotocol_pessimist_module_t mca_vprotocol_pessimist;
  56 OMPI_DECLSPEC extern mca_vprotocol_base_component_t mca_vprotocol_pessimist_component;
  57 
  58 int mca_vprotocol_pessimist_enable(bool enable);
  59 int mca_vprotocol_pessimist_dump(struct ompi_communicator_t* comm, int verbose);
  60 
  61 int mca_vprotocol_pessimist_add_procs(struct ompi_proc_t **procs, size_t nprocs);
  62 int mca_vprotocol_pessimist_del_procs(struct ompi_proc_t **procs, size_t nprocs);
  63 int mca_vprotocol_pessimist_progress(void);
  64 int mca_vprotocol_pessimist_add_comm(struct ompi_communicator_t* comm);
  65 int mca_vprotocol_pessimist_del_comm(struct ompi_communicator_t* comm);
  66 
  67 int mca_vprotocol_pessimist_irecv(void *addr,
  68                                   size_t count,
  69                                   ompi_datatype_t * datatype,
  70                                   int src,
  71                                   int tag,
  72                                   struct ompi_communicator_t *comm,
  73                                   struct ompi_request_t **request );
  74 int mca_vprotocol_pessimist_recv(void *addr,
  75                                  size_t count,
  76                                  ompi_datatype_t * datatype,
  77                                  int src,
  78                                  int tag,
  79                                  struct ompi_communicator_t *comm,
  80                                  ompi_status_public_t * status );
  81 
  82 int mca_vprotocol_pessimist_isend(const void *buf,
  83                                   size_t count,
  84                                   ompi_datatype_t* datatype,
  85                                   int dst,
  86                                   int tag,
  87                                   mca_pml_base_send_mode_t sendmode,
  88                                   ompi_communicator_t* comm,
  89                                   ompi_request_t** request );
  90 int mca_vprotocol_pessimist_send(const void *buf,
  91                                  size_t count,
  92                                  ompi_datatype_t* datatype,
  93                                  int dst,
  94                                  int tag,
  95                                  mca_pml_base_send_mode_t sendmode,
  96                                  ompi_communicator_t* comm );
  97 
  98 int mca_vprotocol_pessimist_iprobe(int src, int tag,
  99                                    struct ompi_communicator_t *comm,
 100                                    int *matched, ompi_status_public_t * status );
 101 int mca_vprotocol_pessimist_probe(int src, int tag,
 102                                   struct ompi_communicator_t *comm,
 103                                   ompi_status_public_t * status );
 104 
 105 END_C_DECLS
 106 
 107 #include "vprotocol_pessimist_wait.h"
 108 #include "vprotocol_pessimist_start.h"
 109 
 110 #include "vprotocol_pessimist_request.h"
 111 #include "vprotocol_pessimist_sender_based.h"
 112 #include "vprotocol_pessimist_eventlog.h"
 113 
 114 #endif /* __INCLUDE_VPROTOCOL_PESSIMIST_H__ */

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