root/ompi/mca/pml/ucx/pml_ucx_datatype.h

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

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. mca_pml_ucx_get_datatype

   1 /*
   2  * Copyright (C) Mellanox Technologies Ltd. 2001-2011.  ALL RIGHTS RESERVED.
   3  * $COPYRIGHT$
   4  *
   5  * Additional copyrights may follow
   6  *
   7  * $HEADER$
   8  */
   9 
  10 #ifndef PML_UCX_DATATYPE_H_
  11 #define PML_UCX_DATATYPE_H_
  12 
  13 #include "pml_ucx.h"
  14 
  15 
  16 #define PML_UCX_DATATYPE_INVALID   0
  17 
  18 struct pml_ucx_convertor {
  19     opal_free_list_item_t     super;
  20     ompi_datatype_t           *datatype;
  21     opal_convertor_t          opal_conv;
  22     size_t                    offset;
  23 };
  24 
  25 
  26 ucp_datatype_t mca_pml_ucx_init_datatype(ompi_datatype_t *datatype);
  27 
  28 int mca_pml_ucx_datatype_attr_del_fn(ompi_datatype_t* datatype, int keyval,
  29                                      void *attr_val, void *extra);
  30 
  31 OBJ_CLASS_DECLARATION(mca_pml_ucx_convertor_t);
  32 
  33 
  34 static inline ucp_datatype_t mca_pml_ucx_get_datatype(ompi_datatype_t *datatype)
  35 {
  36     ucp_datatype_t ucp_type = datatype->pml_data;
  37 
  38     if (OPAL_LIKELY(ucp_type != PML_UCX_DATATYPE_INVALID)) {
  39         return ucp_type;
  40     }
  41 
  42     return mca_pml_ucx_init_datatype(datatype);
  43 }
  44 
  45 #endif /* PML_UCX_DATATYPE_H_ */

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