21 #ifndef MCA_BTL_TEMPLATE_H
22 #define MCA_BTL_TEMPLATE_H
24 #include "ompi_config.h"
25 #include <sys/types.h>
29 #include "opal/mca/event/event.h"
30 #include "ompi/class/ompi_free_list.h"
38 #define MCA_BTL_HAS_MPOOL 1
108 int *num_btl_modules,
109 bool allow_multi_user_threads,
110 bool have_hidden_threads
185 mca_btl_base_tag_t tag
229 mca_btl_base_tag_t tag,
A descriptor that holds the parameters to a send/put/get operation along w/ a callback routine that i...
Definition: btl.h:275
int template_free_list_max
maximum size of free lists
Definition: btl_template.h:56
BTL Module Interface.
Definition: btl_template.h:81
mca_btl_base_descriptor_t * mca_btl_template_prepare_src(struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *peer, struct mca_mpool_base_registration_t *, struct opal_convertor_t *convertor, uint8_t order, size_t reserve, size_t *size, uint32_t flags)
Prepare a descriptor for send/rdma using the supplied convertor.
Definition: btl_template.c:219
void(* mca_btl_base_module_recv_cb_fn_t)(struct mca_btl_base_module_t *btl, mca_btl_base_tag_t tag, mca_btl_base_descriptor_t *descriptor, void *cbdata)
Callback function that is called asynchronously on receipt of data by the transport layer...
Definition: btl.h:391
Definition: opal_bitmap.h:53
int mca_btl_template_del_procs(struct mca_btl_base_module_t *btl, size_t nprocs, struct ompi_proc_t **procs, struct mca_btl_base_endpoint_t **peers)
PML->BTL notification of change in the process list.
Definition: btl_template.c:131
mca_btl_base_module_t super
base BTL interface
Definition: btl_template.h:82
bool leave_pinned
pin memory on first use and leave pinned
Definition: btl_template.h:71
int mca_btl_template_add_procs(struct mca_btl_base_module_t *btl, size_t nprocs, struct ompi_proc_t **procs, struct mca_btl_base_endpoint_t **peers, opal_bitmap_t *reachable)
PML->BTL notification of change in the process list.
Definition: btl_template.c:69
opal_list_t template_procs
list of template proc structures
Definition: btl_template.h:62
Definition: mutex_unix.h:53
int mca_btl_template_ft_event(int state)
Fault Tolerance Event Notification Function.
Definition: btl_template.c:421
mca_btl_base_descriptor_t * mca_btl_template_prepare_dst(struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *peer, struct mca_mpool_base_registration_t *, struct opal_convertor_t *convertor, uint8_t order, size_t reserve, size_t *size, uint32_t flags)
Prepare a descriptor for send/rdma using the supplied convertor.
Definition: btl_template.c:309
char * template_mpool_name
name of memory pool
Definition: btl_template.h:68
Remote Open MPI process structure.
Definition: proc.h:56
int mca_btl_template_send(struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *btl_peer, struct mca_btl_base_descriptor_t *descriptor, mca_btl_base_tag_t tag)
Initiate an asynchronous send.
Definition: btl_template.c:348
int template_free_list_num
initial size of free lists
Definition: btl_template.h:53
Byte Transfer Layer (BTL)
struct mca_btl_template_module_t * template_btls
array of available BTL modules
Definition: btl_template.h:50
uint32_t template_num_btls
number of hcas available to the TEMPLATE component
Definition: btl_template.h:47
Definition: ompi_free_list.h:39
State of ELAN endpoint connection.
Definition: btl_elan_endpoint.h:33
BTL component descriptor.
Definition: btl.h:411
Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana University Research and Techno...
opal_mutex_t template_lock
lock for accessing module state
Definition: btl_template.h:65
Definition: opal_convertor.h:90
int mca_btl_template_component_progress(void)
TEMPLATE component progress.
Definition: btl_template_component.c:171
Definition: opal_list.h:147
mca_btl_base_component_2_0_0_t super
base BTL component
Definition: btl_template.h:45
int mca_btl_template_register(struct mca_btl_base_module_t *btl, mca_btl_base_tag_t tag, mca_btl_base_module_recv_cb_fn_t cbfunc, void *cbdata)
Register a callback function that is called on receipt of a fragment.
Definition: btl_template.c:145
BTL module interface functions and attributes.
Definition: btl.h:786
int template_free_list_inc
number of elements to alloc when growing free lists
Definition: btl_template.h:59
mca_btl_base_descriptor_t * mca_btl_template_alloc(struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *endpoint, uint8_t order, size_t size, uint32_t flags)
Allocate a descriptor with a segment of the requested size.
Definition: btl_template.c:162
int mca_btl_template_free(struct mca_btl_base_module_t *btl, mca_btl_base_descriptor_t *des)
Return a segment allocated by this BTL.
Definition: btl_template.c:192
int mca_btl_template_put(struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *btl_peer, struct mca_btl_base_descriptor_t *decriptor)
Initiate an asynchronous put.
Definition: btl_template.c:371
mca_btl_base_module_t ** mca_btl_template_component_init(int *num_btl_modules, bool allow_multi_user_threads, bool have_hidden_threads)
TEMPLATE component initialization.
Definition: btl_template_component.c:159
Infiniband (TEMPLATE) BTL component.
Definition: btl_template.h:44
mpool module descriptor.
Definition: mpool.h:174
int mca_btl_template_finalize(struct mca_btl_base_module_t *btl)
Cleanup any resources held by the BTL.
Definition: btl_template.c:410
int mca_btl_template_get(struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *btl_peer, struct mca_btl_base_descriptor_t *decriptor)
Initiate an asynchronous get.
Definition: btl_template.c:393