13 #if !defined(MCA_BTL_UGNI_RDMA_H)
14 #define MCA_BTL_UGNI_RDMA_H
17 #include "btl_ugni_frag.h"
25 frag->base.
des_cbfunc(&frag->endpoint->btl->super, frag->endpoint, &frag->base, rc);
28 if (OPAL_LIKELY(frag->base.
des_flags & MCA_BTL_DES_FLAGS_BTL_OWNERSHIP)) {
29 mca_btl_ugni_frag_return (frag);
34 gni_post_type_t op_type,
36 gni_mem_handle_t *lcl_mdh,
38 gni_mem_handle_t *rem_mdh,
40 gni_cq_handle_t cq_hndl) {
41 frag->post_desc.base.type = op_type;
42 frag->post_desc.base.cq_mode = GNI_CQMODE_GLOBAL_EVENT;
43 frag->post_desc.base.dlvr_mode = GNI_DLVMODE_PERFORMANCE;
44 frag->post_desc.base.local_addr = (uint64_t) lcl_addr;
45 frag->post_desc.base.local_mem_hndl = *lcl_mdh;
46 frag->post_desc.base.remote_addr = (uint64_t) rem_addr;
47 frag->post_desc.base.remote_mem_hndl = *rem_mdh;
48 frag->post_desc.base.length = bufsize;
49 frag->post_desc.base.rdma_mode = 0;
50 frag->post_desc.base.src_cq_hndl = cq_hndl;
52 frag->post_desc.cbfunc = mca_btl_ugni_post_frag_complete;
53 frag->post_desc.endpoint = frag->endpoint->common;
54 frag->post_desc.tries = 0;
65 init_gni_post_desc (frag, op_type, lcl_seg->
seg_addr.lval,
66 (gni_mem_handle_t *)&lcl_seg->
seg_key.key64,
70 rc = GNI_PostFma (frag->endpoint->common->
ep_handle, &frag->post_desc.base);
71 if (GNI_RC_SUCCESS != rc) {
74 rc = OMPI_ERR_OUT_OF_RESOURCE;
86 init_gni_post_desc (frag, op_type, lcl_seg->
seg_addr.lval,
87 (gni_mem_handle_t *)&lcl_seg->
seg_key.key64,
89 lcl_seg->
seg_len, frag->endpoint->btl->bte_local_cq);
91 rc = GNI_PostRdma (frag->endpoint->common->
ep_handle, &frag->post_desc.base);
92 if (GNI_RC_SUCCESS != rc) {
93 rc = ompi_common_rc_ugni_to_ompi (rc);
94 BTL_ERROR((
"GNI_PostRdma failed with rc = %d", rc));
uint32_t des_flags
hints to BTL
Definition: btl.h:284
ompi_ptr_t seg_addr
Address of the memory.
Definition: btl.h:238
Definition: btl_ugni_frag.h:43
union mca_btl_base_segment_t::@93 seg_key
Memory segment key required by some RDMA networks.
uint32_t seg_len
Length in bytes.
Definition: btl.h:240
gni_ep_handle_t ep_handle
uGNI handle for this endpoint
Definition: common_ugni_ep.h:28
mca_btl_base_completion_fn_t des_cbfunc
local callback function
Definition: btl.h:281
Definition: common_ugni.h:81
Describes a region/segment of memory that is addressable by an BTL.
Definition: btl.h:236