diff --git a/api/v1.13/html/Architecture.png b/api/v1.13/html/Architecture.png new file mode 100644 index 00000000000..dd09d211c69 Binary files /dev/null and b/api/v1.13/html/Architecture.png differ diff --git a/api/v1.13/html/UCX_Logo_80x80.png b/api/v1.13/html/UCX_Logo_80x80.png new file mode 100644 index 00000000000..1a60fd766dd Binary files /dev/null and b/api/v1.13/html/UCX_Logo_80x80.png differ diff --git a/api/v1.13/html/annotated.html b/api/v1.13/html/annotated.html new file mode 100644 index 00000000000..ae4e354e29e --- /dev/null +++ b/api/v1.13/html/annotated.html @@ -0,0 +1,181 @@ + + + + + + + +UCX: Data Structures + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Cucp_am_handler_paramActive Message handler parameters passed to ucp_worker_set_am_recv_handler routine
 Cucp_am_recv_paramOperation parameters provided in ucp_am_recv_callback_t callback
 Cucp_conn_request_attrUCP listener's connection request attributes
 Cucp_context_attrContext attributes
 Cucp_dt_iovStructure for scatter-gather I/O
 Cucp_ep_attrUCP endpoint attributes
 Cucp_ep_evaluate_perf_attr_tUCP endpoint performance evaluation result attributes
 Cucp_ep_evaluate_perf_param_tUCP endpoint performance evaluation request attributes
 Cucp_ep_paramsTuning parameters for the UCP endpoint
 Cucp_err_handlerUCP endpoint error handling context
 Cucp_generic_dt_opsUCP generic data type descriptor
 Cucp_lib_attrLib attributes
 Cucp_listener_accept_handler
 Cucp_listener_attrUCP listener attributes
 Cucp_listener_conn_handlerUCP callback to handle the connection request in a client-server connection establishment flow
 Cucp_listener_paramsParameters for a UCP listener object
 Cucp_mem_advise_paramsTuning parameters for the UCP memory advice
 Cucp_mem_attrAttributes of the UCP Memory handle, filled by ucp_mem_query function
 Cucp_mem_map_paramsTuning parameters for the UCP memory mapping
 Cucp_paramsTuning parameters for UCP library
 Cucp_request_attr_tAttributes of a particular request
 Cucp_request_param_tOperation parameters passed to ucp_tag_send_nbx, ucp_tag_send_sync_nbx, ucp_tag_recv_nbx, ucp_put_nbx, ucp_get_nbx, ucp_am_send_nbx and ucp_am_recv_data_nbx
 Cucp_request_param_t.cb
 Cucp_request_param_t.recv_info
 Cucp_stream_poll_epOutput parameter of ucp_stream_worker_poll function
 Cucp_tag_recv_infoUCP receive information descriptor
 Cucp_worker_address_attrUCP worker address attributes
 Cucp_worker_attrUCP worker attributes
 Cucp_worker_paramsTuning parameters for the UCP worker
 Cucs_callbackq
 Cucs_callbackq_elem
 Cucs_config_allow_list_t
 Cucs_log_component_config
 Cucs_sock_addr
 Cuct_allocated_memoryDescribes a memory allocated by UCT
 Cuct_cm_attrConnection manager attributes, capabilities and limitations
 Cuct_cm_ep_client_connect_argsArguments to the client's connect callback
 Cuct_cm_ep_priv_data_pack_argsArguments to the client-server private data pack callback
 Cuct_cm_ep_resolve_argsArguments to the client-server resolved callback
 Cuct_cm_ep_server_conn_notify_argsArguments to the server's notify callback
 Cuct_cm_listener_conn_request_argsArguments to the listener's connection request callback
 Cuct_cm_remote_dataData received from the remote peer
 Cuct_completionCompletion handle
 Cuct_component_attrUCT component attributes
 Cuct_ep_connect_paramsParameters for connecting a UCT endpoint by uct_ep_connect
 Cuct_ep_paramsParameters for creating a UCT endpoint by uct_ep_create
 Cuct_iface_attrInterface attributes: capabilities and limitations
 Cuct_iface_attr.cap
 Cuct_iface_attr.cap.am
 Cuct_iface_attr.cap.atomic32
 Cuct_iface_attr.cap.atomic64
 Cuct_iface_attr.cap.get
 Cuct_iface_attr.cap.put
 Cuct_iface_attr.cap.tag
 Cuct_iface_attr.cap.tag.eager
 Cuct_iface_attr.cap.tag.recv
 Cuct_iface_attr.cap.tag.rndv
 Cuct_iface_paramsParameters used for interface creation
 Cuct_iface_params.mode
 Cuct_iface_params.mode.device
 Cuct_iface_params.mode.sockaddr
 Cuct_iovStructure for scatter-gather I/O
 Cuct_listener_attrUCT listener attributes, capabilities and limitations
 Cuct_listener_paramsParameters for creating a listener object uct_listener_h by uct_listener_create
 Cuct_md_attrMemory domain attributes
 Cuct_md_attr.cap
 Cuct_md_mem_attrMemory domain attributes
 Cuct_md_resource_descMemory domain resource descriptor
 Cuct_mem_alloc_params_tParameters for allocating memory using uct_mem_alloc
 Cuct_mem_alloc_params_t.mds
 Cuct_pending_reqPending request
 Cuct_ppn_bandwidth
 Cuct_rkey_bundleRemote key with its type
 Cuct_tag_contextPosted tag context
 Cuct_tl_resource_descCommunication resource descriptor
+
+
+
+ + + + diff --git a/api/v1.13/html/annotated_dup.js b/api/v1.13/html/annotated_dup.js new file mode 100644 index 00000000000..21f0dd9f325 --- /dev/null +++ b/api/v1.13/html/annotated_dup.js @@ -0,0 +1,78 @@ +var annotated_dup = +[ + [ "ucp_am_handler_param", "group___u_c_p___w_o_r_k_e_r.html#structucp__am__handler__param", "group___u_c_p___w_o_r_k_e_r_structucp__am__handler__param" ], + [ "ucp_am_recv_param", "group___u_c_p___w_o_r_k_e_r.html#structucp__am__recv__param", "group___u_c_p___w_o_r_k_e_r_structucp__am__recv__param" ], + [ "ucp_conn_request_attr", "group___u_c_p___w_o_r_k_e_r.html#structucp__conn__request__attr", "group___u_c_p___w_o_r_k_e_r_structucp__conn__request__attr" ], + [ "ucp_context_attr", "group___u_c_p___c_o_n_t_e_x_t.html#structucp__context__attr", "group___u_c_p___c_o_n_t_e_x_t_structucp__context__attr" ], + [ "ucp_dt_iov", "group___u_c_p___d_a_t_a_t_y_p_e.html#structucp__dt__iov", "group___u_c_p___d_a_t_a_t_y_p_e_structucp__dt__iov" ], + [ "ucp_ep_attr", "group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__attr", "group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__attr" ], + [ "ucp_ep_evaluate_perf_attr_t", "group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__evaluate__perf__attr__t", "group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__evaluate__perf__attr__t" ], + [ "ucp_ep_evaluate_perf_param_t", "group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__evaluate__perf__param__t", "group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__evaluate__perf__param__t" ], + [ "ucp_ep_params", "group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__params", "group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__params" ], + [ "ucp_err_handler", "group___u_c_p___c_o_m_m.html#structucp__err__handler", "group___u_c_p___c_o_m_m_structucp__err__handler" ], + [ "ucp_generic_dt_ops", "structucp__generic__dt__ops.html", "structucp__generic__dt__ops" ], + [ "ucp_lib_attr", "group___u_c_p___c_o_n_t_e_x_t.html#structucp__lib__attr", "group___u_c_p___c_o_n_t_e_x_t_structucp__lib__attr" ], + [ "ucp_listener_accept_handler", "group___u_c_p___w_o_r_k_e_r.html#structucp__listener__accept__handler", "group___u_c_p___w_o_r_k_e_r_structucp__listener__accept__handler" ], + [ "ucp_listener_attr", "group___u_c_p___w_o_r_k_e_r.html#structucp__listener__attr", "group___u_c_p___w_o_r_k_e_r_structucp__listener__attr" ], + [ "ucp_listener_conn_handler", "group___u_c_p___w_o_r_k_e_r.html#structucp__listener__conn__handler", "group___u_c_p___w_o_r_k_e_r_structucp__listener__conn__handler" ], + [ "ucp_listener_params", "group___u_c_p___w_o_r_k_e_r.html#structucp__listener__params", "group___u_c_p___w_o_r_k_e_r_structucp__listener__params" ], + [ "ucp_mem_advise_params", "group___u_c_p___m_e_m.html#structucp__mem__advise__params", "group___u_c_p___m_e_m_structucp__mem__advise__params" ], + [ "ucp_mem_attr", "group___u_c_p___m_e_m.html#structucp__mem__attr", "group___u_c_p___m_e_m_structucp__mem__attr" ], + [ "ucp_mem_map_params", "group___u_c_p___m_e_m.html#structucp__mem__map__params", "group___u_c_p___m_e_m_structucp__mem__map__params" ], + [ "ucp_params", "group___u_c_p___c_o_n_f_i_g.html#structucp__params", "group___u_c_p___c_o_n_f_i_g_structucp__params" ], + [ "ucp_request_attr_t", "group___u_c_p___c_o_m_m.html#structucp__request__attr__t", "group___u_c_p___c_o_m_m_structucp__request__attr__t" ], + [ "ucp_request_param_t", "group___u_c_p___c_o_n_t_e_x_t.html#structucp__request__param__t", "group___u_c_p___c_o_n_t_e_x_t_structucp__request__param__t" ], + [ "ucp_request_param_t.cb", "group___u_c_p___c_o_n_t_e_x_t.html#unionucp__request__param__t_8cb", "group___u_c_p___c_o_n_t_e_x_t_unionucp__request__param__t_8cb" ], + [ "ucp_request_param_t.recv_info", "group___u_c_p___c_o_n_t_e_x_t.html#unionucp__request__param__t_8recv__info", "group___u_c_p___c_o_n_t_e_x_t_unionucp__request__param__t_8recv__info" ], + [ "ucp_stream_poll_ep", "group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__stream__poll__ep", "group___u_c_p___e_n_d_p_o_i_n_t_structucp__stream__poll__ep" ], + [ "ucp_tag_recv_info", "group___u_c_p___c_o_n_t_e_x_t.html#structucp__tag__recv__info", "group___u_c_p___c_o_n_t_e_x_t_structucp__tag__recv__info" ], + [ "ucp_worker_address_attr", "group___u_c_p___w_o_r_k_e_r.html#structucp__worker__address__attr", "group___u_c_p___w_o_r_k_e_r_structucp__worker__address__attr" ], + [ "ucp_worker_attr", "group___u_c_p___w_o_r_k_e_r.html#structucp__worker__attr", "group___u_c_p___w_o_r_k_e_r_structucp__worker__attr" ], + [ "ucp_worker_params", "group___u_c_p___w_o_r_k_e_r.html#structucp__worker__params", "group___u_c_p___w_o_r_k_e_r_structucp__worker__params" ], + [ "ucs_callbackq", "namespace_3global_scope_4.html#structucs__callbackq", "namespace_3global_scope_4_structucs__callbackq" ], + [ "ucs_callbackq_elem", "namespace_3global_scope_4.html#structucs__callbackq__elem", "namespace_3global_scope_4_structucs__callbackq__elem" ], + [ "ucs_config_allow_list_t", "namespace_3global_scope_4.html#structucs__config__allow__list__t", "namespace_3global_scope_4_structucs__config__allow__list__t" ], + [ "ucs_log_component_config", "namespace_3global_scope_4.html#structucs__log__component__config", "namespace_3global_scope_4_structucs__log__component__config" ], + [ "ucs_sock_addr", "group___u_c_s___r_e_s_o_u_r_c_e.html#structucs__sock__addr", "group___u_c_s___r_e_s_o_u_r_c_e_structucs__sock__addr" ], + [ "uct_allocated_memory", "group___u_c_t___m_d.html#structuct__allocated__memory", "group___u_c_t___m_d_structuct__allocated__memory" ], + [ "uct_cm_attr", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__attr", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__attr" ], + [ "uct_cm_ep_client_connect_args", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__client__connect__args", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__client__connect__args" ], + [ "uct_cm_ep_priv_data_pack_args", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__priv__data__pack__args", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__priv__data__pack__args" ], + [ "uct_cm_ep_resolve_args", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__resolve__args", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__resolve__args" ], + [ "uct_cm_ep_server_conn_notify_args", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__server__conn__notify__args", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__server__conn__notify__args" ], + [ "uct_cm_listener_conn_request_args", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__listener__conn__request__args", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__listener__conn__request__args" ], + [ "uct_cm_remote_data", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__remote__data", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__remote__data" ], + [ "uct_completion", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__completion", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__completion" ], + [ "uct_component_attr", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__component__attr", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__component__attr" ], + [ "uct_ep_connect_params", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__ep__connect__params", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__ep__connect__params" ], + [ "uct_ep_params", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__ep__params", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__ep__params" ], + [ "uct_iface_attr", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr" ], + [ "uct_iface_attr.cap", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap" ], + [ "uct_iface_attr.cap.am", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8am", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8am" ], + [ "uct_iface_attr.cap.atomic32", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8atomic32", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8atomic32" ], + [ "uct_iface_attr.cap.atomic64", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8atomic64", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8atomic64" ], + [ "uct_iface_attr.cap.get", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8get", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8get" ], + [ "uct_iface_attr.cap.put", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8put", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8put" ], + [ "uct_iface_attr.cap.tag", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag" ], + [ "uct_iface_attr.cap.tag.eager", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag_8eager", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag_8eager" ], + [ "uct_iface_attr.cap.tag.recv", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag_8recv", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag_8recv" ], + [ "uct_iface_attr.cap.tag.rndv", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag_8rndv", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag_8rndv" ], + [ "uct_iface_params", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__params", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__params" ], + [ "uct_iface_params.mode", "group___u_c_t___r_e_s_o_u_r_c_e.html#unionuct__iface__params_8mode", "group___u_c_t___r_e_s_o_u_r_c_e_unionuct__iface__params_8mode" ], + [ "uct_iface_params.mode.device", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__params_8mode_8device", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__params_8mode_8device" ], + [ "uct_iface_params.mode.sockaddr", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__params_8mode_8sockaddr", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__params_8mode_8sockaddr" ], + [ "uct_iov", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iov", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__iov" ], + [ "uct_listener_attr", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__listener__attr", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__listener__attr" ], + [ "uct_listener_params", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__listener__params", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__listener__params" ], + [ "uct_md_attr", "group___u_c_t___m_d.html#structuct__md__attr", "group___u_c_t___m_d_structuct__md__attr" ], + [ "uct_md_attr.cap", "group___u_c_t___m_d.html#structuct__md__attr_8cap", "group___u_c_t___m_d_structuct__md__attr_8cap" ], + [ "uct_md_mem_attr", "group___u_c_t___m_d.html#structuct__md__mem__attr", "group___u_c_t___m_d_structuct__md__mem__attr" ], + [ "uct_md_resource_desc", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__md__resource__desc", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__md__resource__desc" ], + [ "uct_mem_alloc_params_t", "group___u_c_t___m_d.html#structuct__mem__alloc__params__t", "group___u_c_t___m_d_structuct__mem__alloc__params__t" ], + [ "uct_mem_alloc_params_t.mds", "group___u_c_t___m_d.html#structuct__mem__alloc__params__t_8mds", "group___u_c_t___m_d_structuct__mem__alloc__params__t_8mds" ], + [ "uct_pending_req", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__pending__req", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__pending__req" ], + [ "uct_ppn_bandwidth", "namespace_3global_scope_4.html#structuct__ppn__bandwidth", "namespace_3global_scope_4_structuct__ppn__bandwidth" ], + [ "uct_rkey_bundle", "group___u_c_t___m_d.html#structuct__rkey__bundle", "group___u_c_t___m_d_structuct__rkey__bundle" ], + [ "uct_tag_context", "structuct__tag__context.html", "structuct__tag__context" ], + [ "uct_tl_resource_desc", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__tl__resource__desc", "group___u_c_t___r_e_s_o_u_r_c_e_structuct__tl__resource__desc" ] +]; \ No newline at end of file diff --git a/api/v1.13/html/async__fwd_8h_source.html b/api/v1.13/html/async__fwd_8h_source.html new file mode 100644 index 00000000000..7985ef0c471 --- /dev/null +++ b/api/v1.13/html/async__fwd_8h_source.html @@ -0,0 +1,166 @@ + + + + + + + +UCX: async_fwd.h Source File + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
async_fwd.h
+
+
+
1 
+
7 #ifndef UCS_ASYNC_FWD_H
+
8 #define UCS_ASYNC_FWD_H
+
9 
+
10 #include <ucs/config/types.h>
+
11 #include <ucs/time/time_def.h>
+
12 #include <ucs/type/status.h>
+
13 #include <ucs/sys/event_set.h>
+
14 
+
15 BEGIN_C_DECLS
+
16 
+
20 #define UCS_ASYNC_PTHREAD_ID_NULL ((pthread_t)-1)
+
21 
+
22 
+
23 typedef struct ucs_async_context ucs_async_context_t;
+
24 
+
25 
+
35 typedef void (*ucs_async_event_cb_t)(int id, ucs_event_set_types_t events,
+
36  void *arg);
+
37 
+
38 
+
55 ucs_status_t ucs_async_set_event_handler(ucs_async_mode_t mode, int event_fd,
+
56  ucs_event_set_types_t events,
+
57  ucs_async_event_cb_t cb, void *arg,
+
58  ucs_async_context_t *async);
+
59 
+
60 
+
76 ucs_status_t ucs_async_add_timer(ucs_async_mode_t mode, ucs_time_t interval,
+
77  ucs_async_event_cb_t cb, void *arg,
+
78  ucs_async_context_t *async, int *timer_id_p);
+
79 
+
80 
+
94 ucs_status_t ucs_async_remove_handler(int id, int sync);
+
95 
+
96 
+
107 ucs_status_t ucs_async_modify_handler(int fd, ucs_event_set_types_t events);
+
108 
+
109 
+
123 ucs_status_t ucs_async_context_create(ucs_async_mode_t mode,
+
124  ucs_async_context_t **async_p);
+
125 
+
126 
+
136 void ucs_async_context_destroy(ucs_async_context_t *async);
+
137 
+
138 
+
146 void ucs_async_poll(ucs_async_context_t *async);
+
147 
+
148 
+
149 void __ucs_async_poll_missed(ucs_async_context_t *async);
+
150 
+
151 END_C_DECLS
+
152 
+
153 #endif
+
+
+
ucs_async_event_cb_t
void(* ucs_async_event_cb_t)(int id, ucs_event_set_types_t events, void *arg)
Definition: async_fwd.h:35
+
ucs_async_modify_handler
ucs_status_t ucs_async_modify_handler(int fd, ucs_event_set_types_t events)
+
ucs_async_remove_handler
ucs_status_t ucs_async_remove_handler(int id, int sync)
+
ucs_time_t
unsigned long ucs_time_t
Definition: time_def.h:23
+
ucs_async_set_event_handler
ucs_status_t ucs_async_set_event_handler(ucs_async_mode_t mode, int event_fd, ucs_event_set_types_t events, ucs_async_event_cb_t cb, void *arg, ucs_async_context_t *async)
+
ucs_status_t
ucs_status_t
Status codes.
Definition: status.h:45
+
ucs_async_context_create
ucs_status_t ucs_async_context_create(ucs_async_mode_t mode, ucs_async_context_t **async_p)
Create an asynchronous execution context.
+
ucs_async_context_destroy
void ucs_async_context_destroy(ucs_async_context_t *async)
Destroy the asynchronous execution context.
+
ucs_async_add_timer
ucs_status_t ucs_async_add_timer(ucs_async_mode_t mode, ucs_time_t interval, ucs_async_event_cb_t cb, void *arg, ucs_async_context_t *async, int *timer_id_p)
+
ucs_async_poll
void ucs_async_poll(ucs_async_context_t *async)
+ + + + diff --git a/api/v1.13/html/bc_s.png b/api/v1.13/html/bc_s.png new file mode 100644 index 00000000000..224b29aa984 Binary files /dev/null and b/api/v1.13/html/bc_s.png differ diff --git a/api/v1.13/html/bdwn.png b/api/v1.13/html/bdwn.png new file mode 100644 index 00000000000..940a0b95044 Binary files /dev/null and b/api/v1.13/html/bdwn.png differ diff --git a/api/v1.13/html/callbackq_8h_source.html b/api/v1.13/html/callbackq_8h_source.html new file mode 100644 index 00000000000..4e3f1150fcc --- /dev/null +++ b/api/v1.13/html/callbackq_8h_source.html @@ -0,0 +1,213 @@ + + + + + + + +UCX: callbackq.h Source File + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
callbackq.h
+
+
+
1 
+
8 #ifndef UCS_CALLBACKQ_H
+
9 #define UCS_CALLBACKQ_H
+
10 
+
11 #include <ucs/datastruct/list.h>
+
12 #include <ucs/sys/compiler_def.h>
+
13 #include <ucs/type/status.h>
+
14 #include <stddef.h>
+
15 #include <stdint.h>
+
16 
+
17 BEGIN_C_DECLS
+
18 
+
21 /*
+
22  * Thread-safe callback queue:
+
23  * - only one thread can dispatch
+
24  * - any thread can add and remove
+
25  * - add/remove operations are O(1)
+
26  */
+
27 
+
28 #define UCS_CALLBACKQ_FAST_COUNT 7 /* Max. number of fast-path callbacks */
+
29 #define UCS_CALLBACKQ_ID_NULL (-1) /* Invalid callback identifier */
+
30 
+
31 
+
32 /*
+
33  * Forward declarations
+
34  */
+
35 typedef struct ucs_callbackq ucs_callbackq_t;
+ +
37 
+
38 
+
48 typedef unsigned (*ucs_callback_t)(void *arg);
+
49 
+
50 
+
59 typedef int (*ucs_callbackq_predicate_t)(const ucs_callbackq_elem_t *elem,
+
60  void *arg);
+
61 
+
62 
+ +
68  UCS_CALLBACKQ_FLAG_FAST = UCS_BIT(0),
+ +
71 };
+
72 
+
73 
+ +
78  ucs_callback_t cb;
+
79  void *arg;
+
80  unsigned flags;
+
81  int id;
+
82 };
+
83 
+
84 
+
88 struct ucs_callbackq {
+
93  ucs_callbackq_elem_t fast_elems[UCS_CALLBACKQ_FAST_COUNT + 1];
+
94 
+
99  char priv[72];
+
100 };
+
101 
+
102 
+
108 ucs_status_t ucs_callbackq_init(ucs_callbackq_t *cbq);
+
109 
+
110 
+
116 void ucs_callbackq_cleanup(ucs_callbackq_t *cbq);
+
117 
+
118 
+
132 int ucs_callbackq_add(ucs_callbackq_t *cbq, ucs_callback_t cb, void *arg,
+
133  unsigned flags);
+
134 
+
135 
+
146 void ucs_callbackq_remove(ucs_callbackq_t *cbq, int id);
+
147 
+
148 
+
162 int ucs_callbackq_add_safe(ucs_callbackq_t *cbq, ucs_callback_t cb, void *arg,
+
163  unsigned flags);
+
164 
+
165 
+
176 void ucs_callbackq_remove_safe(ucs_callbackq_t *cbq, int id);
+
177 
+
178 
+
191 void ucs_callbackq_remove_if(ucs_callbackq_t *cbq, ucs_callbackq_predicate_t pred,
+
192  void *arg);
+
193 
+
194 
+
203 static inline unsigned ucs_callbackq_dispatch(ucs_callbackq_t *cbq)
+
204 {
+
205  ucs_callbackq_elem_t *elem;
+
206  ucs_callback_t cb;
+
207  unsigned count;
+
208 
+
209  count = 0;
+
210  for (elem = cbq->fast_elems; (cb = elem->cb) != NULL; ++elem) {
+
211  count += cb(elem->arg);
+
212  }
+
213  return count;
+
214 }
+
215 
+
216 END_C_DECLS
+
217 
+
218 #endif
+
+
+
ucs_callbackq_elem::arg
void * arg
Definition: callbackq.h:79
+
ucs_callbackq_flags
ucs_callbackq_flags
Definition: callbackq.h:67
+
UCS_CALLBACKQ_FLAG_FAST
@ UCS_CALLBACKQ_FLAG_FAST
Definition: callbackq.h:68
+
ucs_callbackq::fast_elems
ucs_callbackq_elem_t fast_elems[UCS_CALLBACKQ_FAST_COUNT+1]
Definition: callbackq.h:93
+
ucs_callbackq_elem::cb
ucs_callback_t cb
Definition: callbackq.h:78
+
ucs_callbackq::priv
char priv[72]
Definition: callbackq.h:99
+
ucs_status_t
ucs_status_t
Status codes.
Definition: status.h:45
+
UCS_CALLBACKQ_FLAG_ONESHOT
@ UCS_CALLBACKQ_FLAG_ONESHOT
Definition: callbackq.h:69
+
ucs_callbackq_elem::flags
unsigned flags
Definition: callbackq.h:80
+
ucs_callbackq
Definition: callbackq.h:88
+
ucs_callbackq_elem
Definition: callbackq.h:77
+
ucs_callbackq_elem::id
int id
Definition: callbackq.h:81
+ + + + diff --git a/api/v1.13/html/classes.html b/api/v1.13/html/classes.html new file mode 100644 index 00000000000..e959e70c7ad --- /dev/null +++ b/api/v1.13/html/classes.html @@ -0,0 +1,200 @@ + + + + + + + +UCX: Data Structure Index + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Data Structure Index
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  u  
+
ucp_listener_conn_handler   ucs_callbackq_elem   uct_iface_attr   uct_listener_attr   
ucp_listener_params   ucs_config_allow_list_t   uct_iface_attr.cap   uct_listener_params   
ucp_am_handler_param   ucp_mem_advise_params   ucs_log_component_config   uct_iface_attr.cap.am   uct_md_attr   
ucp_am_recv_param   ucp_mem_attr   ucs_sock_addr   uct_iface_attr.cap.atomic32   uct_md_attr.cap   
ucp_conn_request_attr   ucp_mem_map_params   uct_allocated_memory   uct_iface_attr.cap.atomic64   uct_md_mem_attr   
ucp_context_attr   ucp_params   uct_cm_attr   uct_iface_attr.cap.get   uct_md_resource_desc   
ucp_dt_iov   ucp_request_attr_t   uct_cm_ep_client_connect_args   uct_iface_attr.cap.put   uct_mem_alloc_params_t   
ucp_ep_attr   ucp_request_param_t   uct_cm_ep_priv_data_pack_args   uct_iface_attr.cap.tag   uct_mem_alloc_params_t.mds   
ucp_ep_evaluate_perf_attr_t   ucp_request_param_t.cb   uct_cm_ep_resolve_args   uct_iface_attr.cap.tag.eager   uct_pending_req   
ucp_ep_evaluate_perf_param_t   ucp_request_param_t.recv_info   uct_cm_ep_server_conn_notify_args   uct_iface_attr.cap.tag.recv   uct_ppn_bandwidth   
ucp_ep_params   ucp_stream_poll_ep   uct_cm_listener_conn_request_args   uct_iface_attr.cap.tag.rndv   uct_rkey_bundle   
ucp_err_handler   ucp_tag_recv_info   uct_cm_remote_data   uct_iface_params   uct_tag_context   
ucp_generic_dt_ops   ucp_worker_address_attr   uct_completion   uct_iface_params.mode   uct_tl_resource_desc   
ucp_lib_attr   ucp_worker_attr   uct_component_attr   uct_iface_params.mode.device   
ucp_listener_accept_handler   ucp_worker_params   uct_ep_connect_params   uct_iface_params.mode.sockaddr   
ucp_listener_attr   ucs_callbackq   uct_ep_params   uct_iov   
+ +
+
+ + + + diff --git a/api/v1.13/html/closed.png b/api/v1.13/html/closed.png new file mode 100644 index 00000000000..98cc2c909da Binary files /dev/null and b/api/v1.13/html/closed.png differ diff --git a/api/v1.13/html/compiler__def_8h_source.html b/api/v1.13/html/compiler__def_8h_source.html new file mode 100644 index 00000000000..438a4292302 --- /dev/null +++ b/api/v1.13/html/compiler__def_8h_source.html @@ -0,0 +1,263 @@ + + + + + + + +UCX: compiler_def.h Source File + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
compiler_def.h
+
+
+
1 
+
9 #ifndef UCS_COMPILER_DEF_H
+
10 #define UCS_COMPILER_DEF_H
+
11 
+
12 /* Note: Place "@file <file name>.h" after BEGIN_C_DECS
+
13  * to avoid bugs in a documentation */
+
14 #ifdef __cplusplus
+
15 # define BEGIN_C_DECLS extern "C" {
+
16 # define END_C_DECLS }
+
17 #else
+
18 # define BEGIN_C_DECLS
+
19 # define END_C_DECLS
+
20 #endif
+
21 
+
22 /*
+
23  * Assertions which are checked in compile-time
+
24  *
+
25  * Usage: UCS_STATIC_ASSERT(condition)
+
26  */
+
27 #define UCS_STATIC_ASSERT(_cond) \
+
28  switch(0) {case 0:case (_cond):;}
+
29 
+
30 /* Maximal allocation size for on-stack buffers */
+
31 #define UCS_ALLOCA_MAX_SIZE 1200
+
32 
+
33 /* Aliasing structure */
+
34 #define UCS_S_MAY_ALIAS __attribute__((may_alias))
+
35 
+
36 /* A function without side effects */
+
37 #define UCS_F_PURE __attribute__((pure))
+
38 
+
39 /* A function which does not return */
+
40 #define UCS_F_NORETURN __attribute__((noreturn))
+
41 
+
42 /* Packed structure */
+
43 #define UCS_S_PACKED __attribute__((packed))
+
44 
+
45 /* Avoid inlining the function */
+
46 #define UCS_F_NOINLINE __attribute__ ((noinline))
+
47 
+
48 /* Shared library constructor and destructor */
+
49 #define UCS_F_CTOR __attribute__((constructor))
+
50 #define UCS_F_DTOR __attribute__((destructor))
+
51 
+
52 /* Silence "defined but not used" error for static function */
+
53 #define UCS_F_MAYBE_UNUSED __attribute__((used))
+
54 
+
55 /* Non-null return */
+
56 #define UCS_F_NON_NULL __attribute__((nonnull))
+
57 
+
58 /* Always inline the function */
+
59 #ifdef __GNUC__
+
60 #define UCS_F_ALWAYS_INLINE inline __attribute__ ((always_inline))
+
61 #else
+
62 #define UCS_F_ALWAYS_INLINE inline
+
63 #endif
+
64 
+
65 /* Silence "uninitialized variable" for stupid compilers (gcc 4.1)
+
66  * which can't optimize properly.
+
67  */
+
68 #if (((__GNUC__ == 4) && (__GNUC_MINOR__ == 1)) || !defined(__OPTIMIZE__))
+
69 # define UCS_V_INITIALIZED(_v) (_v = (ucs_typeof(_v))0)
+
70 #else
+
71 # define UCS_V_INITIALIZED(_v) ((void)0)
+
72 #endif
+
73 
+
74 /* The i-th bit */
+
75 #define UCS_BIT(i) (1ul << (i))
+
76 
+
77 /* Mask of bits 0..i-1 */
+
78 #define UCS_MASK(i) (UCS_BIT(i) - 1)
+
79 
+
80 /*
+
81  * Enable compiler checks for printf-like formatting.
+
82  *
+
83  * @param fmtargN number of formatting argument
+
84  * @param vargN number of variadic argument
+
85  */
+
86 #define UCS_F_PRINTF(fmtargN, vargN) __attribute__((format(printf, fmtargN, vargN)))
+
87 
+
88 /* Unused variable */
+
89 #define UCS_V_UNUSED __attribute__((unused))
+
90 
+
91 /* Aligned variable */
+
92 #define UCS_V_ALIGNED(_align) __attribute__((aligned(_align)))
+
93 
+
94 /* Used for labels */
+
95 #define UCS_EMPTY_STATEMENT {}
+
96 
+
97 /* Helper macro for address arithmetic in bytes */
+
98 #define UCS_PTR_BYTE_OFFSET(_ptr, _offset) \
+
99  ((void *)((intptr_t)(_ptr) + (intptr_t)(_offset)))
+
100 
+
101 /* Helper macro to calculate an address with offset equal to size of _type */
+
102 #define UCS_PTR_TYPE_OFFSET(_ptr, _type) \
+
103  ((void *)((ucs_typeof(_type) *)(_ptr) + 1))
+
104 
+
105 /* Helper macro to calculate ptr difference (_end - _start) */
+
106 #define UCS_PTR_BYTE_DIFF(_start, _end) \
+
107  ((ptrdiff_t)((uintptr_t)(_end) - (uintptr_t)(_start)))
+
108 
+
109 
+
113 #define ucs_static_array_size(_array) \
+
114  (sizeof(_array) / sizeof((_array)[0]))
+
115 
+
116 
+
120 #define ucs_offsetof(_type, _member) \
+
121  ((unsigned long)&( ((_type*)0)->_member ))
+
122 
+
123 
+
133 #define ucs_container_of(_ptr, _type, _member) \
+
134  ( (_type*)( (char*)(void*)(_ptr) - ucs_offsetof(_type, _member) ) )
+
135 
+
136 
+
144 #define ucs_typeof(_type) \
+
145  __typeof__(_type)
+
146 
+
147 
+
153 #define ucs_derived_of(_ptr, _type) \
+
154  ({\
+
155  UCS_STATIC_ASSERT(offsetof(_type, super) == 0) \
+
156  ucs_container_of(_ptr, _type, super); \
+
157  })
+
158 
+
165 #define ucs_field_sizeof(_type, _field) \
+
166  sizeof(((_type*)0)->_field)
+
167 
+
174 #define ucs_field_type(_type, _field) \
+
175  ucs_typeof(((_type*)0)->_field)
+
176 
+
180 #define ucs_compiler_fence() asm volatile(""::: "memory")
+
181 
+
185 #define ucs_prefetch(p) __builtin_prefetch(p)
+
186 
+
187 /* Branch prediction */
+
188 #define ucs_likely(x) __builtin_expect(x, 1)
+
189 #define ucs_unlikely(x) __builtin_expect(x, 0)
+
190 
+
191 /* Check if an expression is a compile-time constant */
+
192 #define ucs_is_constant(expr) __builtin_constant_p(expr)
+
193 
+
194 /*
+
195  * Define code which runs at global constructor phase
+
196  */
+
197 #define UCS_STATIC_INIT \
+
198  static void UCS_F_CTOR UCS_PP_APPEND_UNIQUE_ID(ucs_initializer_ctor)()
+
199 
+
200 /*
+
201  * Define code which runs at global destructor phase
+
202  */
+
203 #define UCS_STATIC_CLEANUP \
+
204  static void UCS_F_DTOR UCS_PP_APPEND_UNIQUE_ID(ucs_initializer_dtor)()
+
205 
+
206 /*
+
207  * Check if the two types are the same
+
208  */
+
209 #define ucs_same_type(_type1, _type2) \
+
210  __builtin_types_compatible_p(_type1, _type2)
+
211 
+
212 #endif /* UCS_COMPILER_DEF_H */
+
+
+ + + + diff --git a/api/v1.13/html/deprecated.html b/api/v1.13/html/deprecated.html new file mode 100644 index 00000000000..7306e0807a6 --- /dev/null +++ b/api/v1.13/html/deprecated.html @@ -0,0 +1,145 @@ + + + + + + + +UCX: Deprecated List + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Deprecated List
+
+
+
+
Global ucp_atomic_add32 (ucp_ep_h ep, uint32_t add, uint64_t remote_addr, ucp_rkey_h rkey)
+
Replaced by ucp_atomic_post with opcode UCP_ATOMIC_POST_OP_ADD.
+
Global ucp_atomic_add64 (ucp_ep_h ep, uint64_t add, uint64_t remote_addr, ucp_rkey_h rkey)
+
Replaced by ucp_atomic_post with opcode UCP_ATOMIC_POST_OP_ADD.
+
Global ucp_atomic_cswap32 (ucp_ep_h ep, uint32_t compare, uint32_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint32_t *result)
+
Replaced by ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_CSWAP.
+
Global ucp_atomic_cswap64 (ucp_ep_h ep, uint64_t compare, uint64_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint64_t *result)
+
Replaced by ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_CSWAP.
+
Global ucp_atomic_fadd32 (ucp_ep_h ep, uint32_t add, uint64_t remote_addr, ucp_rkey_h rkey, uint32_t *result)
+
Replaced by ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_FADD.
+
Global ucp_atomic_fadd64 (ucp_ep_h ep, uint64_t add, uint64_t remote_addr, ucp_rkey_h rkey, uint64_t *result)
+
Replaced by ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_FADD.
+
Global ucp_atomic_swap32 (ucp_ep_h ep, uint32_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint32_t *result)
+
Replaced by ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_SWAP.
+
Global ucp_atomic_swap64 (ucp_ep_h ep, uint64_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint64_t *result)
+
Replaced by ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_SWAP.
+
Global ucp_disconnect_nb (ucp_ep_h ep)
+
Replaced by ucp_ep_close_nb.
+
Global ucp_ep_destroy (ucp_ep_h ep)
+
Replaced by ucp_ep_close_nb.
+
Global ucp_ep_flush (ucp_ep_h ep)
+
Replaced by ucp_ep_flush_nb.
+
Global ucp_ep_modify_nb (ucp_ep_h ep, const ucp_ep_params_t *params)
+
Use ucp_listener_conn_handler_t instead of ucp_listener_accept_handler_t, if you have other use case please submit an issue on https://github.com/openucx/ucx or report to ucx-g.nosp@m.roup.nosp@m.@elis.nosp@m.t.or.nosp@m.nl.go.nosp@m.v
+
Global ucp_get (ucp_ep_h ep, void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey)
+
Replaced by ucp_get_nb.
+
Global ucp_listener_accept_handler_t
+
Replaced by ucp_listener_conn_handler_t.
+
Global ucp_listener_accept_handler_t
+
Replaced by ucp_listener_conn_handler_t.
+
Global ucp_put (ucp_ep_h ep, const void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey)
+
Replaced by ucp_put_nb. The following example implements the same functionality using ucp_put_nb :
+
Global ucp_request_is_completed (void *request)
+
Replaced by ucp_request_test.
+
Global ucp_request_release (void *request)
+
Replaced by ucp_request_free.
+
Global ucp_request_test (void *request, ucp_tag_recv_info_t *info)
+
Replaced by ucp_tag_recv_request_test and ucp_request_check_status depends on use case.
+
Global ucp_worker_flush (ucp_worker_h worker)
+
Replaced by ucp_worker_flush_nb. The following example implements the same functionality using ucp_worker_flush_nb :
+
+
+
+
+ + + + diff --git a/api/v1.13/html/dir_1659c59dcdbe18b621f54b1ef0f6f4c9.html b/api/v1.13/html/dir_1659c59dcdbe18b621f54b1ef0f6f4c9.html new file mode 100644 index 00000000000..0bae8a872bb --- /dev/null +++ b/api/v1.13/html/dir_1659c59dcdbe18b621f54b1ef0f6f4c9.html @@ -0,0 +1,113 @@ + + + + + + + +UCX: api Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
api Directory Reference
+
+
+ + + + + + + + +

+Files

file  ucp.h [code]
 
file  ucp_compat.h [code]
 
file  ucp_def.h [code]
 
+
+
+ + + + diff --git a/api/v1.13/html/dir_1c93fb0e274825ee3f8885f93e5ea363.html b/api/v1.13/html/dir_1c93fb0e274825ee3f8885f93e5ea363.html new file mode 100644 index 00000000000..a850beb8729 --- /dev/null +++ b/api/v1.13/html/dir_1c93fb0e274825ee3f8885f93e5ea363.html @@ -0,0 +1,112 @@ + + + + + + + +UCX: api Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
api Directory Reference
+
+
+ + + + + + + +

+Files

file  uct.h [code]
 Unified Communication Transport.
 
file  uct_def.h [code]
 
+
+
+ + + + diff --git a/api/v1.13/html/dir_359d2bec989c9a8deeeb9aee335c1c76.html b/api/v1.13/html/dir_359d2bec989c9a8deeeb9aee335c1c76.html new file mode 100644 index 00000000000..4eaf4695fad --- /dev/null +++ b/api/v1.13/html/dir_359d2bec989c9a8deeeb9aee335c1c76.html @@ -0,0 +1,103 @@ + + + + + + + +UCX: doxygen Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
doxygen Directory Reference
+
+
+
+
+ + + + diff --git a/api/v1.13/html/dir_36fdb95a94f45e39a2040c31ddd31225.html b/api/v1.13/html/dir_36fdb95a94f45e39a2040c31ddd31225.html new file mode 100644 index 00000000000..7da617181e0 --- /dev/null +++ b/api/v1.13/html/dir_36fdb95a94f45e39a2040c31ddd31225.html @@ -0,0 +1,109 @@ + + + + + + + +UCX: async Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
async Directory Reference
+
+
+ + + + +

+Files

file  async_fwd.h [code]
 
+
+
+ + + + diff --git a/api/v1.13/html/dir_49e56c817e5e54854c35e136979f97ca.html b/api/v1.13/html/dir_49e56c817e5e54854c35e136979f97ca.html new file mode 100644 index 00000000000..b11426838c1 --- /dev/null +++ b/api/v1.13/html/dir_49e56c817e5e54854c35e136979f97ca.html @@ -0,0 +1,109 @@ + + + + + + + +UCX: docs Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
docs Directory Reference
+
+
+ + + + +

+Directories

directory  doxygen
 
+
+
+ + + + diff --git a/api/v1.13/html/dir_4b6387ca6c2433d33ff8cebb03d1c9cf.html b/api/v1.13/html/dir_4b6387ca6c2433d33ff8cebb03d1c9cf.html new file mode 100644 index 00000000000..8bb1267de6d --- /dev/null +++ b/api/v1.13/html/dir_4b6387ca6c2433d33ff8cebb03d1c9cf.html @@ -0,0 +1,121 @@ + + + + + + + +UCX: ucs Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ucs Directory Reference
+
+
+ + + + + + + + + + + + + + + + +

+Directories

directory  async
 
directory  config
 
directory  datastruct
 
directory  memory
 
directory  sys
 
directory  time
 
directory  type
 
+
+
+ + + + diff --git a/api/v1.13/html/dir_4c780fc7bd1b054a8fd909bf37e638e8.html b/api/v1.13/html/dir_4c780fc7bd1b054a8fd909bf37e638e8.html new file mode 100644 index 00000000000..2998986cbd7 --- /dev/null +++ b/api/v1.13/html/dir_4c780fc7bd1b054a8fd909bf37e638e8.html @@ -0,0 +1,109 @@ + + + + + + + +UCX: time Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
time Directory Reference
+
+
+ + + + +

+Files

file  time_def.h [code]
 
+
+
+ + + + diff --git a/api/v1.13/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/api/v1.13/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 00000000000..a5a271a9c7b --- /dev/null +++ b/api/v1.13/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,113 @@ + + + + + + + +UCX: src Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
src Directory Reference
+
+
+ + + + + + + + +

+Directories

directory  ucp
 
directory  ucs
 
directory  uct
 
+
+
+ + + + diff --git a/api/v1.13/html/dir_7e9580f7d5a447a1ad6c976d66f43d97.html b/api/v1.13/html/dir_7e9580f7d5a447a1ad6c976d66f43d97.html new file mode 100644 index 00000000000..10d53ef247b --- /dev/null +++ b/api/v1.13/html/dir_7e9580f7d5a447a1ad6c976d66f43d97.html @@ -0,0 +1,109 @@ + + + + + + + +UCX: ucp Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ucp Directory Reference
+
+
+ + + + +

+Directories

directory  api
 
+
+
+ + + + diff --git a/api/v1.13/html/dir_8763891bebbe3f83ca5e81e2d3bf898e.html b/api/v1.13/html/dir_8763891bebbe3f83ca5e81e2d3bf898e.html new file mode 100644 index 00000000000..b5df4135bba --- /dev/null +++ b/api/v1.13/html/dir_8763891bebbe3f83ca5e81e2d3bf898e.html @@ -0,0 +1,109 @@ + + + + + + + +UCX: memory Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
memory Directory Reference
+
+
+ + + + +

+Files

file  memory_type.h [code]
 
+
+
+ + + + diff --git a/api/v1.13/html/dir_9182fa9dcf28807332430d9f0469c7a9.html b/api/v1.13/html/dir_9182fa9dcf28807332430d9f0469c7a9.html new file mode 100644 index 00000000000..e6fbac410c1 --- /dev/null +++ b/api/v1.13/html/dir_9182fa9dcf28807332430d9f0469c7a9.html @@ -0,0 +1,112 @@ + + + + + + + +UCX: type Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
type Directory Reference
+
+
+ + + + + + + +

+Files

file  status.h [code]
 Unified Communication Services.
 
file  thread_mode.h [code]
 
+
+
+ + + + diff --git a/api/v1.13/html/dir_966ceeb60a198c7f2c4538eba94cad34.html b/api/v1.13/html/dir_966ceeb60a198c7f2c4538eba94cad34.html new file mode 100644 index 00000000000..991b9f92421 --- /dev/null +++ b/api/v1.13/html/dir_966ceeb60a198c7f2c4538eba94cad34.html @@ -0,0 +1,109 @@ + + + + + + + +UCX: config Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
config Directory Reference
+
+
+ + + + +

+Files

file  types.h [code]
 
+
+
+ + + + diff --git a/api/v1.13/html/dir_9c8a053dfc2c97cd678899a55ba24f2d.html b/api/v1.13/html/dir_9c8a053dfc2c97cd678899a55ba24f2d.html new file mode 100644 index 00000000000..daf6ee34391 --- /dev/null +++ b/api/v1.13/html/dir_9c8a053dfc2c97cd678899a55ba24f2d.html @@ -0,0 +1,109 @@ + + + + + + + +UCX: uct Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
uct Directory Reference
+
+
+ + + + +

+Directories

directory  api
 
+
+
+ + + + diff --git a/api/v1.13/html/dir_bda1aca17be1467105c0c9d575a28072.html b/api/v1.13/html/dir_bda1aca17be1467105c0c9d575a28072.html new file mode 100644 index 00000000000..7c3fe87d146 --- /dev/null +++ b/api/v1.13/html/dir_bda1aca17be1467105c0c9d575a28072.html @@ -0,0 +1,109 @@ + + + + + + + +UCX: sys Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
sys Directory Reference
+
+
+ + + + +

+Files

file  compiler_def.h [code]
 
+
+
+ + + + diff --git a/api/v1.13/html/dir_f0a01d00a336ff0b43099df76ae9e0f7.html b/api/v1.13/html/dir_f0a01d00a336ff0b43099df76ae9e0f7.html new file mode 100644 index 00000000000..f01eb4f7eb3 --- /dev/null +++ b/api/v1.13/html/dir_f0a01d00a336ff0b43099df76ae9e0f7.html @@ -0,0 +1,109 @@ + + + + + + + +UCX: datastruct Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
datastruct Directory Reference
+
+
+ + + + +

+Files

file  callbackq.h [code]
 
+
+
+ + + + diff --git a/api/v1.13/html/doc.png b/api/v1.13/html/doc.png new file mode 100644 index 00000000000..17edabff95f Binary files /dev/null and b/api/v1.13/html/doc.png differ diff --git a/api/v1.13/html/doxygen.css b/api/v1.13/html/doxygen.css new file mode 100644 index 00000000000..73ecbb2cb71 --- /dev/null +++ b/api/v1.13/html/doxygen.css @@ -0,0 +1,1771 @@ +/* The standard CSS for doxygen 1.8.17 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, p.intertd, p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #FFFFFF; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #FFFFFF; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #FFFFFF; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +blockquote.DocNodeRTL { + border-left: 0; + border-right: 2px solid #9CAFD4; + margin: 0 4px 0 24px; + padding: 0 16px 0 12px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.section.DocNodeRTL { + margin-right: 0px; + padding-right: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.note.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.deprecated.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.todo.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.test.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.bug.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +.PageDocRTL-title div.toc { + float: left !important; + text-align: right; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +.PageDocRTL-title div.toc li { + background-position-x: right !important; + padding-left: 0 !important; + padding-right: 10px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.PageDocRTL-title div.toc li.level1 { + margin-left: 0 !important; + margin-right: 0; +} + +.PageDocRTL-title div.toc li.level2 { + margin-left: 0 !important; + margin-right: 15px; +} + +.PageDocRTL-title div.toc li.level3 { + margin-left: 0 !important; + margin-right: 30px; +} + +.PageDocRTL-title div.toc li.level4 { + margin-left: 0 !important; + margin-right: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +.DocNodeRTL { + text-align: right; + direction: rtl; +} + +.DocNodeLTR { + text-align: left; + direction: ltr; +} + +table.DocNodeRTL { + width: auto; + margin-right: 0; + margin-left: auto; +} + +table.DocNodeLTR { + width: auto; + margin-right: auto; + margin-left: 0; +} + +tt, code, kbd, samp +{ + display: inline-block; + direction:ltr; +} +/* @end */ + +u { + text-decoration: underline; +} + diff --git a/api/v1.13/html/doxygen.png b/api/v1.13/html/doxygen.png new file mode 100644 index 00000000000..3ff17d807fd Binary files /dev/null and b/api/v1.13/html/doxygen.png differ diff --git a/api/v1.13/html/dynsections.js b/api/v1.13/html/dynsections.js new file mode 100644 index 00000000000..ea0a7b39a1b --- /dev/null +++ b/api/v1.13/html/dynsections.js @@ -0,0 +1,120 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +UCX: Examples + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Examples
+
+
+
Here is a list of all examples:
+
+
+ + + + diff --git a/api/v1.13/html/examples.js b/api/v1.13/html/examples.js new file mode 100644 index 00000000000..b6e621fd27d --- /dev/null +++ b/api/v1.13/html/examples.js @@ -0,0 +1,6 @@ +var examples = +[ + [ "ucp_client_server.c", "ucp_client_server_8c-example.html", null ], + [ "ucp_hello_world.c", "ucp_hello_world_8c-example.html", null ], + [ "uct_hello_world.c", "uct_hello_world_8c-example.html", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/folderclosed.png b/api/v1.13/html/folderclosed.png new file mode 100644 index 00000000000..bb8ab35edce Binary files /dev/null and b/api/v1.13/html/folderclosed.png differ diff --git a/api/v1.13/html/folderopen.png b/api/v1.13/html/folderopen.png new file mode 100644 index 00000000000..d6c7f676a3b Binary files /dev/null and b/api/v1.13/html/folderopen.png differ diff --git a/api/v1.13/html/functions.html b/api/v1.13/html/functions.html new file mode 100644 index 00000000000..6b6ce14f0cd --- /dev/null +++ b/api/v1.13/html/functions.html @@ -0,0 +1,155 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- a -

+
+
+ + + + diff --git a/api/v1.13/html/functions_b.html b/api/v1.13/html/functions_b.html new file mode 100644 index 00000000000..3c18668ee31 --- /dev/null +++ b/api/v1.13/html/functions_b.html @@ -0,0 +1,115 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- b -

+
+
+ + + + diff --git a/api/v1.13/html/functions_c.html b/api/v1.13/html/functions_c.html new file mode 100644 index 00000000000..810d8a3fe0e --- /dev/null +++ b/api/v1.13/html/functions_c.html @@ -0,0 +1,159 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- c -

+
+
+ + + + diff --git a/api/v1.13/html/functions_d.html b/api/v1.13/html/functions_d.html new file mode 100644 index 00000000000..0885cbd8c09 --- /dev/null +++ b/api/v1.13/html/functions_d.html @@ -0,0 +1,139 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- d -

+
+
+ + + + diff --git a/api/v1.13/html/functions_dup.js b/api/v1.13/html/functions_dup.js new file mode 100644 index 00000000000..429a6a67d00 --- /dev/null +++ b/api/v1.13/html/functions_dup.js @@ -0,0 +1,22 @@ +var functions_dup = +[ + [ "a", "functions.html", null ], + [ "b", "functions_b.html", null ], + [ "c", "functions_c.html", null ], + [ "d", "functions_d.html", null ], + [ "e", "functions_e.html", null ], + [ "f", "functions_f.html", null ], + [ "h", "functions_h.html", null ], + [ "i", "functions_i.html", null ], + [ "k", "functions_k.html", null ], + [ "l", "functions_l.html", null ], + [ "m", "functions_m.html", null ], + [ "n", "functions_n.html", null ], + [ "o", "functions_o.html", null ], + [ "p", "functions_p.html", null ], + [ "r", "functions_r.html", null ], + [ "s", "functions_s.html", null ], + [ "t", "functions_t.html", null ], + [ "u", "functions_u.html", null ], + [ "w", "functions_w.html", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/functions_e.html b/api/v1.13/html/functions_e.html new file mode 100644 index 00000000000..d7fa8ebf5b6 --- /dev/null +++ b/api/v1.13/html/functions_e.html @@ -0,0 +1,142 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- e -

+
+
+ + + + diff --git a/api/v1.13/html/functions_f.html b/api/v1.13/html/functions_f.html new file mode 100644 index 00000000000..2c5ecbea3ad --- /dev/null +++ b/api/v1.13/html/functions_f.html @@ -0,0 +1,165 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + diff --git a/api/v1.13/html/functions_h.html b/api/v1.13/html/functions_h.html new file mode 100644 index 00000000000..0b0178dfb93 --- /dev/null +++ b/api/v1.13/html/functions_h.html @@ -0,0 +1,105 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- h -

+
+
+ + + + diff --git a/api/v1.13/html/functions_i.html b/api/v1.13/html/functions_i.html new file mode 100644 index 00000000000..8453589d693 --- /dev/null +++ b/api/v1.13/html/functions_i.html @@ -0,0 +1,115 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- i -

+
+
+ + + + diff --git a/api/v1.13/html/functions_k.html b/api/v1.13/html/functions_k.html new file mode 100644 index 00000000000..84c5b809549 --- /dev/null +++ b/api/v1.13/html/functions_k.html @@ -0,0 +1,105 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- k -

+
+
+ + + + diff --git a/api/v1.13/html/functions_l.html b/api/v1.13/html/functions_l.html new file mode 100644 index 00000000000..48b3945becc --- /dev/null +++ b/api/v1.13/html/functions_l.html @@ -0,0 +1,128 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- l -

+
+
+ + + + diff --git a/api/v1.13/html/functions_m.html b/api/v1.13/html/functions_m.html new file mode 100644 index 00000000000..5436f40b2c1 --- /dev/null +++ b/api/v1.13/html/functions_m.html @@ -0,0 +1,165 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- m -

+
+
+ + + + diff --git a/api/v1.13/html/functions_n.html b/api/v1.13/html/functions_n.html new file mode 100644 index 00000000000..c86386506f3 --- /dev/null +++ b/api/v1.13/html/functions_n.html @@ -0,0 +1,113 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- n -

+
+
+ + + + diff --git a/api/v1.13/html/functions_o.html b/api/v1.13/html/functions_o.html new file mode 100644 index 00000000000..a7c24ffca04 --- /dev/null +++ b/api/v1.13/html/functions_o.html @@ -0,0 +1,111 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- o -

+
+
+ + + + diff --git a/api/v1.13/html/functions_p.html b/api/v1.13/html/functions_p.html new file mode 100644 index 00000000000..ffa42e3ba2a --- /dev/null +++ b/api/v1.13/html/functions_p.html @@ -0,0 +1,130 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- p -

+
+
+ + + + diff --git a/api/v1.13/html/functions_r.html b/api/v1.13/html/functions_r.html new file mode 100644 index 00000000000..e4e4223b26f --- /dev/null +++ b/api/v1.13/html/functions_r.html @@ -0,0 +1,156 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- r -

+
+
+ + + + diff --git a/api/v1.13/html/functions_s.html b/api/v1.13/html/functions_s.html new file mode 100644 index 00000000000..ddf1c0e4035 --- /dev/null +++ b/api/v1.13/html/functions_s.html @@ -0,0 +1,152 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- s -

+
+
+ + + + diff --git a/api/v1.13/html/functions_t.html b/api/v1.13/html/functions_t.html new file mode 100644 index 00000000000..4b42487123d --- /dev/null +++ b/api/v1.13/html/functions_t.html @@ -0,0 +1,119 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- t -

+
+
+ + + + diff --git a/api/v1.13/html/functions_u.html b/api/v1.13/html/functions_u.html new file mode 100644 index 00000000000..dc390db8f03 --- /dev/null +++ b/api/v1.13/html/functions_u.html @@ -0,0 +1,113 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- u -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars.html b/api/v1.13/html/functions_vars.html new file mode 100644 index 00000000000..d70ed7303e6 --- /dev/null +++ b/api/v1.13/html/functions_vars.html @@ -0,0 +1,155 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars.js b/api/v1.13/html/functions_vars.js new file mode 100644 index 00000000000..e21e85cde09 --- /dev/null +++ b/api/v1.13/html/functions_vars.js @@ -0,0 +1,22 @@ +var functions_vars = +[ + [ "a", "functions_vars.html", null ], + [ "b", "functions_vars_b.html", null ], + [ "c", "functions_vars_c.html", null ], + [ "d", "functions_vars_d.html", null ], + [ "e", "functions_vars_e.html", null ], + [ "f", "functions_vars_f.html", null ], + [ "h", "functions_vars_h.html", null ], + [ "i", "functions_vars_i.html", null ], + [ "k", "functions_vars_k.html", null ], + [ "l", "functions_vars_l.html", null ], + [ "m", "functions_vars_m.html", null ], + [ "n", "functions_vars_n.html", null ], + [ "o", "functions_vars_o.html", null ], + [ "p", "functions_vars_p.html", null ], + [ "r", "functions_vars_r.html", null ], + [ "s", "functions_vars_s.html", null ], + [ "t", "functions_vars_t.html", null ], + [ "u", "functions_vars_u.html", null ], + [ "w", "functions_vars_w.html", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/functions_vars_b.html b/api/v1.13/html/functions_vars_b.html new file mode 100644 index 00000000000..946416f6f83 --- /dev/null +++ b/api/v1.13/html/functions_vars_b.html @@ -0,0 +1,115 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars_c.html b/api/v1.13/html/functions_vars_c.html new file mode 100644 index 00000000000..3aaa913f7b3 --- /dev/null +++ b/api/v1.13/html/functions_vars_c.html @@ -0,0 +1,159 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars_d.html b/api/v1.13/html/functions_vars_d.html new file mode 100644 index 00000000000..97ebef0ef64 --- /dev/null +++ b/api/v1.13/html/functions_vars_d.html @@ -0,0 +1,139 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars_e.html b/api/v1.13/html/functions_vars_e.html new file mode 100644 index 00000000000..7adfb7f2d5a --- /dev/null +++ b/api/v1.13/html/functions_vars_e.html @@ -0,0 +1,142 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- e -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars_f.html b/api/v1.13/html/functions_vars_f.html new file mode 100644 index 00000000000..85ef5cc2866 --- /dev/null +++ b/api/v1.13/html/functions_vars_f.html @@ -0,0 +1,165 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + diff --git a/api/v1.13/html/functions_vars_h.html b/api/v1.13/html/functions_vars_h.html new file mode 100644 index 00000000000..79035202041 --- /dev/null +++ b/api/v1.13/html/functions_vars_h.html @@ -0,0 +1,105 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- h -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars_i.html b/api/v1.13/html/functions_vars_i.html new file mode 100644 index 00000000000..1078ab6326d --- /dev/null +++ b/api/v1.13/html/functions_vars_i.html @@ -0,0 +1,115 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars_k.html b/api/v1.13/html/functions_vars_k.html new file mode 100644 index 00000000000..62f1c472824 --- /dev/null +++ b/api/v1.13/html/functions_vars_k.html @@ -0,0 +1,105 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- k -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars_l.html b/api/v1.13/html/functions_vars_l.html new file mode 100644 index 00000000000..69e446c335b --- /dev/null +++ b/api/v1.13/html/functions_vars_l.html @@ -0,0 +1,128 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- l -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars_m.html b/api/v1.13/html/functions_vars_m.html new file mode 100644 index 00000000000..cbfdc95d3cc --- /dev/null +++ b/api/v1.13/html/functions_vars_m.html @@ -0,0 +1,165 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars_n.html b/api/v1.13/html/functions_vars_n.html new file mode 100644 index 00000000000..49d6197a3fb --- /dev/null +++ b/api/v1.13/html/functions_vars_n.html @@ -0,0 +1,113 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + diff --git a/api/v1.13/html/functions_vars_o.html b/api/v1.13/html/functions_vars_o.html new file mode 100644 index 00000000000..c78d6feb001 --- /dev/null +++ b/api/v1.13/html/functions_vars_o.html @@ -0,0 +1,111 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- o -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars_p.html b/api/v1.13/html/functions_vars_p.html new file mode 100644 index 00000000000..286c32de55c --- /dev/null +++ b/api/v1.13/html/functions_vars_p.html @@ -0,0 +1,130 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- p -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars_r.html b/api/v1.13/html/functions_vars_r.html new file mode 100644 index 00000000000..018aea7e53f --- /dev/null +++ b/api/v1.13/html/functions_vars_r.html @@ -0,0 +1,156 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- r -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars_s.html b/api/v1.13/html/functions_vars_s.html new file mode 100644 index 00000000000..28ff7b78131 --- /dev/null +++ b/api/v1.13/html/functions_vars_s.html @@ -0,0 +1,152 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- s -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars_t.html b/api/v1.13/html/functions_vars_t.html new file mode 100644 index 00000000000..bb8fce75901 --- /dev/null +++ b/api/v1.13/html/functions_vars_t.html @@ -0,0 +1,119 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- t -

+
+
+ + + + diff --git a/api/v1.13/html/functions_vars_u.html b/api/v1.13/html/functions_vars_u.html new file mode 100644 index 00000000000..22c3e0cb2bd --- /dev/null +++ b/api/v1.13/html/functions_vars_u.html @@ -0,0 +1,113 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + diff --git a/api/v1.13/html/functions_vars_w.html b/api/v1.13/html/functions_vars_w.html new file mode 100644 index 00000000000..fc9201a4b35 --- /dev/null +++ b/api/v1.13/html/functions_vars_w.html @@ -0,0 +1,105 @@ + + + + + + + +UCX: Data Fields - Variables + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- w -

+
+
+ + + + diff --git a/api/v1.13/html/functions_w.html b/api/v1.13/html/functions_w.html new file mode 100644 index 00000000000..b7aad78a58e --- /dev/null +++ b/api/v1.13/html/functions_w.html @@ -0,0 +1,105 @@ + + + + + + + +UCX: Data Fields + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- w -

+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_p___a_p_i.html b/api/v1.13/html/group___u_c_p___a_p_i.html new file mode 100644 index 00000000000..d00cb040034 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___a_p_i.html @@ -0,0 +1,128 @@ + + + + + + + +UCX: Unified Communication Protocol (UCP) API + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Unified Communication Protocol (UCP) API
+
+
+ +

This section describes UCP API. +More...

+ + + + + + + + + + + + + + + + + + +

+Modules

 UCP Application Context
 
 UCP Worker
 
 UCP Memory routines
 
 UCP Wake-up routines
 
 UCP Endpoint
 
 UCP Communication routines
 
 UCP Configuration
 
 UCP Data type routines
 
+

Detailed Description

+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_p___a_p_i.js b/api/v1.13/html/group___u_c_p___a_p_i.js new file mode 100644 index 00000000000..6901e7eeff4 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___a_p_i.js @@ -0,0 +1,11 @@ +var group___u_c_p___a_p_i = +[ + [ "UCP Application Context", "group___u_c_p___c_o_n_t_e_x_t.html", "group___u_c_p___c_o_n_t_e_x_t" ], + [ "UCP Worker", "group___u_c_p___w_o_r_k_e_r.html", "group___u_c_p___w_o_r_k_e_r" ], + [ "UCP Memory routines", "group___u_c_p___m_e_m.html", "group___u_c_p___m_e_m" ], + [ "UCP Wake-up routines", "group___u_c_p___w_a_k_e_u_p.html", "group___u_c_p___w_a_k_e_u_p" ], + [ "UCP Endpoint", "group___u_c_p___e_n_d_p_o_i_n_t.html", "group___u_c_p___e_n_d_p_o_i_n_t" ], + [ "UCP Communication routines", "group___u_c_p___c_o_m_m.html", "group___u_c_p___c_o_m_m" ], + [ "UCP Configuration", "group___u_c_p___c_o_n_f_i_g.html", "group___u_c_p___c_o_n_f_i_g" ], + [ "UCP Data type routines", "group___u_c_p___d_a_t_a_t_y_p_e.html", "group___u_c_p___d_a_t_a_t_y_p_e" ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___c_o_m_m.html b/api/v1.13/html/group___u_c_p___c_o_m_m.html new file mode 100644 index 00000000000..1d0f9727633 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___c_o_m_m.html @@ -0,0 +1,3886 @@ + + + + + + + +UCX: UCP Communication routines + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + + + +

+Data Structures

struct  ucp_request_attr_t
 Attributes of a particular request. More...
 
struct  ucp_err_handler
 UCP endpoint error handling context. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef uint64_t ucp_tag_t
 UCP Tag Identifier. More...
 
typedef struct ucp_recv_desc * ucp_tag_message_h
 UCP Message descriptor. More...
 
typedef uint64_t ucp_datatype_t
 UCP Datatype Identifier. More...
 
typedef void(* ucp_send_callback_t) (void *request, ucs_status_t status)
 Completion callback for non-blocking sends. More...
 
typedef void(* ucp_send_nbx_callback_t) (void *request, ucs_status_t status, void *user_data)
 Completion callback for non-blocking sends. More...
 
typedef void(* ucp_err_handler_cb_t) (void *arg, ucp_ep_h ep, ucs_status_t status)
 Callback to process peer failure. More...
 
typedef struct ucp_err_handler ucp_err_handler_t
 UCP endpoint error handling context. More...
 
typedef void(* ucp_stream_recv_callback_t) (void *request, ucs_status_t status, size_t length)
 Completion callback for non-blocking stream oriented receives. More...
 
typedef void(* ucp_stream_recv_nbx_callback_t) (void *request, ucs_status_t status, size_t length, void *user_data)
 Completion callback for non-blocking stream receives ucp_stream_recv_nbx call. More...
 
typedef void(* ucp_tag_recv_callback_t) (void *request, ucs_status_t status, ucp_tag_recv_info_t *info)
 Completion callback for non-blocking tag receives. More...
 
typedef void(* ucp_tag_recv_nbx_callback_t) (void *request, ucs_status_t status, const ucp_tag_recv_info_t *tag_info, void *user_data)
 Completion callback for non-blocking tag receives ucp_tag_recv_nbx call. More...
 
typedef void(* ucp_am_recv_data_nbx_callback_t) (void *request, ucs_status_t status, size_t length, void *user_data)
 Completion callback for non-blocking Active Message receives. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  ucp_atomic_post_op_t {
+  UCP_ATOMIC_POST_OP_ADD, +UCP_ATOMIC_POST_OP_AND, +UCP_ATOMIC_POST_OP_OR, +UCP_ATOMIC_POST_OP_XOR, +
+  UCP_ATOMIC_POST_OP_LAST +
+ }
 Atomic operation requested for ucp_atomic_post. More...
 
enum  ucp_atomic_fetch_op_t {
+  UCP_ATOMIC_FETCH_OP_FADD, +UCP_ATOMIC_FETCH_OP_SWAP, +UCP_ATOMIC_FETCH_OP_CSWAP, +UCP_ATOMIC_FETCH_OP_FAND, +
+  UCP_ATOMIC_FETCH_OP_FOR, +UCP_ATOMIC_FETCH_OP_FXOR, +UCP_ATOMIC_FETCH_OP_LAST +
+ }
 Atomic operation requested for ucp_atomic_fetch. More...
 
enum  ucp_atomic_op_t {
+  UCP_ATOMIC_OP_ADD, +UCP_ATOMIC_OP_SWAP, +UCP_ATOMIC_OP_CSWAP, +UCP_ATOMIC_OP_AND, +
+  UCP_ATOMIC_OP_OR, +UCP_ATOMIC_OP_XOR, +UCP_ATOMIC_OP_LAST +
+ }
 Atomic operation requested for ucp_atomic_op_nbx. More...
 
enum  ucp_stream_recv_flags_t { UCP_STREAM_RECV_FLAG_WAITALL = UCS_BIT(0) + }
 Flags to define behavior of ucp_stream_recv_nb function. More...
 
enum  ucp_op_attr_t {
+  UCP_OP_ATTR_FIELD_REQUEST = UCS_BIT(0), +UCP_OP_ATTR_FIELD_CALLBACK = UCS_BIT(1), +UCP_OP_ATTR_FIELD_USER_DATA = UCS_BIT(2), +UCP_OP_ATTR_FIELD_DATATYPE = UCS_BIT(3), +
+  UCP_OP_ATTR_FIELD_FLAGS = UCS_BIT(4), +UCP_OP_ATTR_FIELD_REPLY_BUFFER = UCS_BIT(5), +UCP_OP_ATTR_FIELD_MEMORY_TYPE = UCS_BIT(6), +UCP_OP_ATTR_FIELD_RECV_INFO = UCS_BIT(7), +
+  UCP_OP_ATTR_FIELD_MEMH = UCS_BIT(8), +UCP_OP_ATTR_FLAG_NO_IMM_CMPL = UCS_BIT(16), +UCP_OP_ATTR_FLAG_FAST_CMPL = UCS_BIT(17), +UCP_OP_ATTR_FLAG_FORCE_IMM_CMPL = UCS_BIT(18), +
+  UCP_OP_ATTR_FLAG_MULTI_SEND = UCS_BIT(19) +
+ }
 UCP operation fields and flags. More...
 
enum  ucp_req_attr_field { UCP_REQUEST_ATTR_FIELD_INFO_STRING = UCS_BIT(0), +UCP_REQUEST_ATTR_FIELD_INFO_STRING_SIZE = UCS_BIT(1), +UCP_REQUEST_ATTR_FIELD_STATUS = UCS_BIT(2), +UCP_REQUEST_ATTR_FIELD_MEM_TYPE = UCS_BIT(3) + }
 UCP request query attributes. More...
 
enum  ucp_am_recv_attr_t { UCP_AM_RECV_ATTR_FIELD_REPLY_EP = UCS_BIT(0), +UCP_AM_RECV_ATTR_FLAG_DATA = UCS_BIT(16), +UCP_AM_RECV_ATTR_FLAG_RNDV = UCS_BIT(17) + }
 UCP AM receive data parameter fields and flags. More...
 
enum  ucp_am_handler_param_field { UCP_AM_HANDLER_PARAM_FIELD_ID = UCS_BIT(0), +UCP_AM_HANDLER_PARAM_FIELD_FLAGS = UCS_BIT(1), +UCP_AM_HANDLER_PARAM_FIELD_CB = UCS_BIT(2), +UCP_AM_HANDLER_PARAM_FIELD_ARG = UCS_BIT(3) + }
 UCP AM receive data parameters fields and flags. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ucs_status_t ucp_request_query (void *request, ucp_request_attr_t *attr)
 Get information about ucp_request. More...
 
ucs_status_ptr_t ucp_am_send_nb (ucp_ep_h ep, uint16_t id, const void *buffer, size_t count, ucp_datatype_t datatype, ucp_send_callback_t cb, unsigned flags)
 Send Active Message. More...
 
ucs_status_ptr_t ucp_am_send_nbx (ucp_ep_h ep, unsigned id, const void *header, size_t header_length, const void *buffer, size_t count, const ucp_request_param_t *param)
 Send Active Message. More...
 
ucs_status_ptr_t ucp_am_recv_data_nbx (ucp_worker_h worker, void *data_desc, void *buffer, size_t count, const ucp_request_param_t *param)
 Receive Active Message as defined by provided data descriptor. More...
 
void ucp_am_data_release (ucp_worker_h worker, void *data)
 Releases Active Message data. More...
 
ucs_status_ptr_t ucp_stream_send_nb (ucp_ep_h ep, const void *buffer, size_t count, ucp_datatype_t datatype, ucp_send_callback_t cb, unsigned flags)
 Non-blocking stream send operation. More...
 
ucs_status_ptr_t ucp_stream_send_nbx (ucp_ep_h ep, const void *buffer, size_t count, const ucp_request_param_t *param)
 Non-blocking stream send operation. More...
 
ucs_status_ptr_t ucp_tag_send_nb (ucp_ep_h ep, const void *buffer, size_t count, ucp_datatype_t datatype, ucp_tag_t tag, ucp_send_callback_t cb)
 Non-blocking tagged-send operations. More...
 
ucs_status_t ucp_tag_send_nbr (ucp_ep_h ep, const void *buffer, size_t count, ucp_datatype_t datatype, ucp_tag_t tag, void *req)
 Non-blocking tagged-send operations with user provided request. More...
 
ucs_status_ptr_t ucp_tag_send_sync_nb (ucp_ep_h ep, const void *buffer, size_t count, ucp_datatype_t datatype, ucp_tag_t tag, ucp_send_callback_t cb)
 Non-blocking synchronous tagged-send operation. More...
 
ucs_status_ptr_t ucp_tag_send_nbx (ucp_ep_h ep, const void *buffer, size_t count, ucp_tag_t tag, const ucp_request_param_t *param)
 Non-blocking tagged-send operation. More...
 
ucs_status_ptr_t ucp_tag_send_sync_nbx (ucp_ep_h ep, const void *buffer, size_t count, ucp_tag_t tag, const ucp_request_param_t *param)
 Non-blocking synchronous tagged-send operation. More...
 
ucs_status_ptr_t ucp_stream_recv_nb (ucp_ep_h ep, void *buffer, size_t count, ucp_datatype_t datatype, ucp_stream_recv_callback_t cb, size_t *length, unsigned flags)
 Non-blocking stream receive operation of structured data into a user-supplied buffer. More...
 
ucs_status_ptr_t ucp_stream_recv_nbx (ucp_ep_h ep, void *buffer, size_t count, size_t *length, const ucp_request_param_t *param)
 Non-blocking stream receive operation of structured data into a user-supplied buffer. More...
 
ucs_status_ptr_t ucp_stream_recv_data_nb (ucp_ep_h ep, size_t *length)
 Non-blocking stream receive operation of unstructured data into a UCP-supplied buffer. More...
 
ucs_status_ptr_t ucp_tag_recv_nb (ucp_worker_h worker, void *buffer, size_t count, ucp_datatype_t datatype, ucp_tag_t tag, ucp_tag_t tag_mask, ucp_tag_recv_callback_t cb)
 Non-blocking tagged-receive operation. More...
 
ucs_status_t ucp_tag_recv_nbr (ucp_worker_h worker, void *buffer, size_t count, ucp_datatype_t datatype, ucp_tag_t tag, ucp_tag_t tag_mask, void *req)
 Non-blocking tagged-receive operation. More...
 
ucs_status_ptr_t ucp_tag_recv_nbx (ucp_worker_h worker, void *buffer, size_t count, ucp_tag_t tag, ucp_tag_t tag_mask, const ucp_request_param_t *param)
 Non-blocking tagged-receive operation. More...
 
ucp_tag_message_h ucp_tag_probe_nb (ucp_worker_h worker, ucp_tag_t tag, ucp_tag_t tag_mask, int remove, ucp_tag_recv_info_t *info)
 Non-blocking probe and return a message. More...
 
ucs_status_ptr_t ucp_tag_msg_recv_nb (ucp_worker_h worker, void *buffer, size_t count, ucp_datatype_t datatype, ucp_tag_message_h message, ucp_tag_recv_callback_t cb)
 Non-blocking receive operation for a probed message. More...
 
ucs_status_ptr_t ucp_tag_msg_recv_nbx (ucp_worker_h worker, void *buffer, size_t count, ucp_tag_message_h message, const ucp_request_param_t *param)
 Non-blocking receive operation for a probed message. More...
 
ucs_status_t ucp_put_nbi (ucp_ep_h ep, const void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey)
 Non-blocking implicit remote memory put operation. More...
 
ucs_status_ptr_t ucp_put_nb (ucp_ep_h ep, const void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey, ucp_send_callback_t cb)
 Non-blocking remote memory put operation. More...
 
ucs_status_ptr_t ucp_put_nbx (ucp_ep_h ep, const void *buffer, size_t count, uint64_t remote_addr, ucp_rkey_h rkey, const ucp_request_param_t *param)
 Non-blocking remote memory put operation. More...
 
ucs_status_t ucp_get_nbi (ucp_ep_h ep, void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey)
 Non-blocking implicit remote memory get operation. More...
 
ucs_status_ptr_t ucp_get_nb (ucp_ep_h ep, void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey, ucp_send_callback_t cb)
 Non-blocking remote memory get operation. More...
 
ucs_status_ptr_t ucp_get_nbx (ucp_ep_h ep, void *buffer, size_t count, uint64_t remote_addr, ucp_rkey_h rkey, const ucp_request_param_t *param)
 Non-blocking remote memory get operation. More...
 
ucs_status_t ucp_atomic_post (ucp_ep_h ep, ucp_atomic_post_op_t opcode, uint64_t value, size_t op_size, uint64_t remote_addr, ucp_rkey_h rkey)
 Post an atomic memory operation. More...
 
ucs_status_ptr_t ucp_atomic_fetch_nb (ucp_ep_h ep, ucp_atomic_fetch_op_t opcode, uint64_t value, void *result, size_t op_size, uint64_t remote_addr, ucp_rkey_h rkey, ucp_send_callback_t cb)
 Post an atomic fetch operation. More...
 
ucs_status_ptr_t ucp_atomic_op_nbx (ucp_ep_h ep, ucp_atomic_op_t opcode, const void *buffer, size_t count, uint64_t remote_addr, ucp_rkey_h rkey, const ucp_request_param_t *param)
 Post an atomic memory operation. More...
 
ucs_status_t ucp_request_check_status (void *request)
 Check the status of non-blocking request. More...
 
ucs_status_t ucp_tag_recv_request_test (void *request, ucp_tag_recv_info_t *info)
 Check the status and currently available state of non-blocking request returned from ucp_tag_recv_nb routine. More...
 
ucs_status_t ucp_stream_recv_request_test (void *request, size_t *length_p)
 Check the status and currently available state of non-blocking request returned from ucp_stream_recv_nb routine. More...
 
void ucp_request_cancel (ucp_worker_h worker, void *request)
 Cancel an outstanding communications request. More...
 
void ucp_stream_data_release (ucp_ep_h ep, void *data)
 Release UCP data buffer returned by ucp_stream_recv_data_nb. More...
 
void ucp_request_free (void *request)
 Release a communications request. More...
 
void * ucp_request_alloc (ucp_worker_h worker)
 Create an empty communications request. More...
 
int ucp_request_is_completed (void *request)
 
ucs_status_t ucp_put (ucp_ep_h ep, const void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey)
 Blocking remote memory put operation. More...
 
ucs_status_t ucp_get (ucp_ep_h ep, void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey)
 Blocking remote memory get operation. More...
 
ucs_status_t ucp_atomic_add32 (ucp_ep_h ep, uint32_t add, uint64_t remote_addr, ucp_rkey_h rkey)
 Blocking atomic add operation for 32 bit integers. More...
 
ucs_status_t ucp_atomic_add64 (ucp_ep_h ep, uint64_t add, uint64_t remote_addr, ucp_rkey_h rkey)
 Blocking atomic add operation for 64 bit integers. More...
 
ucs_status_t ucp_atomic_fadd32 (ucp_ep_h ep, uint32_t add, uint64_t remote_addr, ucp_rkey_h rkey, uint32_t *result)
 Blocking atomic fetch and add operation for 32 bit integers. More...
 
ucs_status_t ucp_atomic_fadd64 (ucp_ep_h ep, uint64_t add, uint64_t remote_addr, ucp_rkey_h rkey, uint64_t *result)
 Blocking atomic fetch and add operation for 64 bit integers. More...
 
ucs_status_t ucp_atomic_swap32 (ucp_ep_h ep, uint32_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint32_t *result)
 Blocking atomic swap operation for 32 bit values. More...
 
ucs_status_t ucp_atomic_swap64 (ucp_ep_h ep, uint64_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint64_t *result)
 Blocking atomic swap operation for 64 bit values. More...
 
ucs_status_t ucp_atomic_cswap32 (ucp_ep_h ep, uint32_t compare, uint32_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint32_t *result)
 Blocking atomic conditional swap (cswap) operation for 32 bit values. More...
 
ucs_status_t ucp_atomic_cswap64 (ucp_ep_h ep, uint64_t compare, uint64_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint64_t *result)
 Blocking atomic conditional swap (cswap) operation for 64 bit values. More...
 
+

Detailed Description

+

UCP Communication routines

+

Data Structure Documentation

+ +

◆ ucp_request_attr_t

+ +
+
+ + + + +
struct ucp_request_attr_t
+
+
+ + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_req_attr_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+char * +debug_string +

Pointer to allocated string of size debug_string_size that will be filled with debug information about transports and protocols that were selected to complete the request.

+
+size_t +debug_string_size +

Size of the debug_string. String will be filled up to this size. Maximum possible size debug string can be obtained by querying the worker via ucp_worker_query.

+
+ucs_status_t +status +

Status of the request. The same as ucp_request_check_status.

+
+ucs_memory_type_t +mem_type +

Detected memory type of the buffer passed to the operation.

+
+ +
+
+ +

◆ ucp_err_handler

+ +
+
+ + + + +
struct ucp_err_handler
+
+

This structure should be initialized in ucp_ep_params_t to handle peer failure

+
+ + + + + + + +
Data Fields
+ucp_err_handler_cb_t +cb +

Error handler callback, if NULL, will not be called.

+
+void * +arg +

User defined argument associated with an endpoint, it will be overridden by ucp_ep_params_t::user_data if both are set.

+
+ +
+
+

Typedef Documentation

+ +

◆ ucp_tag_t

+ +
+
+ + + + +
typedef uint64_t ucp_tag_t
+
+

UCP tag identifier is a 64bit object used for message identification. UCP tag send and receive operations use the object for an implementation tag matching semantics (derivative of MPI tag matching semantics).

+ +
+
+ +

◆ ucp_tag_message_h

+ +
+
+ + + + +
typedef struct ucp_recv_desc* ucp_tag_message_h
+
+

UCP Message descriptor is an opaque handle for a message returned by ucp_tag_probe_nb. This handle can be passed to ucp_tag_msg_recv_nb in order to receive the message data to a specific buffer.

+ +
+
+ +

◆ ucp_datatype_t

+ +
+
+ + + + +
typedef uint64_t ucp_datatype_t
+
+

UCP datatype identifier is a 64bit object used for datatype identification. Predefined UCP identifiers are defined by ucp_dt_type.

+ +
+
+ +

◆ ucp_send_callback_t

+ +
+
+ + + + +
typedef void(* ucp_send_callback_t) (void *request, ucs_status_t status)
+
+

This callback routine is invoked whenever the send operation is completed. It is important to note that the call-back is only invoked in a case when the operation cannot be completed in place.

+
Parameters
+ + + +
[in]requestThe completed send request.
[in]statusCompletion status. If the send operation was completed successfully UCS_OK is returned. If send operation was canceled UCS_ERR_CANCELED is returned. Otherwise, an error status is returned.
+
+
+ +
+
+ +

◆ ucp_send_nbx_callback_t

+ +
+
+ + + + +
typedef void(* ucp_send_nbx_callback_t) (void *request, ucs_status_t status, void *user_data)
+
+

This callback routine is invoked whenever the ucp_tag_send_nbx, ucp_am_send_nbx, ucp_stream_send_nbx, ucp_put_nbx, ucp_get_nbx, ucp_atomic_op_nbx or any other "send operation" is completed.

+
Parameters
+ + + + +
[in]requestThe completed send request.
[in]statusCompletion status. If the send operation was completed successfully UCS_OK is returned. If send operation was canceled UCS_ERR_CANCELED is returned. Otherwise, an error status is returned.
[in]user_dataUser data passed to "user_data" value, see ucp_request_param_t
+
+
+
Examples
ucp_client_server.c.
+
+ +
+
+ +

◆ ucp_err_handler_cb_t

+ +
+
+ + + + +
typedef void(* ucp_err_handler_cb_t) (void *arg, ucp_ep_h ep, ucs_status_t status)
+
+

This callback routine is invoked when transport level error detected.

+
Parameters
+ + + + +
[in]argUser argument to be passed to the callback.
[in]epEndpoint to handle transport level error. Upon return from the callback, this ep is no longer usable and all subsequent operations on this ep will fail with the error code passed in status.
[in]statuserror status.
+
+
+ +
+
+ +

◆ ucp_err_handler_t

+ +
+
+ + + + +
typedef struct ucp_err_handler ucp_err_handler_t
+
+

This structure should be initialized in ucp_ep_params_t to handle peer failure

+ +
+
+ +

◆ ucp_stream_recv_callback_t

+ +
+
+ + + + +
typedef void(* ucp_stream_recv_callback_t) (void *request, ucs_status_t status, size_t length)
+
+

This callback routine is invoked whenever the receive operation is completed and the data is ready in the receive buffer.

+
Parameters
+ + + + +
[in]requestThe completed receive request.
[in]statusCompletion status. If the send operation was completed successfully UCS_OK is returned. Otherwise, an error status is returned.
[in]lengthThe size of the received data in bytes, always boundary of base datatype size. The value is valid only if the status is UCS_OK.
+
+
+ +
+
+ +

◆ ucp_stream_recv_nbx_callback_t

+ +
+
+ + + + +
typedef void(* ucp_stream_recv_nbx_callback_t) (void *request, ucs_status_t status, size_t length, void *user_data)
+
+

This callback routine is invoked whenever the receive operation is completed and the data is ready in the receive buffer.

+
Parameters
+ + + + + +
[in]requestThe completed receive request.
[in]statusCompletion status. If the send operation was completed successfully UCS_OK is returned. Otherwise, an error status is returned.
[in]lengthThe size of the received data in bytes, always on the boundary of base datatype size. The value is valid only if the status is UCS_OK.
[in]user_dataUser data passed to "user_data" value, see ucp_request_param_t.
+
+
+ +
+
+ +

◆ ucp_tag_recv_callback_t

+ +
+
+ + + + +
typedef void(* ucp_tag_recv_callback_t) (void *request, ucs_status_t status, ucp_tag_recv_info_t *info)
+
+

This callback routine is invoked whenever the receive operation is completed and the data is ready in the receive buffer.

+
Parameters
+ + + + +
[in]requestThe completed receive request.
[in]statusCompletion status. If the send operation was completed successfully UCS_OK is returned. If send operation was canceled UCS_ERR_CANCELED is returned. If the data can not fit into the receive buffer the UCS_ERR_MESSAGE_TRUNCATED error code is returned. Otherwise, an error status is returned.
[in]infoCompletion information The info descriptor is Valid only if the status is UCS_OK.
+
+
+ +
+
+ +

◆ ucp_tag_recv_nbx_callback_t

+ +
+
+ + + + +
typedef void(* ucp_tag_recv_nbx_callback_t) (void *request, ucs_status_t status, const ucp_tag_recv_info_t *tag_info, void *user_data)
+
+

This callback routine is invoked whenever the receive operation is completed and the data is ready in the receive buffer.

+
Parameters
+ + + + + +
[in]requestThe completed receive request.
[in]statusCompletion status. If the receive operation was completed successfully UCS_OK is returned. If send operation was canceled, UCS_ERR_CANCELED is returned. If the data can not fit into the receive buffer the UCS_ERR_MESSAGE_TRUNCATED error code is returned. Otherwise, an error status is returned.
[in]tag_infoCompletion information The info descriptor is Valid only if the status is UCS_OK.
[in]user_dataUser data passed to "user_data" value, see ucp_request_param_t
+
+
+ +
+
+ +

◆ ucp_am_recv_data_nbx_callback_t

+ +
+
+ + + + +
typedef void(* ucp_am_recv_data_nbx_callback_t) (void *request, ucs_status_t status, size_t length, void *user_data)
+
+

This callback routine is invoked whenever the receive operation is completed and the data is ready in the receive buffer.

+
Parameters
+ + + + + +
[in]requestThe completed receive request.
[in]statusCompletion status. If the receive operation was completed successfully UCS_OK is returned. Otherwise, an error status is returned.
[in]lengthThe size of the received data in bytes, always boundary of base datatype size. The value is valid only if the status is UCS_OK.
[in]user_dataUser data passed to "user_data" value, see ucp_request_param_t
+
+
+ +
+
+

Enumeration Type Documentation

+ +

◆ ucp_atomic_post_op_t

+ +
+
+ + + + +
enum ucp_atomic_post_op_t
+
+

This enumeration defines which atomic memory operation should be performed by the ucp_atomic_post family of functions. All of these are non-fetching atomics and will not result in a request handle.

+ + + + + + +
Enumerator
UCP_ATOMIC_POST_OP_ADD 

Atomic add

+
UCP_ATOMIC_POST_OP_AND 

Atomic and

+
UCP_ATOMIC_POST_OP_OR 

Atomic or
+

+
UCP_ATOMIC_POST_OP_XOR 

Atomic xor

+
UCP_ATOMIC_POST_OP_LAST 
+ +
+
+ +

◆ ucp_atomic_fetch_op_t

+ +
+
+ + + + +
enum ucp_atomic_fetch_op_t
+
+

This enumeration defines which atomic memory operation should be performed by the ucp_atomic_fetch family of functions. All of these functions will fetch data from the remote node.

+ + + + + + + + +
Enumerator
UCP_ATOMIC_FETCH_OP_FADD 

Atomic Fetch and add
+

+
UCP_ATOMIC_FETCH_OP_SWAP 

Atomic swap
+

+
UCP_ATOMIC_FETCH_OP_CSWAP 

Atomic conditional swap

+
UCP_ATOMIC_FETCH_OP_FAND 

Atomic Fetch and and
+

+
UCP_ATOMIC_FETCH_OP_FOR 

Atomic Fetch and or
+

+
UCP_ATOMIC_FETCH_OP_FXOR 

Atomic Fetch and xor
+

+
UCP_ATOMIC_FETCH_OP_LAST 
+ +
+
+ +

◆ ucp_atomic_op_t

+ +
+
+ + + + +
enum ucp_atomic_op_t
+
+

This enumeration defines which atomic memory operation should be performed by the ucp_atomic_op_nbx routine.

+ + + + + + + + +
Enumerator
UCP_ATOMIC_OP_ADD 

Atomic add
+

+
UCP_ATOMIC_OP_SWAP 

Atomic swap

+
UCP_ATOMIC_OP_CSWAP 

Atomic conditional swap

+
UCP_ATOMIC_OP_AND 

Atomic and
+

+
UCP_ATOMIC_OP_OR 

Atomic or
+

+
UCP_ATOMIC_OP_XOR 

Atomic xor
+

+
UCP_ATOMIC_OP_LAST 
+ +
+
+ +

◆ ucp_stream_recv_flags_t

+ +
+
+ + + + +
enum ucp_stream_recv_flags_t
+
+

This enumeration defines behavior of ucp_stream_recv_nb function.

+ + +
Enumerator
UCP_STREAM_RECV_FLAG_WAITALL 

This flag requests that the operation will not be completed until all requested data is received and placed in the user buffer.

+
+ +
+
+ +

◆ ucp_op_attr_t

+ +
+
+ + + + +
enum ucp_op_attr_t
+
+

The enumeration allows specifying which fields in ucp_request_param_t are present and operation flags are used. It is used to enable backward compatibility support.

+ + + + + + + + + + + + + + +
Enumerator
UCP_OP_ATTR_FIELD_REQUEST 

request field

+
UCP_OP_ATTR_FIELD_CALLBACK 

cb field

+
UCP_OP_ATTR_FIELD_USER_DATA 

user_data field

+
UCP_OP_ATTR_FIELD_DATATYPE 

datatype field

+
UCP_OP_ATTR_FIELD_FLAGS 

operation-specific flags

+
UCP_OP_ATTR_FIELD_REPLY_BUFFER 

reply_buffer field

+
UCP_OP_ATTR_FIELD_MEMORY_TYPE 

memory type field

+
UCP_OP_ATTR_FIELD_RECV_INFO 

recv_info field

+
UCP_OP_ATTR_FIELD_MEMH 

memory handle field

+
UCP_OP_ATTR_FLAG_NO_IMM_CMPL 

deny immediate completion

+
UCP_OP_ATTR_FLAG_FAST_CMPL 

expedite local completion, even if it delays remote data delivery. Note for implementer: this option can disable zero copy and/or rendezvous protocols which require synchronization with the remote peer before releasing the local send buffer

+
UCP_OP_ATTR_FLAG_FORCE_IMM_CMPL 

force immediate complete operation, fail if the operation cannot be completed immediately

+
UCP_OP_ATTR_FLAG_MULTI_SEND 

optimize for bandwidth of multiple in-flight operations, rather than for the latency of a single operation

+
+ +
+
+ +

◆ ucp_req_attr_field

+ +
+
+ + + + +
enum ucp_req_attr_field
+
+

The enumeration allows specifying which fields in ucp_request_attr_t are present. It is used to enable backward compatibility support.

+ + + + + +
Enumerator
UCP_REQUEST_ATTR_FIELD_INFO_STRING 
UCP_REQUEST_ATTR_FIELD_INFO_STRING_SIZE 
UCP_REQUEST_ATTR_FIELD_STATUS 
UCP_REQUEST_ATTR_FIELD_MEM_TYPE 
+ +
+
+ +

◆ ucp_am_recv_attr_t

+ +
+
+ + + + +
enum ucp_am_recv_attr_t
+
+

The enumeration allows specifying which fields in ucp_am_recv_param_t are present and receive operation flags are used. It is used to enable backward compatibility support.

+ + + + +
Enumerator
UCP_AM_RECV_ATTR_FIELD_REPLY_EP 

reply_ep field

+
UCP_AM_RECV_ATTR_FLAG_DATA 

Indicates that the data provided in ucp_am_recv_callback_t callback can be held by the user. If UCS_INPROGRESS is returned from the callback, the data parameter will persist and the user has to call ucp_am_data_release when data is no longer needed. This flag is mutually exclusive with UCP_AM_RECV_ATTR_FLAG_RNDV.

+
UCP_AM_RECV_ATTR_FLAG_RNDV 

Indicates that the arriving data was sent using rendezvous protocol. In this case data parameter of the ucp_am_recv_callback_t points to the internal UCP descriptor, which can be used for obtaining the actual data by calling ucp_am_recv_data_nbx routine. This flag is mutually exclusive with UCP_AM_RECV_ATTR_FLAG_DATA.

+
+ +
+
+ +

◆ ucp_am_handler_param_field

+ +
+
+ + + + +
enum ucp_am_handler_param_field
+
+

The enumeration allows specifying which fields in ucp_am_handler_param_t are present. It is used to enable backward compatibility support.

+ + + + + +
Enumerator
UCP_AM_HANDLER_PARAM_FIELD_ID 

Indicates that ucp_am_handler_param_t::id field is valid.

+
UCP_AM_HANDLER_PARAM_FIELD_FLAGS 

Indicates that ucp_am_handler_param_t::flags field is valid.

+
UCP_AM_HANDLER_PARAM_FIELD_CB 

Indicates that ucp_am_handler_param_t::cb field is valid.

+
UCP_AM_HANDLER_PARAM_FIELD_ARG 

Indicates that ucp_am_handler_param_t::arg field is valid.

+
+ +
+
+

Function Documentation

+ +

◆ ucp_request_query()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_request_query (void * request,
ucp_request_attr_tattr 
)
+
+
Parameters
+ + + +
[in]requestNon-blocking request to query.
[out]attrFilled with attributes of the request.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_am_send_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_am_send_nb (ucp_ep_h ep,
uint16_t id,
const void * buffer,
size_t count,
ucp_datatype_t datatype,
ucp_send_callback_t cb,
unsigned flags 
)
+
+

This routine sends an Active Message to an ep. It does not support CUDA memory.

+
Parameters
+ + + + + + + + +
[in]epUCP endpoint where the Active Message will be run.
[in]idActive Message id. Specifies which registered callback to run.
[in]bufferPointer to the data to be sent to the target node of the Active Message.
[in]countNumber of elements to send.
[in]datatypeDatatype descriptor for the elements in the buffer.
[in]cbCallback that is invoked upon completion of the data transfer if it is not completed immediately.
[in]flagsOperation flags as defined by ucp_send_am_flags.
+
+
+
Returns
NULL Active Message was sent immediately.
+
+UCS_PTR_IS_ERR(_ptr) Error sending Active Message.
+
+otherwise Pointer to request, and Active Message is known to be completed after cb is run.
+ +
+
+ +

◆ ucp_am_send_nbx()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_am_send_nbx (ucp_ep_h ep,
unsigned id,
const void * header,
size_t header_length,
const void * buffer,
size_t count,
const ucp_request_param_tparam 
)
+
+

This routine sends an Active Message to an ep. If the operation completes immediately, then the routine returns NULL and the callback function is ignored, even if specified. Otherwise, if no error is reported and a callback is requested (i.e. the UCP_OP_ATTR_FIELD_CALLBACK flag is set in the op_attr_mask field of param), then the UCP library will schedule invocation of the callback routine param->cb.send upon completion of the operation.

+
Note
If UCP_OP_ATTR_FLAG_NO_IMM_CMPL flag is set in the op_attr_mask field of param, then the operation will return a request handle, even if it completes immediately.
+
+This operation supports specific flags, which can be passed in param by ucp_request_param_t::flags. The exact set of flags is defined by ucp_send_am_flags.
+
Parameters
+ + + + + + + + +
[in]epUCP endpoint where the Active Message will be run.
[in]idActive Message id. Specifies which registered callback to run.
[in]headerUser defined Active Message header. NULL value is allowed if no header needed. In this case header_length should be set to 0.
[in]header_lengthActive message header length in bytes.
[in]bufferPointer to the data to be sent to the target node of the Active Message.
[in]countNumber of elements to send.
[in]paramOperation parameters, see ucp_request_param_t.
+
+
+
Note
Sending only header without actual data is allowed and is recommended for transferring a latency-critical amount of data.
+
+The maximum allowed header size can be obtained by querying worker attributes by the ucp_worker_query routine.
+
Returns
NULL - Active Message was sent immediately.
+
+UCS_PTR_IS_ERR(_ptr) - Error sending Active Message.
+
+otherwise - Operation was scheduled for send and can be completed at any point in time. The request handle is returned to the application in order to track progress of the message. If user request was not provided in param->request, the application is responsible for releasing the handle using ucp_request_free routine.
+
Examples
ucp_client_server.c.
+
+ +
+
+ +

◆ ucp_am_recv_data_nbx()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_am_recv_data_nbx (ucp_worker_h worker,
void * data_desc,
void * buffer,
size_t count,
const ucp_request_param_tparam 
)
+
+

This routine receives a message that is described by the data descriptor data_desc, local address buffer, size count and param parameters on the worker. The routine is non-blocking and therefore returns immediately. The receive operation is considered completed when the message is delivered to the buffer. If the receive operation cannot be started the routine returns an error.

+
Note
This routine can be performed on any valid data descriptor delivered in ucp_am_recv_callback_t. Data descriptor is considered to be valid if:
    +
  • It is a rendezvous request (UCP_AM_RECV_ATTR_FLAG_RNDV is set in ucp_am_recv_param_t::recv_attr) or
  • +
  • It is a persistent data pointer (UCP_AM_RECV_ATTR_FLAG_DATA is set in ucp_am_recv_param_t::recv_attr). In this case receive operation may be needed to unpack data to device memory (for example GPU device) or some specific datatype.
  • +
+
+
+After this call UCP takes ownership of data_desc descriptor, so there is no need to release it even if the operation fails. The routine returns a request handle instead, which can be used for tracking operation progress.
+
Parameters
+ + + + + + +
[in]workerWorker that is used for the receive operation.
[in]data_descData descriptor, provided in ucp_am_recv_callback_t routine.
[in]bufferPointer to the buffer to receive the data.
[in]countNumber of elements to receive into buffer.
[in]paramOperation parameters, see ucp_request_param_t.
+
+
+
Returns
NULL - The receive operation was completed immediately. In this case, if param->recv_info.length is specified in the param, the value to which it points is updated with the size of the received message.
+
+UCS_PTR_IS_ERR(_ptr) - The receive operation failed.
+
+otherwise - Receive operation was scheduled and can be completed at any point in time. The request handle is returned to the application in order to track operation progress. If user request was not provided in param->request, the application is responsible for releasing the handle using ucp_request_free routine.
+
Examples
ucp_client_server.c.
+
+ +
+
+ +

◆ ucp_am_data_release()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ucp_am_data_release (ucp_worker_h worker,
void * data 
)
+
+

This routine releases data that persisted through an Active Message callback because that callback returned UCS_INPROGRESS.

+
Parameters
+ + + +
[in]workerWorker which received the Active Message.
[in]dataPointer to data that was passed into the Active Message callback as the data parameter.
+
+
+ +
+
+ +

◆ ucp_stream_send_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_stream_send_nb (ucp_ep_h ep,
const void * buffer,
size_t count,
ucp_datatype_t datatype,
ucp_send_callback_t cb,
unsigned flags 
)
+
+

This routine sends data that is described by the local address buffer, size count, and datatype object to the destination endpoint ep. The routine is non-blocking and therefore returns immediately, however the actual send operation may be delayed. The send operation is considered completed when it is safe to reuse the source buffer. If the send operation is completed immediately the routine returns UCS_OK and the callback function cb is not invoked. If the operation is not completed immediately and no error reported, then the UCP library will schedule invocation of the callback cb upon completion of the send operation. In other words, the completion of the operation will be signaled either by the return code or by the callback.

+
Note
The user should not modify any part of the buffer after this operation is called, until the operation completes.
+
Parameters
+ + + + + + + +
[in]epDestination endpoint handle.
[in]bufferPointer to the message buffer (payload).
[in]countNumber of elements to send.
[in]datatypeDatatype descriptor for the elements in the buffer.
[in]cbCallback function that is invoked whenever the send operation is completed. It is important to note that the callback is only invoked in the event that the operation cannot be completed in place.
[in]flagsReserved for future use.
+
+
+
Returns
NULL - The send operation was completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The send operation failed.
+
+otherwise - Operation was scheduled for send and can be completed in any point in time. The request handle is returned to the application in order to track progress of the message. The application is responsible for releasing the handle using ucp_request_free routine.
+ +
+
+ +

◆ ucp_stream_send_nbx()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_stream_send_nbx (ucp_ep_h ep,
const void * buffer,
size_t count,
const ucp_request_param_tparam 
)
+
+

This routine sends data that is described by the local address buffer, size count object to the destination endpoint ep. The routine is non-blocking and therefore returns immediately, however the actual send operation may be delayed. The send operation is considered completed when it is safe to reuse the source buffer. If the send operation is completed immediately the routine returns UCS_OK.

+
Note
The user should not modify any part of the buffer after this operation is called, until the operation completes.
+
Parameters
+ + + + + +
[in]epDestination endpoint handle.
[in]bufferPointer to the message buffer (payload).
[in]countNumber of elements to send.
[in]paramOperation parameters, see ucp_request_param_t.
+
+
+
Returns
NULL - The send operation was completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The send operation failed.
+
+otherwise - Operation was scheduled for send and can be completed at any point in time. The request handle is returned to the application in order to track progress of the message.
+
Examples
ucp_client_server.c.
+
+ +
+
+ +

◆ ucp_tag_send_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_tag_send_nb (ucp_ep_h ep,
const void * buffer,
size_t count,
ucp_datatype_t datatype,
ucp_tag_t tag,
ucp_send_callback_t cb 
)
+
+

This routine sends a messages that is described by the local address buffer, size count, and datatype object to the destination endpoint ep. Each message is associated with a tag value that is used for message matching on the receiver. The routine is non-blocking and therefore returns immediately, however the actual send operation may be delayed. The send operation is considered completed when it is safe to reuse the source buffer. If the send operation is completed immediately the routine return UCS_OK and the call-back function cb is not invoked. If the operation is not completed immediately and no error reported then the UCP library will schedule to invoke the call-back cb whenever the send operation will be completed. In other words, the completion of a message can be signaled by the return code or the call-back.

+
Note
The user should not modify any part of the buffer after this operation is called, until the operation completes.
+
Parameters
+ + + + + + + +
[in]epDestination endpoint handle.
[in]bufferPointer to the message buffer (payload).
[in]countNumber of elements to send
[in]datatypeDatatype descriptor for the elements in the buffer.
[in]tagMessage tag.
[in]cbCallback function that is invoked whenever the send operation is completed. It is important to note that the call-back is only invoked in a case when the operation cannot be completed in place.
+
+
+
Returns
NULL - The send operation was completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The send operation failed.
+
+otherwise - Operation was scheduled for send and can be completed in any point in time. The request handle is returned to the application in order to track progress of the message. The application is responsible for releasing the handle using ucp_request_free() routine.
+ +
+
+ +

◆ ucp_tag_send_nbr()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_tag_send_nbr (ucp_ep_h ep,
const void * buffer,
size_t count,
ucp_datatype_t datatype,
ucp_tag_t tag,
void * req 
)
+
+

This routine provides a convenient and efficient way to implement a blocking send pattern. It also completes requests faster than ucp_tag_send_nb() because:

    +
  • it always uses eager protocol to send data up to the rendezvous threshold.
  • +
  • its rendezvous threshold is higher than the one used by the ucp_tag_send_nb(). The threshold is controlled by the UCX_SEND_NBR_RNDV_THRESH environment variable.
  • +
  • its request handling is simpler. There is no callback and no need to allocate and free requests. In fact request can be allocated by caller on the stack.
  • +
+

This routine sends a messages that is described by the local address buffer, size count, and datatype object to the destination endpoint ep. Each message is associated with a tag value that is used for message matching on the receiver.

+

The routine is non-blocking and therefore returns immediately, however the actual send operation may be delayed. The send operation is considered completed when it is safe to reuse the source buffer. If the send operation is completed immediately the routine returns UCS_OK.

+

If the operation is not completed immediately and no error reported then the UCP library will fill a user provided req and return UCS_INPROGRESS status. In order to monitor completion of the operation ucp_request_check_status() should be used.

+

Following pseudo code implements a blocking send function:

MPI_send(...)
+
{
+
char *request;
+
ucs_status_t status;
+
+
// allocate request on the stack
+
// ucp_context_query() was used to get ucp_request_size
+
request = alloca(ucp_request_size);
+
+
// note: make sure that there is enough memory before the
+
// request handle
+
status = ucp_tag_send_nbr(ep, ..., request + ucp_request_size);
+
if (status != UCS_INPROGRESS) {
+
return status;
+
}
+
+
do {
+ +
status = ucp_request_check_status(request + ucp_request_size);
+
} while (status == UCS_INPROGRESS);
+
+
return status;
+
}
+
Note
The user should not modify any part of the buffer after this operation is called, until the operation completes.
+
Parameters
+ + + + + + + +
[in]epDestination endpoint handle.
[in]bufferPointer to the message buffer (payload).
[in]countNumber of elements to send
[in]datatypeDatatype descriptor for the elements in the buffer.
[in]tagMessage tag.
[in]reqRequest handle allocated by the user. There should be at least UCP request size bytes of available space before the req. The size of UCP request can be obtained by ucp_context_query function.
+
+
+
Returns
UCS_OK - The send operation was completed immediately.
+
+UCS_INPROGRESS - The send was not completed and is in progress. ucp_request_check_status() should be used to monitor req status.
+
+Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_tag_send_sync_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_tag_send_sync_nb (ucp_ep_h ep,
const void * buffer,
size_t count,
ucp_datatype_t datatype,
ucp_tag_t tag,
ucp_send_callback_t cb 
)
+
+

Same as ucp_tag_send_nb, except the request completes only after there is a remote tag match on the message (which does not always mean the remote receive has been completed). This function never completes "in-place", and always returns a request handle.

+
Note
The user should not modify any part of the buffer after this operation is called, until the operation completes.
+
+Returns UCS_ERR_UNSUPPORTED if UCP_ERR_HANDLING_MODE_PEER is enabled. This is a temporary implementation-related constraint that will be addressed in future releases.
+
Parameters
+ + + + + + + +
[in]epDestination endpoint handle.
[in]bufferPointer to the message buffer (payload).
[in]countNumber of elements to send
[in]datatypeDatatype descriptor for the elements in the buffer.
[in]tagMessage tag.
[in]cbCallback function that is invoked whenever the send operation is completed.
+
+
+
Returns
UCS_PTR_IS_ERR(_ptr) - The send operation failed.
+
+otherwise - Operation was scheduled for send and can be completed in any point in time. The request handle is returned to the application in order to track progress of the message. The application is responsible for releasing the handle using ucp_request_free() routine.
+ +
+
+ +

◆ ucp_tag_send_nbx()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_tag_send_nbx (ucp_ep_h ep,
const void * buffer,
size_t count,
ucp_tag_t tag,
const ucp_request_param_tparam 
)
+
+

This routine sends a messages that is described by the local address buffer, size count object to the destination endpoint ep. Each message is associated with a tag value that is used for message matching on the ucp_tag_recv_nb or receiver. The routine is non-blocking and therefore returns immediately, however the actual send operation may be delayed. The send operation is considered completed when it is safe to reuse the source buffer. If the send operation is completed immediately the routine returns UCS_OK and the call-back function is not invoked. If the operation is not completed immediately and no error reported then the UCP library will schedule to invoke the call-back whenever the send operation is completed. In other words, the completion of a message can be signaled by the return code or the call-back. Immediate completion signals can be fine-tuned via the ucp_request_param_t::op_attr_mask field in the ucp_request_param_t structure. The values of this field are a bit-wise OR of the ucp_op_attr_t enumeration.

+
Note
The user should not modify any part of the buffer after this operation is called, until the operation completes.
+
Parameters
+ + + + + + +
[in]epDestination endpoint handle.
[in]bufferPointer to the message buffer (payload).
[in]countNumber of elements to send
[in]tagMessage tag.
[in]paramOperation parameters, see ucp_request_param_t
+
+
+
Returns
UCS_OK - The send operation was completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The send operation failed.
+
+otherwise - Operation was scheduled for send and can be completed in any point in time. The request handle is returned to the application in order to track progress of the message.
+
Examples
ucp_client_server.c, and ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_tag_send_sync_nbx()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_tag_send_sync_nbx (ucp_ep_h ep,
const void * buffer,
size_t count,
ucp_tag_t tag,
const ucp_request_param_tparam 
)
+
+

Same as ucp_tag_send_nbx, except the request completes only after there is a remote tag match on the message (which does not always mean the remote receive has been completed). This function never completes "in-place", and always returns a request handle.

+
Note
The user should not modify any part of the buffer after this operation is called, until the operation completes.
+
+Returns UCS_ERR_UNSUPPORTED if UCP_ERR_HANDLING_MODE_PEER is enabled. This is a temporary implementation-related constraint that will be addressed in future releases.
+
Parameters
+ + + + + + +
[in]epDestination endpoint handle.
[in]bufferPointer to the message buffer (payload).
[in]countNumber of elements to send
[in]tagMessage tag.
[in]paramOperation parameters, see ucp_request_param_t
+
+
+
Returns
UCS_OK - The send operation was completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The send operation failed.
+
+otherwise - Operation was scheduled for send and can be completed in any point in time. The request handle is returned to the application in order to track progress of the message.
+ +
+
+ +

◆ ucp_stream_recv_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_stream_recv_nb (ucp_ep_h ep,
void * buffer,
size_t count,
ucp_datatype_t datatype,
ucp_stream_recv_callback_t cb,
size_t * length,
unsigned flags 
)
+
+

This routine receives data that is described by the local address buffer, size count, and datatype object on the endpoint ep. The routine is non-blocking and therefore returns immediately. The receive operation is considered complete when the message is delivered to the buffer. If data is not immediately available, the operation will be scheduled for receive and a request handle will be returned. In order to notify the application about completion of a scheduled receive operation, the UCP library will invoke the call-back cb when data is in the receive buffer and ready for application access. If the receive operation cannot be started, the routine returns an error.

+
Parameters
+ + + + + + + +
[in]epUCP endpoint that is used for the receive operation.
[in]bufferPointer to the buffer to receive the data.
[in]countNumber of elements to receive into buffer.
[in]datatypeDatatype descriptor for the elements in the buffer.
[in]cbCallback function that is invoked whenever the receive operation is completed and the data is ready in the receive buffer. It is important to note that the call-back is only invoked in a case when the operation cannot be completed immediately.
[out]lengthSize of the received data in bytes. The value is valid only if return code is UCS_OK.
+
+
+
Note
The amount of data received, in bytes, is always an integral multiple of the datatype size.
+
Parameters
+ + +
[in]flagsFlags defined in ucp_stream_recv_flags_t.
+
+
+
Returns
NULL - The receive operation was completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The receive operation failed.
+
+otherwise - Operation was scheduled for receive. A request handle is returned to the application in order to track progress of the operation. The application is responsible for releasing the handle by calling the ucp_request_free routine.
+ +
+
+ +

◆ ucp_stream_recv_nbx()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_stream_recv_nbx (ucp_ep_h ep,
void * buffer,
size_t count,
size_t * length,
const ucp_request_param_tparam 
)
+
+

This routine receives data that is described by the local address buffer, size count object on the endpoint ep. The routine is non-blocking and therefore returns immediately. The receive operation is considered complete when the message is delivered to the buffer. If the receive operation cannot be started, the routine returns an error.

+
Parameters
+ + + + + + +
[in]epUCP endpoint that is used for the receive operation.
[in]bufferPointer to the buffer that will receive the data.
[in]countNumber of elements to receive into buffer.
[out]lengthSize of the received data in bytes. The value is valid only if return code is NULL.
[in]paramOperation parameters, see ucp_request_param_t. This operation supports specific flags, which can be passed in param by ucp_request_param_t::flags. The exact set of flags is defined by ucp_stream_recv_flags_t.
+
+
+
Returns
NULL - The receive operation was completed immediately. In this case the value pointed by length is updated by the size of received data. Note param->recv_info is not relevant for this function.
+
+UCS_PTR_IS_ERR(_ptr) - The receive operation failed.
+
+otherwise - Operation was scheduled for receive. A request handle is returned to the application in order to track progress of the operation.
+
Note
The amount of data received, in bytes, is always an integral multiple of the datatype size.
+
Examples
ucp_client_server.c.
+
+ +
+
+ +

◆ ucp_stream_recv_data_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_stream_recv_data_nb (ucp_ep_h ep,
size_t * length 
)
+
+

This routine receives any available data from endpoint ep. Unlike ucp_stream_recv_nb, the returned data is unstructured and is treated as an array of bytes. If data is immediately available, UCS_STATUS_PTR(_ptr) is returned as a pointer to the data, and length is set to the size of the returned data buffer. The routine is non-blocking and therefore returns immediately.

+
Parameters
+ + + +
[in]epUCP endpoint that is used for the receive operation.
[out]lengthLength of received data.
+
+
+
Returns
NULL - No received data available on the ep.
+
+UCS_PTR_IS_ERR(_ptr) - the receive operation failed and UCS_PTR_STATUS(_ptr) indicates an error.
+
+otherwise - The pointer to the data UCS_STATUS_PTR(_ptr) is returned to the application. After the data is processed, the application is responsible for releasing the data buffer by calling the ucp_stream_data_release routine.
+
Note
This function returns packed data (equivalent to ucp_dt_make_contig(1)).
+
+This function returns a pointer to a UCP-supplied buffer, whereas ucp_stream_recv_nb places the data into a user-provided buffer. In some cases, receiving data directly into a UCP-supplied buffer can be more optimal, for example by processing the incoming data in-place and thus avoiding extra memory copy operations.
+ +
+
+ +

◆ ucp_tag_recv_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_tag_recv_nb (ucp_worker_h worker,
void * buffer,
size_t count,
ucp_datatype_t datatype,
ucp_tag_t tag,
ucp_tag_t tag_mask,
ucp_tag_recv_callback_t cb 
)
+
+

This routine receives a message that is described by the local address buffer, size count, and datatype object on the worker. The tag value of the receive message has to match the tag and tag_mask values, where the tag_mask indicates which bits of the tag have to be matched. The routine is non-blocking and therefore returns immediately. The receive operation is considered completed when the message is delivered to the buffer. In order to notify the application about completion of the receive operation the UCP library will invoke the call-back cb when the received message is in the receive buffer and ready for application access. If the receive operation cannot be stated the routine returns an error.

+
Note
This routine cannot return UCS_OK. It always returns a request handle or an error.
+
Parameters
+ + + + + + + + +
[in]workerUCP worker that is used for the receive operation.
[in]bufferPointer to the buffer to receive the data.
[in]countNumber of elements to receive
[in]datatypeDatatype descriptor for the elements in the buffer.
[in]tagMessage tag to expect.
[in]tag_maskBit mask that indicates the bits that are used for the matching of the incoming tag against the expected tag.
[in]cbCallback function that is invoked whenever the receive operation is completed and the data is ready in the receive buffer.
+
+
+
Returns
UCS_PTR_IS_ERR(_ptr) - The receive operation failed.
+
+otherwise - Operation was scheduled for receive. The request handle is returned to the application in order to track progress of the operation. The application is responsible for releasing the handle using ucp_request_free() routine.
+ +
+
+ +

◆ ucp_tag_recv_nbr()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_tag_recv_nbr (ucp_worker_h worker,
void * buffer,
size_t count,
ucp_datatype_t datatype,
ucp_tag_t tag,
ucp_tag_t tag_mask,
void * req 
)
+
+

This routine receives a message that is described by the local address buffer, size count, and datatype object on the worker. The tag value of the receive message has to match the tag and tag_mask values, where the tag_mask indicates which bits of the tag have to be matched. The routine is non-blocking and therefore returns immediately. The receive operation is considered completed when the message is delivered to the buffer. In order to monitor completion of the operation ucp_request_check_status or ucp_tag_recv_request_test should be used.

+
Parameters
+ + + + + + + + +
[in]workerUCP worker that is used for the receive operation.
[in]bufferPointer to the buffer to receive the data.
[in]countNumber of elements to receive
[in]datatypeDatatype descriptor for the elements in the buffer.
[in]tagMessage tag to expect.
[in]tag_maskBit mask that indicates the bits that are used for the matching of the incoming tag against the expected tag.
[in]reqRequest handle allocated by the user. There should be at least UCP request size bytes of available space before the req. The size of UCP request can be obtained by ucp_context_query function.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_tag_recv_nbx()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_tag_recv_nbx (ucp_worker_h worker,
void * buffer,
size_t count,
ucp_tag_t tag,
ucp_tag_t tag_mask,
const ucp_request_param_tparam 
)
+
+

This routine receives a message that is described by the local address buffer, size count, and info object on the worker. The tag value of the receive message has to match the tag and tag_mask values, where the tag_mask indicates what bits of the tag have to be matched. The routine is a non-blocking and therefore returns immediately. The receive operation is considered completed when the message is delivered to the buffer. In order to notify the application about completion of the receive operation the UCP library will invoke the call-back cb when the received message is in the receive buffer and ready for application access. If the receive operation cannot be stated the routine returns an error.

+
Parameters
+ + + + + + + +
[in]workerUCP worker that is used for the receive operation.
[in]bufferPointer to the buffer to receive the data.
[in]countNumber of elements to receive
[in]tagMessage tag to expect.
[in]tag_maskBit mask that indicates the bits that are used for the matching of the incoming tag against the expected tag.
[in]paramOperation parameters, see ucp_request_param_t
+
+
+
Returns
NULL - The receive operation was completed immediately. In this case, if param->recv_info.tag_info is specified in the param, the value to which it points is updated with the information about the received message.
+
+UCS_PTR_IS_ERR(_ptr) - The receive operation failed.
+
+otherwise - Operation was scheduled for receive. The request handle is returned to the application in order to track progress of the operation. The application is responsible for releasing the handle using ucp_request_free() routine.
+
Examples
ucp_client_server.c.
+
+ +
+
+ +

◆ ucp_tag_probe_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucp_tag_message_h ucp_tag_probe_nb (ucp_worker_h worker,
ucp_tag_t tag,
ucp_tag_t tag_mask,
int remove,
ucp_tag_recv_info_tinfo 
)
+
+

This routine probes (checks) if a messages described by the tag and tag_mask was received (fully or partially) on the worker. The tag value of the received message has to match the tag and tag_mask values, where the tag_mask indicates what bits of the tag have to be matched. The function returns immediately and if the message is matched it returns a handle for the message.

+
Parameters
+ + + + + + +
[in]workerUCP worker that is used for the probe operation.
[in]tagMessage tag to probe for.
[in]tag_maskBit mask that indicates the bits that are used for the matching of the incoming tag against the expected tag.
[in]removeThe flag indicates if the matched message has to be removed from UCP library. If true (1), the message handle is removed from the UCP library and the application is responsible to call ucp_tag_msg_recv_nb() in order to receive the data and release the resources associated with the message handle. If false (0), the return value is merely an indication to whether a matching message is present, and it cannot be used in any other way, and in particular it cannot be passed to ucp_tag_msg_recv_nb().
[out]infoIf the matching message is found the descriptor is filled with the details about the message.
+
+
+
Returns
NULL - No match found.
+
+Message handle (not NULL) - If message is matched the message handle is returned.
+
Note
This function does not advance the communication state of the network. If this routine is used in busy-poll mode, need to make sure ucp_worker_progress() is called periodically to extract messages from the transport.
+
Examples
ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_tag_msg_recv_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_tag_msg_recv_nb (ucp_worker_h worker,
void * buffer,
size_t count,
ucp_datatype_t datatype,
ucp_tag_message_h message,
ucp_tag_recv_callback_t cb 
)
+
+

This routine receives a message that is described by the local address buffer, size count, message handle, and datatype object on the worker. The message handle can be obtained by calling the ucp_tag_probe_nb() routine. The ucp_tag_msg_recv_nb() routine is non-blocking and therefore returns immediately. The receive operation is considered completed when the message is delivered to the buffer. In order to notify the application about completion of the receive operation the UCP library will invoke the call-back cb when the received message is in the receive buffer and ready for application access. If the receive operation cannot be started the routine returns an error.

+
Parameters
+ + + + + + + +
[in]workerUCP worker that is used for the receive operation.
[in]bufferPointer to the buffer that will receive the data.
[in]countNumber of elements to receive
[in]datatypeDatatype descriptor for the elements in the buffer.
[in]messageMessage handle.
[in]cbCallback function that is invoked whenever the receive operation is completed and the data is ready in the receive buffer.
+
+
+
Returns
UCS_PTR_IS_ERR(_ptr) - The receive operation failed.
+
+otherwise - Operation was scheduled for receive. The request handle is returned to the application in order to track progress of the operation. The application is responsible for releasing the handle using ucp_request_free() routine.
+
Examples
ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_tag_msg_recv_nbx()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_tag_msg_recv_nbx (ucp_worker_h worker,
void * buffer,
size_t count,
ucp_tag_message_h message,
const ucp_request_param_tparam 
)
+
+

This routine receives a message that is described by the local address buffer, size count, and message handle on the worker. The message handle can be obtained by calling the ucp_tag_probe_nb() routine. The ucp_tag_msg_recv_nbx() routine is non-blocking and therefore returns immediately. The receive operation is considered completed when the message is delivered to the buffer. In order to notify the application about completion of the receive operation the UCP library will invoke the call-back cb when the received message is in the receive buffer and ready for application access. If the receive operation cannot be started the routine returns an error.

+
Parameters
+ + + + + + +
[in]workerUCP worker that is used for the receive operation.
[in]bufferPointer to the buffer that will receive the data.
[in]countNumber of elements to receive
[in]messageMessage handle.
[in]paramOperation parameters, see ucp_request_param_t
+
+
+
Returns
UCS_PTR_IS_ERR(_ptr) - The receive operation failed.
+
+otherwise - Operation was scheduled for receive. The request handle is returned to the application in order to track progress of the operation. The application is responsible for releasing the handle using ucp_request_free() routine.
+ +
+
+ +

◆ ucp_put_nbi()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_put_nbi (ucp_ep_h ep,
const void * buffer,
size_t length,
uint64_t remote_addr,
ucp_rkey_h rkey 
)
+
+

This routine initiates a storage of contiguous block of data that is described by the local address buffer in the remote contiguous memory region described by remote_addr address and the memoryhandle" rkey. The routine returns immediately and does not guarantee re-usability of the source address buffer. If the operation is completed immediately the routine return UCS_OK, otherwise UCS_INPROGRESS or an error is returned to user.

+
Note
A user can use ucp_worker_flush_nb() in order to guarantee re-usability of the source address buffer.
+
Parameters
+ + + + + + +
[in]epRemote endpoint handle.
[in]bufferPointer to the local source address.
[in]lengthLength of the data (in bytes) stored under the source address.
[in]remote_addrPointer to the destination remote memory address to write to.
[in]rkeyRemote memory key associated with the remote memory address.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_put_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_put_nb (ucp_ep_h ep,
const void * buffer,
size_t length,
uint64_t remote_addr,
ucp_rkey_h rkey,
ucp_send_callback_t cb 
)
+
+

This routine initiates a storage of contiguous block of data that is described by the local address buffer in the remote contiguous memory region described by remote_addr address and the memoryhandle" rkey. The routine returns immediately and does not guarantee re-usability of the source address buffer. If the operation is completed immediately the routine return UCS_OK, otherwise UCS_INPROGRESS or an error is returned to user. If the put operation completes immediately, the routine returns UCS_OK and the call-back routine cb is not invoked. If the operation is not completed immediately and no error is reported, then the UCP library will schedule invocation of the call-back routine cb upon completion of the put operation. In other words, the completion of a put operation can be signaled by the return code or execution of the call-back.

+
Note
A user can use ucp_worker_flush_nb() in order to guarantee re-usability of the source address buffer.
+
Parameters
+ + + + + + + +
[in]epRemote endpoint handle.
[in]bufferPointer to the local source address.
[in]lengthLength of the data (in bytes) stored under the source address.
[in]remote_addrPointer to the destination remote memory address to write to.
[in]rkeyRemote memory key associated with the remote memory address.
[in]cbCall-back function that is invoked whenever the put operation is completed and the local buffer can be modified. Does not guarantee remote completion.
+
+
+
Returns
NULL - The operation was completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The operation failed.
+
+otherwise - Operation was scheduled and can be completed at any point in time. The request handle is returned to the application in order to track progress of the operation. The application is responsible for releasing the handle using ucp_request_free() routine.
+ +
+
+ +

◆ ucp_put_nbx()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_put_nbx (ucp_ep_h ep,
const void * buffer,
size_t count,
uint64_t remote_addr,
ucp_rkey_h rkey,
const ucp_request_param_tparam 
)
+
+

This routine initiates a storage of contiguous block of data that is described by the local address buffer in the remote contiguous memory region described by remote_addr address and the memoryhandle" rkey. The routine returns immediately and does not guarantee re-usability of the source address buffer. If the operation is completed immediately the routine return UCS_OK, otherwise UCS_INPROGRESS or an error is returned to user. If the put operation completes immediately, the routine returns UCS_OK and the call-back routine param.cb.send is not invoked. If the operation is not completed immediately and no error is reported, then the UCP library will schedule invocation of the call-back routine param.cb.send upon completion of the put operation. In other words, the completion of a put operation can be signaled by the return code or execution of the call-back. Immediate completion signals can be fine-tuned via the ucp_request_param_t::op_attr_mask field in the ucp_request_param_t structure. The values of this field are a bit-wise OR of the ucp_op_attr_t enumeration.

+
Note
A user can use ucp_worker_flush_nb() in order to guarantee re-usability of the source address buffer.
+
Parameters
+ + + + + + + +
[in]epRemote endpoint handle.
[in]bufferPointer to the local source address.
[in]countNumber of elements of type ucp_request_param_t::datatype to put. If ucp_request_param_t::datatype is not specified, the type defaults to ucp_dt_make_contig(1), which corresponds to byte elements.
[in]remote_addrPointer to the destination remote memory address to write to.
[in]rkeyRemote memory key associated with the remote memory address.
[in]paramOperation parameters, see ucp_request_param_t
+
+
+
Returns
UCS_OK - The operation was completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The operation failed.
+
+otherwise - Operation was scheduled and can be completed at any point in time. The request handle is returned to the application in order to track progress of the operation. The application is responsible for releasing the handle using ucp_request_free() routine.
+
Note
Only the datatype ucp_dt_make_contig(1) is supported for param->datatype, see ucp_dt_make_contig.
+ +
+
+ +

◆ ucp_get_nbi()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_get_nbi (ucp_ep_h ep,
void * buffer,
size_t length,
uint64_t remote_addr,
ucp_rkey_h rkey 
)
+
+

This routine initiate a load of contiguous block of data that is described by the remote memory address remote_addr and the memory handle rkey in the local contiguous memory region described by buffer address. The routine returns immediately and does not guarantee that remote data is loaded and stored under the local address buffer.

+
Note
A user can use ucp_worker_flush_nb() in order guarantee that remote data is loaded and stored under the local address buffer.
+
Parameters
+ + + + + + +
[in]epRemote endpoint handle.
[in]bufferPointer to the local destination address.
[in]lengthLength of the data (in bytes) stored under the destination address.
[in]remote_addrPointer to the source remote memory address to read from.
[in]rkeyRemote memory key associated with the remote memory address.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_get_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_get_nb (ucp_ep_h ep,
void * buffer,
size_t length,
uint64_t remote_addr,
ucp_rkey_h rkey,
ucp_send_callback_t cb 
)
+
+

This routine initiates a load of a contiguous block of data that is described by the remote memory address remote_addr and the memory handle rkey in the local contiguous memory region described by buffer address. The routine returns immediately and does not guarantee that remote data is loaded and stored under the local address buffer. If the operation is completed immediately the routine return UCS_OK, otherwise UCS_INPROGRESS or an error is returned to user. If the get operation completes immediately, the routine returns UCS_OK and the call-back routine cb is not invoked. If the operation is not completed immediately and no error is reported, then the UCP library will schedule invocation of the call-back routine cb upon completion of the get operation. In other words, the completion of a get operation can be signaled by the return code or execution of the call-back.

+
Note
A user can use ucp_worker_flush_nb() in order to guarantee re-usability of the source address buffer.
+
Parameters
+ + + + + + + +
[in]epRemote endpoint handle.
[in]bufferPointer to the local destination address.
[in]lengthLength of the data (in bytes) stored under the destination address.
[in]remote_addrPointer to the source remote memory address to read from.
[in]rkeyRemote memory key associated with the remote memory address.
[in]cbCall-back function that is invoked whenever the get operation is completed and the data is visible to the local process.
+
+
+
Returns
NULL - The operation was completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The operation failed.
+
+otherwise - Operation was scheduled and can be completed at any point in time. The request handle is returned to the application in order to track progress of the operation. The application is responsible for releasing the handle using ucp_request_free() routine.
+ +
+
+ +

◆ ucp_get_nbx()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_get_nbx (ucp_ep_h ep,
void * buffer,
size_t count,
uint64_t remote_addr,
ucp_rkey_h rkey,
const ucp_request_param_tparam 
)
+
+

This routine initiates a load of a contiguous block of data that is described by the remote memory address remote_addr and the memory handle rkey in the local contiguous memory region described by buffer address. The routine returns immediately and does not guarantee that remote data is loaded and stored under the local address buffer. If the operation is completed immediately the routine return UCS_OK, otherwise UCS_INPROGRESS or an error is returned to user. If the get operation completes immediately, the routine returns UCS_OK and the call-back routine param.cb.send is not invoked. If the operation is not completed immediately and no error is reported, then the UCP library will schedule invocation of the call-back routine param.cb.send upon completion of the get operation. In other words, the completion of a get operation can be signaled by the return code or execution of the call-back.

+
Note
A user can use ucp_worker_flush_nb() in order to guarantee re-usability of the source address buffer.
+
Parameters
+ + + + + + + +
[in]epRemote endpoint handle.
[in]bufferPointer to the local destination address.
[in]countNumber of elements of type ucp_request_param_t::datatype to put. If ucp_request_param_t::datatype is not specified, the type defaults to ucp_dt_make_contig(1), which corresponds to byte elements.
[in]remote_addrPointer to the source remote memory address to read from.
[in]rkeyRemote memory key associated with the remote memory address.
[in]paramOperation parameters, see ucp_request_param_t.
+
+
+
Returns
UCS_OK - The operation was completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The operation failed.
+
+otherwise - Operation was scheduled and can be completed at any point in time. The request handle is returned to the application in order to track progress of the operation. The application is responsible for releasing the handle using ucp_request_free() routine.
+
Note
Only the datatype ucp_dt_make_contig(1) is supported for param->datatype, see ucp_dt_make_contig.
+ +
+
+ +

◆ ucp_atomic_post()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_atomic_post (ucp_ep_h ep,
ucp_atomic_post_op_t opcode,
uint64_t value,
size_t op_size,
uint64_t remote_addr,
ucp_rkey_h rkey 
)
+
+

This routine posts an atomic memory operation to a remote value. The remote value is described by the combination of the remote memory address remote_addr and the remote memory handle rkey. Return from the function does not guarantee completion. A user must call ucp_ep_flush_nb or ucp_worker_flush_nb to guarantee that the remote value has been updated.

+
Parameters
+ + + + + + + +
[in]epUCP endpoint.
[in]opcodeOne of ucp_atomic_post_op_t.
[in]valueSource operand for the atomic operation.
[in]op_sizeSize of value in bytes
[in]remote_addrRemote address to operate on.
[in]rkeyRemote key handle for the remote memory address.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_atomic_fetch_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_atomic_fetch_nb (ucp_ep_h ep,
ucp_atomic_fetch_op_t opcode,
uint64_t value,
void * result,
size_t op_size,
uint64_t remote_addr,
ucp_rkey_h rkey,
ucp_send_callback_t cb 
)
+
+

This routine will post an atomic fetch operation to remote memory. The remote value is described by the combination of the remote memory address remote_addr and the remote memory handle rkey. The routine is non-blocking and therefore returns immediately. However the actual atomic operation may be delayed. The atomic operation is not considered complete until the values in remote and local memory are completed. If the atomic operation completes immediately, the routine returns UCS_OK and the call-back routine cb is not invoked. If the operation is not completed immediately and no error is reported, then the UCP library will schedule invocation of the call-back routine cb upon completion of the atomic operation. In other words, the completion of an atomic operation can be signaled by the return code or execution of the call-back.

+
Note
The user should not modify any part of the result after this operation is called, until the operation completes.
+
Parameters
+ + + + + + + + + +
[in]epUCP endpoint.
[in]opcodeOne of ucp_atomic_fetch_op_t.
[in]valueSource operand for atomic operation. In the case of CSWAP this is the conditional for the swap. For SWAP this is the value to be placed in remote memory.
[in,out]resultLocal memory address to store resulting fetch to. In the case of CSWAP the value in result will be swapped into the remote_addr if the condition is true.
[in]op_sizeSize of value in bytes and pointer type for result
[in]remote_addrRemote address to operate on.
[in]rkeyRemote key handle for the remote memory address.
[in]cbCall-back function that is invoked whenever the send operation is completed. It is important to note that the call-back function is only invoked in a case when the operation cannot be completed in place.
+
+
+
Returns
NULL - The operation was completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The operation failed.
+
+otherwise - Operation was scheduled and can be completed at any point in time. The request handle is returned to the application in order to track progress of the operation. The application is responsible for releasing the handle using ucp_request_free() routine.
+ +
+
+ +

◆ ucp_atomic_op_nbx()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_atomic_op_nbx (ucp_ep_h ep,
ucp_atomic_op_t opcode,
const void * buffer,
size_t count,
uint64_t remote_addr,
ucp_rkey_h rkey,
const ucp_request_param_tparam 
)
+
+

This routine will post an atomic operation to remote memory. The remote value is described by the combination of the remote memory address remote_addr and the remote memory handle rkey. The routine is non-blocking and therefore returns immediately. However, the actual atomic operation may be delayed. In order to enable fetching semantics for atomic operations user has to specify param.reply_buffer. Please see table below for more details.

+
Note
The user should not modify any part of the buffer (or also param->reply_buffer for fetch operations), until the operation completes.
+
+Only ucp_dt_make_config(4) and ucp_dt_make_contig(8) are supported in param->datatype, see ucp_dt_make_contig. Also, currently atomic operations can handle one element only. Thus, count argument must be set to 1.
+ + + + + + + + + + + + + + + + + +
Atomic Operations Semantic
Atomic Operation Pseudo code X Y Z Result
UCP_ATOMIC_OP_ADD Result=Y; Y+=X bufferremote_addr- param.reply_buffer(optional)
UCP_ATOMIC_OP_SWAP Result=Y; Y=X bufferremote_addr - param.reply_buffer
UCP_ATOMIC_OP_CSWAP Result=Y; if (X==Y) then Y=Zbuffer remote_addr param.reply_buffer param.reply_buffer
UCP_ATOMIC_OP_AND Result=Y; Y&=X bufferremote_addr - param.reply_buffer(optional)
UCP_ATOMIC_OP_OR Result=Y; Y|=X bufferremote_addr - param.reply_buffer(optional)
UCP_ATOMIC_OP_XOR Result=Y; Y^=X bufferremote_addr - param.reply_buffer(optional)
+
Parameters
+ + + + + + + + +
[in]epUCP endpoint.
[in]opcodeOne of ucp_atomic_op_t.
[in]bufferAddress of operand for the atomic operation. See Atomic Operations Semantic table for exact usage by different atomic operations.
[in]countNumber of elements in buffer and result. The size of each element is specified by ucp_request_param_t::datatype
[in]remote_addrRemote address to operate on.
[in]rkeyRemote key handle for the remote memory address.
[in]paramOperation parameters, see ucp_request_param_t.
+
+
+
Returns
NULL - The operation completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The operation failed.
+
+otherwise - Operation was scheduled and can be completed at some time in the future. The request handle is returned to the application in order to track progress of the operation.
+ +
+
+ +

◆ ucp_request_check_status()

+ +
+
+ + + + + + + + +
ucs_status_t ucp_request_check_status (void * request)
+
+

This routine checks the state of the request and returns its current status. Any value different from UCS_INPROGRESS means that request is in a completed state.

+
Parameters
+ + +
[in]requestNon-blocking request to check.
+
+
+
Returns
Error code as defined by ucs_status_t
+
Examples
ucp_client_server.c, and ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_tag_recv_request_test()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_tag_recv_request_test (void * request,
ucp_tag_recv_info_tinfo 
)
+
+

This routine checks the state and returns current status of the request returned from ucp_tag_recv_nb routine or the user allocated request for ucp_tag_recv_nbr. Any value different from UCS_INPROGRESS means that the request is in a completed state.

+
Parameters
+ + + +
[in]requestNon-blocking request to check.
[out]infoIt is filled with the details about the message available at the moment of calling.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_stream_recv_request_test()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_stream_recv_request_test (void * request,
size_t * length_p 
)
+
+

This routine checks the state and returns current status of the request returned from ucp_stream_recv_nb routine. Any value different from UCS_INPROGRESS means that the request is in a completed state.

+
Parameters
+ + + +
[in]requestNon-blocking request to check.
[out]length_pThe size of the received data in bytes. This value is only valid if the status is UCS_OK. If valid, it is always an integral multiple of the datatype size associated with the request.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_request_cancel()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ucp_request_cancel (ucp_worker_h worker,
void * request 
)
+
+
Parameters
+ + + +
[in]workerUCP worker.
[in]requestNon-blocking request to cancel.
+
+
+

This routine tries to cancels an outstanding communication request. After calling this routine, the request will be in completed or canceled (but not both) state regardless of the status of the target endpoint associated with the communication request. If the request is completed successfully, the send or receive completion callbacks (based on the type of the request) will be called with the status argument of the callback set to UCS_OK, and in a case it is canceled the status argument is set to UCS_ERR_CANCELED. It is important to note that in order to release the request back to the library the application is responsible for calling ucp_request_free().

+ +
+
+ +

◆ ucp_stream_data_release()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ucp_stream_data_release (ucp_ep_h ep,
void * data 
)
+
+
Parameters
+ + + +
[in]epEndpoint data received from.
[in]dataData pointer to release, which was returned from ucp_stream_recv_data_nb.
+
+
+

This routine releases internal UCP data buffer returned by ucp_stream_recv_data_nb when data is processed, the application can't use this buffer after calling this function.

+ +
+
+ +

◆ ucp_request_free()

+ +
+
+ + + + + + + + +
void ucp_request_free (void * request)
+
+
Parameters
+ + +
[in]requestNon-blocking request to release.
+
+
+

This routine releases the non-blocking request back to the library, regardless of its current state. Communications operations associated with this request will make progress internally, however no further notifications or callbacks will be invoked for this request.

+
Examples
ucp_client_server.c, and ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_request_alloc()

+ +
+
+ + + + + + + + +
void* ucp_request_alloc (ucp_worker_h worker)
+
+
Parameters
+ + +
[in]workerUCP worker.
+
+
+
Returns
Error code as defined by ucs_status_t
+

This routine creates request which may be used in functions ucp_tag_send_nbx, ucp_tag_recv_nbx, etc. The application is responsible for releasing the handle using the ucp_request_free routine

+ +
+
+ +

◆ ucp_request_is_completed()

+ +
+
+ + + + + + + + +
int ucp_request_is_completed (void * request)
+
+
Deprecated:
Replaced by ucp_request_test.
+ +
+
+ +

◆ ucp_put()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_put (ucp_ep_h ep,
const void * buffer,
size_t length,
uint64_t remote_addr,
ucp_rkey_h rkey 
)
+
+
Deprecated:
Replaced by ucp_put_nb. The following example implements the same functionality using ucp_put_nb :
+
void empty_callback(void *request, ucs_status_t status)
+
{
+
}
+
+
ucs_status_t put(ucp_ep_h ep, const void *buffer, size_t length,
+
uint64_t remote_addr, ucp_rkey_h rkey)
+
{
+
void *request = ucp_put_nb(ep, buffer, length, remote_addr, rkey,
+
empty_callback),
+
if (request == NULL) {
+
return UCS_OK;
+
} else if (UCS_PTR_IS_ERR(request)) {
+
return UCS_PTR_STATUS(request);
+
} else {
+
ucs_status_t status;
+
do {
+ +
status = ucp_request_check_status(request);
+
} while (status == UCS_INPROGRESS);
+ +
return status;
+
}
+
}
+

This routine stores contiguous block of data that is described by the local address buffer in the remote contiguous memory region described by remote_addr address and the memory handle rkey. The routine returns when it is safe to reuse the source address buffer.

+
Parameters
+ + + + + + +
[in]epRemote endpoint handle.
[in]bufferPointer to the local source address.
[in]lengthLength of the data (in bytes) stored under the source address.
[in]remote_addrPointer to the destination remote address to write to.
[in]rkeyRemote memory key associated with the remote address.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_get()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_get (ucp_ep_h ep,
void * buffer,
size_t length,
uint64_t remote_addr,
ucp_rkey_h rkey 
)
+
+
Deprecated:
Replaced by ucp_get_nb.
+
See also
ucp_put.
+

This routine loads contiguous block of data that is described by the remote address remote_addr and the memory handle rkey in the local contiguous memory region described by buffer address. The routine returns when remote data is loaded and stored under the local address buffer.

+
Parameters
+ + + + + + +
[in]epRemote endpoint handle.
[in]bufferPointer to the local source address.
[in]lengthLength of the data (in bytes) stored under the source address.
[in]remote_addrPointer to the destination remote address to write to.
[in]rkeyRemote memory key associated with the remote address.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_atomic_add32()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_atomic_add32 (ucp_ep_h ep,
uint32_t add,
uint64_t remote_addr,
ucp_rkey_h rkey 
)
+
+
Deprecated:
Replaced by ucp_atomic_post with opcode UCP_ATOMIC_POST_OP_ADD.
+
See also
ucp_put.
+

This routine performs an add operation on a 32 bit integer value atomically. The remote integer value is described by the combination of the remote memory address remote_addr and the remote memory handle rkey. The add value is the value that is used for the add operation. When the operation completes the sum of the original remote value and the operand value (add) is stored in remote memory. The call to the routine returns immediately, independent of operation completion.

+
Note
The remote address must be aligned to 32 bit.
+
Parameters
+ + + + + +
[in]epRemote endpoint handle.
[in]addValue to add.
[in]remote_addrPointer to the destination remote address of the atomic variable.
[in]rkeyRemote memory key associated with the remote address.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_atomic_add64()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_atomic_add64 (ucp_ep_h ep,
uint64_t add,
uint64_t remote_addr,
ucp_rkey_h rkey 
)
+
+
Deprecated:
Replaced by ucp_atomic_post with opcode UCP_ATOMIC_POST_OP_ADD.
+
See also
ucp_put.
+

This routine performs an add operation on a 64 bit integer value atomically. The remote integer value is described by the combination of the remote memory address remote_addr and the remote memory handle rkey. The add value is the value that is used for the add operation. When the operation completes the sum of the original remote value and the operand value (add) is stored in remote memory. The call to the routine returns immediately, independent of operation completion.

+
Note
The remote address must be aligned to 64 bit.
+
Parameters
+ + + + + +
[in]epRemote endpoint handle.
[in]addValue to add.
[in]remote_addrPointer to the destination remote address of the atomic variable.
[in]rkeyRemote memory key associated with the remote address.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_atomic_fadd32()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_atomic_fadd32 (ucp_ep_h ep,
uint32_t add,
uint64_t remote_addr,
ucp_rkey_h rkey,
uint32_t * result 
)
+
+
Deprecated:
Replaced by ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_FADD.
+
See also
ucp_put.
+

This routine performs an add operation on a 32 bit integer value atomically. The remote integer value is described by the combination of the remote memory address remote_addr and the remote memory handle rkey. The add value is the value that is used for the add operation. When the operation completes, the original remote value is stored in the local memory result, and the sum of the original remote value and the operand value is stored in remote memory. The call to the routine returns when the operation is completed and the result value is updated.

+
Note
The remote address must be aligned to 32 bit.
+
Parameters
+ + + + + + +
[in]epRemote endpoint handle.
[in]addValue to add.
[in]remote_addrPointer to the destination remote address of the atomic variable.
[in]rkeyRemote memory key associated with the remote address.
[out]resultPointer to the address that is used to store the previous value of the atomic variable described by the remote_addr
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_atomic_fadd64()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_atomic_fadd64 (ucp_ep_h ep,
uint64_t add,
uint64_t remote_addr,
ucp_rkey_h rkey,
uint64_t * result 
)
+
+
Deprecated:
Replaced by ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_FADD.
+
See also
ucp_put.
+

This routine performs an add operation on a 64 bit integer value atomically. The remote integer value is described by the combination of the remote memory address remote_addr and the remote memory handle rkey. The add value is the value that is used for the add operation. When the operation completes, the original remote value is stored in the local memory result, and the sum of the original remote value and the operand value is stored in remote memory. The call to the routine returns when the operation is completed and the result value is updated.

+
Note
The remote address must be aligned to 64 bit.
+
Parameters
+ + + + + + +
[in]epRemote endpoint handle.
[in]addValue to add.
[in]remote_addrPointer to the destination remote address of the atomic variable.
[in]rkeyRemote memory key associated with the remote address.
[out]resultPointer to the address that is used to store the previous value of the atomic variable described by the remote_addr
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_atomic_swap32()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_atomic_swap32 (ucp_ep_h ep,
uint32_t swap,
uint64_t remote_addr,
ucp_rkey_h rkey,
uint32_t * result 
)
+
+
Deprecated:
Replaced by ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_SWAP.
+
See also
ucp_put.
+

This routine swaps a 32 bit value between local and remote memory. The remote value is described by the combination of the remote memory address remote_addr and the remote memory handle rkey. The swap value is the value that is used for the swap operation. When the operation completes, the remote value is stored in the local memory result, and the operand value (swap) is stored in remote memory. The call to the routine returns when the operation is completed and the result value is updated.

+
Note
The remote address must be aligned to 32 bit.
+
Parameters
+ + + + + + +
[in]epRemote endpoint handle.
[in]swapValue to swap.
[in]remote_addrPointer to the destination remote address of the atomic variable.
[in]rkeyRemote memory key associated with the remote address.
[out]resultPointer to the address that is used to store the previous value of the atomic variable described by the remote_addr
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_atomic_swap64()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_atomic_swap64 (ucp_ep_h ep,
uint64_t swap,
uint64_t remote_addr,
ucp_rkey_h rkey,
uint64_t * result 
)
+
+
Deprecated:
Replaced by ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_SWAP.
+
See also
ucp_put.
+

This routine swaps a 64 bit value between local and remote memory. The remote value is described by the combination of the remote memory address remote_addr and the remote memory handle rkey. The swap value is the value that is used for the swap operation. When the operation completes, the remote value is stored in the local memory result, and the operand value (swap) is stored in remote memory. The call to the routine returns when the operation is completed and the result value is updated.

+
Note
The remote address must be aligned to 64 bit.
+
Parameters
+ + + + + + +
[in]epRemote endpoint handle.
[in]swapValue to swap.
[in]remote_addrPointer to the destination remote address of the atomic variable.
[in]rkeyRemote memory key associated with the remote address.
[out]resultPointer to the address that is used to store the previous value of the atomic variable described by the remote_addr
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_atomic_cswap32()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_atomic_cswap32 (ucp_ep_h ep,
uint32_t compare,
uint32_t swap,
uint64_t remote_addr,
ucp_rkey_h rkey,
uint32_t * result 
)
+
+
Deprecated:
Replaced by ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_CSWAP.
+
See also
ucp_put.
+

This routine conditionally swaps a 32 bit value between local and remote memory. The swap occurs only if the condition value (continue) is equal to the remote value, otherwise the remote memory is not modified. The remote value is described by the combination of the remote memory address remote_addr and the remote memory handle rkey. The swap value is the value that is used to update the remote memory if the condition is true. The call to the routine returns when the operation is completed and the result value is updated.

+
Note
The remote address must be aligned to 32 bit.
+
Parameters
+ + + + + + + +
[in]epRemote endpoint handle.
[in]compareValue to compare to.
[in]swapValue to swap.
[in]remote_addrPointer to the destination remote address of the atomic variable.
[in]rkeyRemote memory key associated with the remote address.
[out]resultPointer to the address that is used to store the previous value of the atomic variable described by the remote_addr
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_atomic_cswap64()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_atomic_cswap64 (ucp_ep_h ep,
uint64_t compare,
uint64_t swap,
uint64_t remote_addr,
ucp_rkey_h rkey,
uint64_t * result 
)
+
+
Deprecated:
Replaced by ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_CSWAP.
+
See also
ucp_put.
+

This routine conditionally swaps a 64 bit value between local and remote memory. The swap occurs only if the condition value (continue) is equal to the remote value, otherwise the remote memory is not modified. The remote value is described by the combination of the remote memory address remote_addr and the remote memory handle rkey. The swap value is the value that is used to update the remote memory if the condition is true. The call to the routine returns when the operation is completed and the result value is updated.

+
Note
The remote address must be aligned to 64 bit.
+
Parameters
+ + + + + + + +
[in]epRemote endpoint handle.
[in]compareValue to compare to.
[in]swapValue to swap.
[in]remote_addrPointer to the destination remote address of the atomic variable.
[in]rkeyRemote memory key associated with the remote address.
[out]resultPointer to the address that is used to store the previous value of the atomic variable described by the remote_addr
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+
+
+
ucs_status_t ucp_tag_send_nbr(ucp_ep_h ep, const void *buffer, size_t count, ucp_datatype_t datatype, ucp_tag_t tag, void *req)
Non-blocking tagged-send operations with user provided request.
+
ucs_status_ptr_t ucp_put_nb(ucp_ep_h ep, const void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey, ucp_send_callback_t cb)
Non-blocking remote memory put operation.
+
struct ucp_rkey * ucp_rkey_h
UCP Remote memory handle.
Definition: ucp_def.h:152
+
@ UCS_OK
Definition: status.h:47
+
unsigned ucp_worker_progress(ucp_worker_h worker)
Progress all communications on a specific worker.
+
void ucp_request_release(void *request)
+
@ UCS_INPROGRESS
Definition: status.h:50
+
ucs_status_t
Status codes.
Definition: status.h:45
+
struct ucp_ep * ucp_ep_h
UCP Endpoint.
Definition: ucp_def.h:92
+
ucs_status_t ucp_request_check_status(void *request)
Check the status of non-blocking request.
+ + + + diff --git a/api/v1.13/html/group___u_c_p___c_o_m_m.js b/api/v1.13/html/group___u_c_p___c_o_m_m.js new file mode 100644 index 00000000000..6dba642ba9f --- /dev/null +++ b/api/v1.13/html/group___u_c_p___c_o_m_m.js @@ -0,0 +1,134 @@ +var group___u_c_p___c_o_m_m = +[ + [ "ucp_request_attr_t", "group___u_c_p___c_o_m_m.html#structucp__request__attr__t", [ + [ "field_mask", "group___u_c_p___c_o_m_m.html#a311396d670dcb5ca9941dc17a8ad23d7", null ], + [ "debug_string", "group___u_c_p___c_o_m_m.html#aa284657c27e1a8d6d2653f12cfb61bc5", null ], + [ "debug_string_size", "group___u_c_p___c_o_m_m.html#a871b3929bfe0b97d249016e57fd2fdd7", null ], + [ "status", "group___u_c_p___c_o_m_m.html#a3df010dde5b9a67b62bd354f0af3fc93", null ], + [ "mem_type", "group___u_c_p___c_o_m_m.html#a86e23d8d22c973be0f86ea56adfd5678", null ] + ] ], + [ "ucp_err_handler", "group___u_c_p___c_o_m_m.html#structucp__err__handler", [ + [ "cb", "group___u_c_p___c_o_m_m.html#a0bf3f446a1821a62dd3a300584792e33", null ], + [ "arg", "group___u_c_p___c_o_m_m.html#a7e49e1843e1adab5561e5fc2b2e1afb1", null ] + ] ], + [ "ucp_tag_t", "group___u_c_p___c_o_m_m.html#ga55df42689ef1f5621eae4d1ffb16856e", null ], + [ "ucp_tag_message_h", "group___u_c_p___c_o_m_m.html#ga6a8b5741a4e66d7e890d31ef7cbf88ec", null ], + [ "ucp_datatype_t", "group___u_c_p___c_o_m_m.html#gae461587956dd56a6bc7d67b027845891", null ], + [ "ucp_send_callback_t", "group___u_c_p___c_o_m_m.html#gaad905bbbff95166a1e9b0e9743feb677", null ], + [ "ucp_send_nbx_callback_t", "group___u_c_p___c_o_m_m.html#gaee41a74074b37f96dad5b29c9af17faf", null ], + [ "ucp_err_handler_cb_t", "group___u_c_p___c_o_m_m.html#gaf2174ce2b86eb56f6bd4bd62865e87f1", null ], + [ "ucp_err_handler_t", "group___u_c_p___c_o_m_m.html#ga66f1988c0a6aa526d57e999b0df4acc4", null ], + [ "ucp_stream_recv_callback_t", "group___u_c_p___c_o_m_m.html#ga6a6234b8497006e26ba02f10ddc0bbf5", null ], + [ "ucp_stream_recv_nbx_callback_t", "group___u_c_p___c_o_m_m.html#gaf9e253400533137ba2a5a49a111a9ee8", null ], + [ "ucp_tag_recv_callback_t", "group___u_c_p___c_o_m_m.html#ga00ac0fe5665d15fab5cd254af9b07758", null ], + [ "ucp_tag_recv_nbx_callback_t", "group___u_c_p___c_o_m_m.html#ga70e110cf7c85ed5f281bd52438488d75", null ], + [ "ucp_am_recv_data_nbx_callback_t", "group___u_c_p___c_o_m_m.html#ga242399982563973351591516039dd74b", null ], + [ "ucp_atomic_post_op_t", "group___u_c_p___c_o_m_m.html#gac5d94ea07dc4feae2708e67378ba2ad0", [ + [ "UCP_ATOMIC_POST_OP_ADD", "group___u_c_p___c_o_m_m.html#ggac5d94ea07dc4feae2708e67378ba2ad0ac9bbe0e18afb3ffc3f308feb0a2343c0", null ], + [ "UCP_ATOMIC_POST_OP_AND", "group___u_c_p___c_o_m_m.html#ggac5d94ea07dc4feae2708e67378ba2ad0a429b49ede714d04c4675a6e3966964e4", null ], + [ "UCP_ATOMIC_POST_OP_OR", "group___u_c_p___c_o_m_m.html#ggac5d94ea07dc4feae2708e67378ba2ad0afddd2f7287b622caf220503a6ae38460", null ], + [ "UCP_ATOMIC_POST_OP_XOR", "group___u_c_p___c_o_m_m.html#ggac5d94ea07dc4feae2708e67378ba2ad0ac498a55f8365e9a0821187367bc2cf89", null ], + [ "UCP_ATOMIC_POST_OP_LAST", "group___u_c_p___c_o_m_m.html#ggac5d94ea07dc4feae2708e67378ba2ad0a97ee6dd65f14dc12791831435329c38d", null ] + ] ], + [ "ucp_atomic_fetch_op_t", "group___u_c_p___c_o_m_m.html#gabd91e0300a53e38d28dbb53dfbb66c55", [ + [ "UCP_ATOMIC_FETCH_OP_FADD", "group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55ae7540b3c7046a454f750f816bdfa1037", null ], + [ "UCP_ATOMIC_FETCH_OP_SWAP", "group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55ad5a1d6d5e5cb563b477258a4656c9069", null ], + [ "UCP_ATOMIC_FETCH_OP_CSWAP", "group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55adc79d547543b1803dace41a6bdea043c", null ], + [ "UCP_ATOMIC_FETCH_OP_FAND", "group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55a072b82e2e35a90b7ed3e113423e6d5e3", null ], + [ "UCP_ATOMIC_FETCH_OP_FOR", "group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55a2b0b3779905ea67eea996ae8e296ed59", null ], + [ "UCP_ATOMIC_FETCH_OP_FXOR", "group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55a86930c2cddc0a884cbf88ced6c330049", null ], + [ "UCP_ATOMIC_FETCH_OP_LAST", "group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55a2532883ac97f4ee8178b52318f978a05", null ] + ] ], + [ "ucp_atomic_op_t", "group___u_c_p___c_o_m_m.html#ga5c2ee7516e48146c044e3d9e2a2ed380", [ + [ "UCP_ATOMIC_OP_ADD", "group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380a9386a4cc004f74e89bb069096ff1e43b", null ], + [ "UCP_ATOMIC_OP_SWAP", "group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380af72a4149b8c55e187bdfdcbd8d201eeb", null ], + [ "UCP_ATOMIC_OP_CSWAP", "group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380ae5da2927554be21b16aa65f9e46f762a", null ], + [ "UCP_ATOMIC_OP_AND", "group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380adf96b275090535fca4d7c1bedaef7da3", null ], + [ "UCP_ATOMIC_OP_OR", "group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380abf085a4df55bbd6109e3fb849e0d123e", null ], + [ "UCP_ATOMIC_OP_XOR", "group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380ac723509b3a97de7b43d1736bf9d79243", null ], + [ "UCP_ATOMIC_OP_LAST", "group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380a0983496b62f2d28cf043966793c6bb0b", null ] + ] ], + [ "ucp_stream_recv_flags_t", "group___u_c_p___c_o_m_m.html#gab471a9c7ab815e3d3ad7af80253f5cc2", [ + [ "UCP_STREAM_RECV_FLAG_WAITALL", "group___u_c_p___c_o_m_m.html#ggab471a9c7ab815e3d3ad7af80253f5cc2a5fb4ed4f8009d969ea9a8b3f3542424c", null ] + ] ], + [ "ucp_op_attr_t", "group___u_c_p___c_o_m_m.html#ga67fae646dd1668efba6efe49a35a6610", [ + [ "UCP_OP_ATTR_FIELD_REQUEST", "group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610acfac7dfc3e7b5967870f5376c334b996", null ], + [ "UCP_OP_ATTR_FIELD_CALLBACK", "group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a73e3a6e8b96b37ec1b0764e67dd13602", null ], + [ "UCP_OP_ATTR_FIELD_USER_DATA", "group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610af6f932f15331fe7c9efacbfe2578e5ec", null ], + [ "UCP_OP_ATTR_FIELD_DATATYPE", "group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a354ef92dd9352dfccc859cd2ca3558d8", null ], + [ "UCP_OP_ATTR_FIELD_FLAGS", "group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a2f2586686e21b2700fd7cd4a8efb5a1b", null ], + [ "UCP_OP_ATTR_FIELD_REPLY_BUFFER", "group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a8eb660399c093d89d5deae5c847019f0", null ], + [ "UCP_OP_ATTR_FIELD_MEMORY_TYPE", "group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a768b4c6759502c34b0051ba33c0d05b3", null ], + [ "UCP_OP_ATTR_FIELD_RECV_INFO", "group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610ac5a4c17a81a2efefae5e338479ae06cb", null ], + [ "UCP_OP_ATTR_FIELD_MEMH", "group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a84426c4dea4dceee1b015c3ccdcb7a78", null ], + [ "UCP_OP_ATTR_FLAG_NO_IMM_CMPL", "group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a8805045d48573e9aa5751b439be114d0", null ], + [ "UCP_OP_ATTR_FLAG_FAST_CMPL", "group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a69a2066ee5f68e57021f622b0cc859a8", null ], + [ "UCP_OP_ATTR_FLAG_FORCE_IMM_CMPL", "group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610aeb35a090d86119cfd25d4e82753e943f", null ], + [ "UCP_OP_ATTR_FLAG_MULTI_SEND", "group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a405517272bc4319aa3b49638f5626c7b", null ] + ] ], + [ "ucp_req_attr_field", "group___u_c_p___c_o_m_m.html#gab383d860475f8917f51afb542e7d02ff", [ + [ "UCP_REQUEST_ATTR_FIELD_INFO_STRING", "group___u_c_p___c_o_m_m.html#ggab383d860475f8917f51afb542e7d02ffa45086e70d5035d92a601605a689178b9", null ], + [ "UCP_REQUEST_ATTR_FIELD_INFO_STRING_SIZE", "group___u_c_p___c_o_m_m.html#ggab383d860475f8917f51afb542e7d02ffaaae11c040c811d14362cbbc47ea9f772", null ], + [ "UCP_REQUEST_ATTR_FIELD_STATUS", "group___u_c_p___c_o_m_m.html#ggab383d860475f8917f51afb542e7d02ffa9d41f03b4a79e21265ad15f87d3ff8ed", null ], + [ "UCP_REQUEST_ATTR_FIELD_MEM_TYPE", "group___u_c_p___c_o_m_m.html#ggab383d860475f8917f51afb542e7d02ffa7a1764b4ce21085ecbbdd13a1f183df5", null ] + ] ], + [ "ucp_am_recv_attr_t", "group___u_c_p___c_o_m_m.html#ga487a3c588a11e42b9f313f0c9e2ead3b", [ + [ "UCP_AM_RECV_ATTR_FIELD_REPLY_EP", "group___u_c_p___c_o_m_m.html#gga487a3c588a11e42b9f313f0c9e2ead3ba7a4057be7a4cc3bba470da4f8ed63259", null ], + [ "UCP_AM_RECV_ATTR_FLAG_DATA", "group___u_c_p___c_o_m_m.html#gga487a3c588a11e42b9f313f0c9e2ead3baf77ecce2987e81bf773a48363767b77e", null ], + [ "UCP_AM_RECV_ATTR_FLAG_RNDV", "group___u_c_p___c_o_m_m.html#gga487a3c588a11e42b9f313f0c9e2ead3baf9a8d75af5b826d7563863591a98714f", null ] + ] ], + [ "ucp_am_handler_param_field", "group___u_c_p___c_o_m_m.html#gaeae021145933ffa033b8327bb7bf2533", [ + [ "UCP_AM_HANDLER_PARAM_FIELD_ID", "group___u_c_p___c_o_m_m.html#ggaeae021145933ffa033b8327bb7bf2533a4b9788659b793630cee9bc027add35ad", null ], + [ "UCP_AM_HANDLER_PARAM_FIELD_FLAGS", "group___u_c_p___c_o_m_m.html#ggaeae021145933ffa033b8327bb7bf2533a99854985610ec532f0c83e36b3cadb3d", null ], + [ "UCP_AM_HANDLER_PARAM_FIELD_CB", "group___u_c_p___c_o_m_m.html#ggaeae021145933ffa033b8327bb7bf2533a6c2a2d3fe9c7118d3513833ad452cb69", null ], + [ "UCP_AM_HANDLER_PARAM_FIELD_ARG", "group___u_c_p___c_o_m_m.html#ggaeae021145933ffa033b8327bb7bf2533a23622f1a9046a0b59d1519732e2b73ff", null ] + ] ], + [ "ucp_request_query", "group___u_c_p___c_o_m_m.html#gafc247802373bbe39e9866745e102a064", null ], + [ "ucp_am_send_nb", "group___u_c_p___c_o_m_m.html#ga94ec21811930b6b6fb8eab500b8c730d", null ], + [ "ucp_am_send_nbx", "group___u_c_p___c_o_m_m.html#ga4b8ab214f35828ee4608d73442e8c372", null ], + [ "ucp_am_recv_data_nbx", "group___u_c_p___c_o_m_m.html#gaefaaa5e0a154efe496ae5bb7f2bf71f3", null ], + [ "ucp_am_data_release", "group___u_c_p___c_o_m_m.html#ga45570903fc3ce01e7e5c0cd241f516f9", null ], + [ "ucp_stream_send_nb", "group___u_c_p___c_o_m_m.html#ga9022ff0ebb56cac81f6ba81bb28f71b3", null ], + [ "ucp_stream_send_nbx", "group___u_c_p___c_o_m_m.html#gae9fe6efe6b05e4e78f58bee68c68b252", null ], + [ "ucp_tag_send_nb", "group___u_c_p___c_o_m_m.html#gaae7343bd638924e5518041311d5c1dfc", null ], + [ "ucp_tag_send_nbr", "group___u_c_p___c_o_m_m.html#gad90aa964e14fef59b4e3bd9120cca669", null ], + [ "ucp_tag_send_sync_nb", "group___u_c_p___c_o_m_m.html#gabd3e1ccae2ef34463e8313d09d3db17f", null ], + [ "ucp_tag_send_nbx", "group___u_c_p___c_o_m_m.html#ga8323878b60f426c630d4ff8996ede3cc", null ], + [ "ucp_tag_send_sync_nbx", "group___u_c_p___c_o_m_m.html#ga0d96a2aac42fe99ce0c79f15dda8bd06", null ], + [ "ucp_stream_recv_nb", "group___u_c_p___c_o_m_m.html#gadf3b4504a329a46d2d4ec0a8cec08130", null ], + [ "ucp_stream_recv_nbx", "group___u_c_p___c_o_m_m.html#ga30494ce33e63823c81c2c5b3656d25c3", null ], + [ "ucp_stream_recv_data_nb", "group___u_c_p___c_o_m_m.html#ga47f307f4765eb5410f24ac27986b59d7", null ], + [ "ucp_tag_recv_nb", "group___u_c_p___c_o_m_m.html#gaeb24cdfc33dfb2886551b51843aa6304", null ], + [ "ucp_tag_recv_nbr", "group___u_c_p___c_o_m_m.html#ga5a86663a4a144fd81d7a4e3378c5edd2", null ], + [ "ucp_tag_recv_nbx", "group___u_c_p___c_o_m_m.html#gaa842f8ca8ad1363ed857ab938285a16f", null ], + [ "ucp_tag_probe_nb", "group___u_c_p___c_o_m_m.html#ga41668f468dc37a7634116b8210815f22", null ], + [ "ucp_tag_msg_recv_nb", "group___u_c_p___c_o_m_m.html#gac335b3ae4c9577728d9c0f2ecd44c084", null ], + [ "ucp_tag_msg_recv_nbx", "group___u_c_p___c_o_m_m.html#ga48c61d44f18362bdaf8fca3122efcea6", null ], + [ "ucp_put_nbi", "group___u_c_p___c_o_m_m.html#ga77f3d5def7a77c4ba88f9e1eefa4b7e6", null ], + [ "ucp_put_nb", "group___u_c_p___c_o_m_m.html#ga1ba986b2bde69c215abd5766dbceeb18", null ], + [ "ucp_put_nbx", "group___u_c_p___c_o_m_m.html#ga29e7b9b70b782140e63544b8613a5fe7", null ], + [ "ucp_get_nbi", "group___u_c_p___c_o_m_m.html#gae3597f699227d598651f6630fbd7968b", null ], + [ "ucp_get_nb", "group___u_c_p___c_o_m_m.html#ga7cb68811f53a69d37fd16e8ddb46e23b", null ], + [ "ucp_get_nbx", "group___u_c_p___c_o_m_m.html#gaa06c6521592661a8123c11426074d880", null ], + [ "ucp_atomic_post", "group___u_c_p___c_o_m_m.html#ga839312fb4de5e786daacb4fa071d61df", null ], + [ "ucp_atomic_fetch_nb", "group___u_c_p___c_o_m_m.html#ga43a1a4a517797eb8c5c96ac8841437de", null ], + [ "ucp_atomic_op_nbx", "group___u_c_p___c_o_m_m.html#ga087e2cad02e84cf1230684362562aa46", null ], + [ "ucp_request_check_status", "group___u_c_p___c_o_m_m.html#gae082ad7af428645ebe6e469d3d06a757", null ], + [ "ucp_tag_recv_request_test", "group___u_c_p___c_o_m_m.html#ga707cbbef8cdcf90fa7cf63c922ef2c7f", null ], + [ "ucp_stream_recv_request_test", "group___u_c_p___c_o_m_m.html#ga4d8d8823b24cb25dcab8bf44c72fa25e", null ], + [ "ucp_request_cancel", "group___u_c_p___c_o_m_m.html#ga3553f89a61d6b40af4633a2e7c84fc1d", null ], + [ "ucp_stream_data_release", "group___u_c_p___c_o_m_m.html#ga1d1c1c1b2caf4f26c9872e1d708d5f68", null ], + [ "ucp_request_free", "group___u_c_p___c_o_m_m.html#ga0e8e46f5953d464382b21edef3ec9994", null ], + [ "ucp_request_alloc", "group___u_c_p___c_o_m_m.html#gac6f75654d74e7e24881252fbff6bb9b2", null ], + [ "ucp_request_is_completed", "group___u_c_p___c_o_m_m.html#ga432e478b97575b21855074a45d54520d", null ], + [ "ucp_put", "group___u_c_p___c_o_m_m.html#ga85b0a27cf8a3239decabad6a9104eb31", null ], + [ "ucp_get", "group___u_c_p___c_o_m_m.html#gaf4a465cff6c1691106430564899f6f3e", null ], + [ "ucp_atomic_add32", "group___u_c_p___c_o_m_m.html#gaa042d7e76314e1d7ea9717d4adacde7b", null ], + [ "ucp_atomic_add64", "group___u_c_p___c_o_m_m.html#gaa80cd3f104b920c0c2f6bf7cff50fc15", null ], + [ "ucp_atomic_fadd32", "group___u_c_p___c_o_m_m.html#ga0c777d7d1c59e01151ef5e3fcd7e5b94", null ], + [ "ucp_atomic_fadd64", "group___u_c_p___c_o_m_m.html#ga7435bc5d5e2c4fb6b491d457ab65596b", null ], + [ "ucp_atomic_swap32", "group___u_c_p___c_o_m_m.html#ga43118f9d5e6d8fdfa518887218468bb3", null ], + [ "ucp_atomic_swap64", "group___u_c_p___c_o_m_m.html#gaa2913e345505195a183ccc2583fb4ebc", null ], + [ "ucp_atomic_cswap32", "group___u_c_p___c_o_m_m.html#ga6078dddaa93c8dfdab3c18014064f0c0", null ], + [ "ucp_atomic_cswap64", "group___u_c_p___c_o_m_m.html#gafa365c16d4c2b4fd2aba6e94fec2c92b", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___c_o_m_m_structucp__err__handler.js b/api/v1.13/html/group___u_c_p___c_o_m_m_structucp__err__handler.js new file mode 100644 index 00000000000..c34d4c85a70 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___c_o_m_m_structucp__err__handler.js @@ -0,0 +1,5 @@ +var group___u_c_p___c_o_m_m_structucp__err__handler = +[ + [ "cb", "group___u_c_p___c_o_m_m.html#a0bf3f446a1821a62dd3a300584792e33", null ], + [ "arg", "group___u_c_p___c_o_m_m.html#a7e49e1843e1adab5561e5fc2b2e1afb1", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___c_o_m_m_structucp__request__attr__t.js b/api/v1.13/html/group___u_c_p___c_o_m_m_structucp__request__attr__t.js new file mode 100644 index 00000000000..99bafd4b40f --- /dev/null +++ b/api/v1.13/html/group___u_c_p___c_o_m_m_structucp__request__attr__t.js @@ -0,0 +1,8 @@ +var group___u_c_p___c_o_m_m_structucp__request__attr__t = +[ + [ "field_mask", "group___u_c_p___c_o_m_m.html#a311396d670dcb5ca9941dc17a8ad23d7", null ], + [ "debug_string", "group___u_c_p___c_o_m_m.html#aa284657c27e1a8d6d2653f12cfb61bc5", null ], + [ "debug_string_size", "group___u_c_p___c_o_m_m.html#a871b3929bfe0b97d249016e57fd2fdd7", null ], + [ "status", "group___u_c_p___c_o_m_m.html#a3df010dde5b9a67b62bd354f0af3fc93", null ], + [ "mem_type", "group___u_c_p___c_o_m_m.html#a86e23d8d22c973be0f86ea56adfd5678", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___c_o_n_f_i_g.html b/api/v1.13/html/group___u_c_p___c_o_n_f_i_g.html new file mode 100644 index 00000000000..8ff0ed09498 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___c_o_n_f_i_g.html @@ -0,0 +1,435 @@ + + + + + + + +UCX: UCP Configuration + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + +

+Data Structures

struct  ucp_params
 Tuning parameters for UCP library. More...
 
+ + + + + + + +

+Typedefs

typedef struct ucp_params ucp_params_t
 Tuning parameters for UCP library. More...
 
typedef struct ucp_config ucp_config_t
 UCP configuration descriptor. More...
 
+ + + + + + + + + + + + + +

+Functions

ucs_status_t ucp_config_read (const char *env_prefix, const char *filename, ucp_config_t **config_p)
 Read UCP configuration descriptor. More...
 
void ucp_config_release (ucp_config_t *config)
 Release configuration descriptor. More...
 
ucs_status_t ucp_config_modify (ucp_config_t *config, const char *name, const char *value)
 Modify context configuration. More...
 
void ucp_config_print (const ucp_config_t *config, FILE *stream, const char *title, ucs_config_print_flags_t print_flags)
 Print configuration information. More...
 
+

Detailed Description

+

This section describes routines for configuration of the UCP network layer

+

Data Structure Documentation

+ +

◆ ucp_params

+ +
+
+ + + + +
struct ucp_params
+
+

The structure defines the parameters that are used for UCP library tuning during UCP library initialization.

+
Note
UCP library implementation uses the features parameter to optimize the library functionality that minimize memory footprint. For example, if the application does not require send/receive semantics UCP library may avoid allocation of expensive resources associated with send/receive queues.
+
Examples
ucp_client_server.c, and ucp_hello_world.c.
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_params_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+uint64_t +features +

UCP features that are used for library initialization. It is recommended for applications only to request the features that are required for an optimal functionality This field must be specified.

+
+size_t +request_size +

The size of a reserved space in a non-blocking requests. Typically applications use this space for caching own structures in order to avoid costly memory allocations, pointer dereferences, and cache misses. For example, MPI implementation can use this memory for caching MPI descriptors This field defaults to 0 if not specified.

+
+ucp_request_init_callback_t +request_init +

Pointer to a routine that is used for the request initialization. This function will be called only on the very first time a request memory is initialized, and may not be called again if a request is reused. If a request should be reset before the next reuse, it can be done before calling ucp_request_free.

+

NULL can be used if no such is function required, which is also the default if this field is not specified by field_mask.

+
+ucp_request_cleanup_callback_t +request_cleanup +

Pointer to a routine that is responsible for final cleanup of the memory associated with the request. This routine may not be called every time a request is released. For some implementations, the cleanup call may be delayed and only invoked at ucp_worker_destroy.

+

NULL can be used if no such function is required, which is also the default if this field is not specified by field_mask.

+
+uint64_t +tag_sender_mask +

Mask which specifies particular bits of the tag which can uniquely identify the sender (UCP endpoint) in tagged operations. This field defaults to 0 if not specified.

+
+int +mt_workers_shared +

This flag indicates if this context is shared by multiple workers from different threads. If so, this context needs thread safety support; otherwise, the context does not need to provide thread safety. For example, if the context is used by single worker, and that worker is shared by multiple threads, this context does not need thread safety; if the context is used by worker 1 and worker 2, and worker 1 is used by thread 1 and worker 2 is used by thread 2, then this context needs thread safety. Note that actual thread mode may be different from mode passed to ucp_init. To get actual thread mode use ucp_context_query.

+
+size_t +estimated_num_eps +

An optimization hint of how many endpoints will be created on this context. For example, when used from MPI or SHMEM libraries, this number will specify the number of ranks (or processing elements) in the job. Does not affect semantics, but only transport selection criteria and the resulting performance. The value can be also set by UCX_NUM_EPS environment variable. In such case it will override the number of endpoints set by estimated_num_eps

+
+size_t +estimated_num_ppn +

An optimization hint for a single node. For example, when used from MPI or OpenSHMEM libraries, this number will specify the number of Processes Per Node (PPN) in the job. Does not affect semantics, only transport selection criteria and the resulting performance. The value can be also set by the UCX_NUM_PPN environment variable, which will override the number of endpoints set by estimated_num_ppn

+
+const char * +name +

Tracing and analysis tools can identify the context using this name. To retrieve the context's name, use ucp_context_query, as the name you supply may be changed by UCX under some circumstances, e.g. a name conflict. This field is only assigned if you set UCP_PARAM_FIELD_NAME in the field mask. If not, then a default unique name will be created for you.

+
+ +
+
+

Typedef Documentation

+ +

◆ ucp_params_t

+ +
+
+ + + + +
typedef struct ucp_params ucp_params_t
+
+

The structure defines the parameters that are used for UCP library tuning during UCP library initialization.

+
Note
UCP library implementation uses the features parameter to optimize the library functionality that minimize memory footprint. For example, if the application does not require send/receive semantics UCP library may avoid allocation of expensive resources associated with send/receive queues.
+ +
+
+ +

◆ ucp_config_t

+ +
+
+ + + + +
typedef struct ucp_config ucp_config_t
+
+

This descriptor defines the configuration for UCP application context. The configuration is loaded from the run-time environment (using configuration files of environment variables) using ucp_config_read routine and can be printed using ucp_config_print routine. In addition, application is responsible to release the descriptor using ucp_config_release routine.

+ +
+
+

Function Documentation

+ +

◆ ucp_config_read()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_config_read (const char * env_prefix,
const char * filename,
ucp_config_t ** config_p 
)
+
+

The routine fetches the information about UCP library configuration from the run-time environment. Then, the fetched descriptor is used for UCP library initialization. The Application can print out the descriptor using print routine. In addition the application is responsible for releasing the descriptor back to the UCP library.

+
Parameters
+ + + + +
[in]env_prefixIf non-NULL, the routine searches for the environment variables that start with <env_prefix>_UCX_ prefix. Otherwise, the routine searches for the environment variables that start with UCX_ prefix.
[in]filenameIf non-NULL, read configuration from the file defined by filename. If the file does not exist, it will be ignored and no error reported to the application.
[out]config_pPointer to configuration descriptor as defined by ucp_config_t.
+
+
+
Returns
Error code as defined by ucs_status_t
+
Examples
ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_config_release()

+ +
+
+ + + + + + + + +
void ucp_config_release (ucp_config_tconfig)
+
+

The routine releases the configuration descriptor that was allocated through ucp_config_read() routine.

+
Parameters
+ + +
[out]configConfiguration descriptor as defined by ucp_config_t.
+
+
+
Examples
ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_config_modify()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_config_modify (ucp_config_tconfig,
const char * name,
const char * value 
)
+
+

The routine changes one configuration setting stored in configuration descriptor.

+
Parameters
+ + + + +
[in]configConfiguration to modify.
[in]nameConfiguration variable name.
[in]valueValue to set.
+
+
+
Returns
Error code.
+ +
+
+ +

◆ ucp_config_print()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void ucp_config_print (const ucp_config_tconfig,
FILE * stream,
const char * title,
ucs_config_print_flags_t print_flags 
)
+
+

The routine prints the configuration information that is stored in configuration descriptor.

+
Parameters
+ + + + + +
[in]configConfiguration descriptor to print.
[in]streamOutput stream to print the configuration to.
[in]titleConfiguration title to print.
[in]print_flagsFlags that control various printing options.
+
+
+
Examples
ucp_hello_world.c.
+
+ +
+
+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_p___c_o_n_f_i_g.js b/api/v1.13/html/group___u_c_p___c_o_n_f_i_g.js new file mode 100644 index 00000000000..362ae0ce631 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___c_o_n_f_i_g.js @@ -0,0 +1,21 @@ +var group___u_c_p___c_o_n_f_i_g = +[ + [ "ucp_params", "group___u_c_p___c_o_n_f_i_g.html#structucp__params", [ + [ "field_mask", "group___u_c_p___c_o_n_f_i_g.html#a62d432cd22de13ccc9bb12edeb9c566b", null ], + [ "features", "group___u_c_p___c_o_n_f_i_g.html#afe7ed2a6c6ceb48e18a04f524d844e67", null ], + [ "request_size", "group___u_c_p___c_o_n_f_i_g.html#a3125e61440123f639c024d75b5edc0d6", null ], + [ "request_init", "group___u_c_p___c_o_n_f_i_g.html#ac1f0a25d794111217af5e0e6b9865458", null ], + [ "request_cleanup", "group___u_c_p___c_o_n_f_i_g.html#ad2aadf27367f4cc64e91e1dd2b52b8b8", null ], + [ "tag_sender_mask", "group___u_c_p___c_o_n_f_i_g.html#a82241de012d49800d2b75bd982f9b6b6", null ], + [ "mt_workers_shared", "group___u_c_p___c_o_n_f_i_g.html#ac81f2d8a179df5fd39786a4b08b26faf", null ], + [ "estimated_num_eps", "group___u_c_p___c_o_n_f_i_g.html#a5881757ea71d8c3ff7c15632a6cbd699", null ], + [ "estimated_num_ppn", "group___u_c_p___c_o_n_f_i_g.html#ab5966a27f9f4cf476560f9c87ac839cc", null ], + [ "name", "group___u_c_p___c_o_n_f_i_g.html#ac1aa15f430f0f273ff4f6055f9cfdea2", null ] + ] ], + [ "ucp_params_t", "group___u_c_p___c_o_n_f_i_g.html#ga91aad075a1692f3bea2df3c59e63ed5c", null ], + [ "ucp_config_t", "group___u_c_p___c_o_n_f_i_g.html#gab4fd46edba365347ef3a5b966c324388", null ], + [ "ucp_config_read", "group___u_c_p___c_o_n_f_i_g.html#gab2a5bd39a60f5326771c7a46f5f93319", null ], + [ "ucp_config_release", "group___u_c_p___c_o_n_f_i_g.html#ga12d1b29c55e927a22de92431efa0d82a", null ], + [ "ucp_config_modify", "group___u_c_p___c_o_n_f_i_g.html#ga94828d175f4abd87d48b54f32dc74703", null ], + [ "ucp_config_print", "group___u_c_p___c_o_n_f_i_g.html#ga52f4d762c9f3a61c98fb7ba95a00809e", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___c_o_n_f_i_g_structucp__params.js b/api/v1.13/html/group___u_c_p___c_o_n_f_i_g_structucp__params.js new file mode 100644 index 00000000000..f0db7ccd211 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___c_o_n_f_i_g_structucp__params.js @@ -0,0 +1,13 @@ +var group___u_c_p___c_o_n_f_i_g_structucp__params = +[ + [ "field_mask", "group___u_c_p___c_o_n_f_i_g.html#a62d432cd22de13ccc9bb12edeb9c566b", null ], + [ "features", "group___u_c_p___c_o_n_f_i_g.html#afe7ed2a6c6ceb48e18a04f524d844e67", null ], + [ "request_size", "group___u_c_p___c_o_n_f_i_g.html#a3125e61440123f639c024d75b5edc0d6", null ], + [ "request_init", "group___u_c_p___c_o_n_f_i_g.html#ac1f0a25d794111217af5e0e6b9865458", null ], + [ "request_cleanup", "group___u_c_p___c_o_n_f_i_g.html#ad2aadf27367f4cc64e91e1dd2b52b8b8", null ], + [ "tag_sender_mask", "group___u_c_p___c_o_n_f_i_g.html#a82241de012d49800d2b75bd982f9b6b6", null ], + [ "mt_workers_shared", "group___u_c_p___c_o_n_f_i_g.html#ac81f2d8a179df5fd39786a4b08b26faf", null ], + [ "estimated_num_eps", "group___u_c_p___c_o_n_f_i_g.html#a5881757ea71d8c3ff7c15632a6cbd699", null ], + [ "estimated_num_ppn", "group___u_c_p___c_o_n_f_i_g.html#ab5966a27f9f4cf476560f9c87ac839cc", null ], + [ "name", "group___u_c_p___c_o_n_f_i_g.html#ac1aa15f430f0f273ff4f6055f9cfdea2", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t.html b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t.html new file mode 100644 index 00000000000..07da8711d2c --- /dev/null +++ b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t.html @@ -0,0 +1,1020 @@ + + + + + + + +UCX: UCP Application Context + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + +

+Data Structures

struct  ucp_lib_attr
 Lib attributes. More...
 
struct  ucp_context_attr
 Context attributes. More...
 
struct  ucp_tag_recv_info
 UCP receive information descriptor. More...
 
struct  ucp_request_param_t
 Operation parameters passed to ucp_tag_send_nbx, ucp_tag_send_sync_nbx, ucp_tag_recv_nbx, ucp_put_nbx, ucp_get_nbx, ucp_am_send_nbx and ucp_am_recv_data_nbx. More...
 
union  ucp_request_param_t.cb
 
union  ucp_request_param_t.recv_info
 
+ + + + +

+Macros

#define UCP_ENTITY_NAME_MAX   32
 Maximum size of the UCP entity name in structure of entity attributes provided by a query method. More...
 
+ + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef struct ucp_lib_attr ucp_lib_attr_t
 Lib attributes. More...
 
typedef struct ucp_context_attr ucp_context_attr_t
 Context attributes. More...
 
typedef struct ucp_tag_recv_info ucp_tag_recv_info_t
 UCP receive information descriptor. More...
 
typedef struct ucp_context * ucp_context_h
 UCP Application Context. More...
 
typedef void(* ucp_request_init_callback_t) (void *request)
 Request initialization callback. More...
 
typedef void(* ucp_request_cleanup_callback_t) (void *request)
 Request cleanup callback. More...
 
+ + + + + + + + + + + + + +

+Enumerations

enum  ucp_params_field {
+  UCP_PARAM_FIELD_FEATURES = UCS_BIT(0), +UCP_PARAM_FIELD_REQUEST_SIZE = UCS_BIT(1), +UCP_PARAM_FIELD_REQUEST_INIT = UCS_BIT(2), +UCP_PARAM_FIELD_REQUEST_CLEANUP = UCS_BIT(3), +
+  UCP_PARAM_FIELD_TAG_SENDER_MASK = UCS_BIT(4), +UCP_PARAM_FIELD_MT_WORKERS_SHARED = UCS_BIT(5), +UCP_PARAM_FIELD_ESTIMATED_NUM_EPS = UCS_BIT(6), +UCP_PARAM_FIELD_ESTIMATED_NUM_PPN = UCS_BIT(7), +
+  UCP_PARAM_FIELD_NAME = UCS_BIT(8) +
+ }
 UCP context parameters field mask. More...
 
enum  ucp_feature {
+  UCP_FEATURE_TAG = UCS_BIT(0), +UCP_FEATURE_RMA = UCS_BIT(1), +UCP_FEATURE_AMO32 = UCS_BIT(2), +UCP_FEATURE_AMO64 = UCS_BIT(3), +
+  UCP_FEATURE_WAKEUP = UCS_BIT(4), +UCP_FEATURE_STREAM = UCS_BIT(5), +UCP_FEATURE_AM = UCS_BIT(6) +
+ }
 UCP configuration features. More...
 
enum  ucp_lib_attr_field { UCP_LIB_ATTR_FIELD_MAX_THREAD_LEVEL = UCS_BIT(0) + }
 UCP library attributes field mask. More...
 
enum  ucp_context_attr_field { UCP_ATTR_FIELD_REQUEST_SIZE = UCS_BIT(0), +UCP_ATTR_FIELD_THREAD_MODE = UCS_BIT(1), +UCP_ATTR_FIELD_MEMORY_TYPES = UCS_BIT(2), +UCP_ATTR_FIELD_NAME = UCS_BIT(3) + }
 UCP context attributes field mask. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

ucs_status_t ucp_lib_query (ucp_lib_attr_t *attr)
 Get attributes of the UCP library. More...
 
void ucp_get_version (unsigned *major_version, unsigned *minor_version, unsigned *release_number)
 Get UCP library version. More...
 
const char * ucp_get_version_string (void)
 Get UCP library version as a string. More...
 
static ucs_status_t ucp_init (const ucp_params_t *params, const ucp_config_t *config, ucp_context_h *context_p)
 UCP context initialization. More...
 
void ucp_cleanup (ucp_context_h context_p)
 Release UCP application context. More...
 
ucs_status_t ucp_context_query (ucp_context_h context_p, ucp_context_attr_t *attr)
 Get attributes specific to a particular context. More...
 
void ucp_context_print_info (const ucp_context_h context, FILE *stream)
 Print context information. More...
 
+

Detailed Description

+

Application context is a primary concept of UCP design which provides an isolation mechanism, allowing resources associated with the context to separate or share network communication context across multiple instances of applications.

+

This section provides a detailed description of this concept and routines associated with it.

+

Data Structure Documentation

+ +

◆ ucp_lib_attr

+ +
+
+ + + + +
struct ucp_lib_attr
+
+

The structure defines the attributes that characterize the Library.

+
+ + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_lib_attr_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+ucs_thread_mode_t +max_thread_level +

Maximum level of thread support of the library, which is permanent throughout the lifetime of the library. Accordingly, the user can call ucp_worker_create with appropriate ucp_worker_params_t::thread_mode. For supported thread levels please see ucs_thread_mode_t.

+
+ +
+
+ +

◆ ucp_context_attr

+ +
+
+ + + + +
struct ucp_context_attr
+
+

The structure defines the attributes that characterize the particular context.

+
+ + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_context_attr_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+size_t +request_size +

Size of UCP non-blocking request. When pre-allocated request is used (e.g. in ucp_tag_recv_nbr) it should have enough space to fit UCP request data, which is defined by this value.

+
+ucs_thread_mode_t +thread_mode +

Thread safe level of the context. For supported thread levels please see ucs_thread_mode_t.

+
+uint64_t +memory_types +

Mask of which memory types are supported, for supported memory types please see ucs_memory_type_t.

+
+char +name[UCP_ENTITY_NAME_MAX] +

Tracing and analysis tools can use name to identify this UCX context.

+
+ +
+
+ +

◆ ucp_tag_recv_info

+ +
+
+ + + + +
struct ucp_tag_recv_info
+
+

The UCP receive information descriptor is allocated by application and filled in with the information about the received message by ucp_tag_probe_nb or ucp_tag_recv_request_test routines or ucp_tag_recv_callback_t callback argument.

+
Examples
ucp_client_server.c, and ucp_hello_world.c.
+
+
+ + + + + + + +
Data Fields
+ucp_tag_t +sender_tag +

Sender tag

+
+size_t +length +

The size of the received data

+
+ +
+
+ +

◆ ucp_request_param_t

+ +
+
+ + + + +
struct ucp_request_param_t
+
+

The structure ucp_request_param_t is used to specify datatype of operation, provide user request in case the external request is used, set completion callback and custom user data passed to this callback.

+

Example: implementation of function to send contiguous buffer to ep and invoke callback function at operation completion. If the operation completed immediately (status == UCS_OK) then callback is not called.

+
ucs_status_ptr_t send_data(ucp_ep_h ep, void *buffer, size_t length,
+
ucp_tag_t tag, void *request)
+
{
+ + + +
.request = request,
+
.cb.send = custom_send_callback_f,
+
.user_data = pointer_to_user_context_passed_to_cb
+
};
+
+ +
+
status = ucp_tag_send_nbx(ep, buffer, length, tag, &param);
+
if (UCS_PTR_IS_ERR(status)) {
+
handle_error(status);
+
} else if (status == UCS_OK) {
+
// operation is completed
+
}
+
+
return status;
+
}
+
Examples
ucp_client_server.c, and ucp_hello_world.c.
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data Fields
+uint32_t +op_attr_mask +

Mask of valid fields in this structure and operation flags, using bits from ucp_op_attr_t. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+uint32_t +flags +
+void * +request +

Request handle allocated by the user. There should be at least UCP request size bytes of available space before the request. The size of the UCP request can be obtained by ucp_context_query function.

+
+union ucp_request_param_t +cb +

Callback function that is invoked whenever the send or receive operation is completed.

+
+ucp_datatype_t +datatype +

Datatype descriptor for the elements in the buffer. In case the op_attr_mask & UCP_OP_ATTR_FIELD_DATATYPE bit is not set, then use default datatype ucp_dt_make_contig(1)

+
+void * +user_data +

Pointer to user data passed to callback function.

+
+void * +reply_buffer +

Reply buffer. Can be used for storing operation result, for example by ucp_atomic_op_nbx.

+
+ucs_memory_type_t +memory_type +

Memory type of the buffer. see ucs_memory_type_t for possible memory types. An optimization hint to avoid memory type detection for request buffer. If this value is not set (along with its corresponding bit in the op_attr_mask - UCP_OP_ATTR_FIELD_MEMORY_TYPE), then use default UCS_MEMORY_TYPE_UNKNOWN which means the memory type will be detected internally.

+
+union ucp_request_param_t +recv_info +

Pointer to the information where received data details are stored in case of an immediate completion of receive operation. The user has to provide a pointer to valid memory/variable which will be updated on function return.

+
+ucp_mem_h +memh +

Memory handle for pre-registered buffer. If the handle is provided, protocols that require registered memory can skip the registration step. As a result, the communication request overhead can be reduced and the request can be completed faster. The memory handle should be obtained by calling ucp_mem_map.

+
+ +
+
+ +

◆ ucp_request_param_t.cb

+ +
+
+ + + + +
union ucp_request_param_t.cb
+
+

Callback function that is invoked whenever the send or receive operation is completed.

+
+ + + + + + + + + + + + + +
Data Fields
+ucp_send_nbx_callback_t +send +
+ucp_tag_recv_nbx_callback_t +recv +
+ucp_stream_recv_nbx_callback_t +recv_stream +
+ucp_am_recv_data_nbx_callback_t +recv_am +
+ +
+
+ +

◆ ucp_request_param_t.recv_info

+ +
+
+ + + + +
union ucp_request_param_t.recv_info
+
+

Pointer to the information where received data details are stored in case of an immediate completion of receive operation. The user has to provide a pointer to valid memory/variable which will be updated on function return.

+
+ + + + + + + +
Data Fields
+size_t * +length +
+ucp_tag_recv_info_t * +tag_info +
+ +
+
+

Macro Definition Documentation

+ +

◆ UCP_ENTITY_NAME_MAX

+ +
+
+ + + + +
#define UCP_ENTITY_NAME_MAX   32
+
+ +
+
+

Typedef Documentation

+ +

◆ ucp_lib_attr_t

+ +
+
+ + + + +
typedef struct ucp_lib_attr ucp_lib_attr_t
+
+

The structure defines the attributes that characterize the Library.

+ +
+
+ +

◆ ucp_context_attr_t

+ +
+
+ + + + +
typedef struct ucp_context_attr ucp_context_attr_t
+
+

The structure defines the attributes that characterize the particular context.

+ +
+
+ +

◆ ucp_tag_recv_info_t

+ +
+
+ + + + +
typedef struct ucp_tag_recv_info ucp_tag_recv_info_t
+
+

The UCP receive information descriptor is allocated by application and filled in with the information about the received message by ucp_tag_probe_nb or ucp_tag_recv_request_test routines or ucp_tag_recv_callback_t callback argument.

+ +
+
+ +

◆ ucp_context_h

+ +
+
+ + + + +
typedef struct ucp_context* ucp_context_h
+
+

UCP application context (or just a context) is an opaque handle that holds a UCP communication instance's global information. It represents a single UCP communication instance. The communication instance could be an OS process (an application) that uses UCP library. This global information includes communication resources, endpoints, memory, temporary file storage, and other communication information directly associated with a specific UCP instance. The context also acts as an isolation mechanism, allowing resources associated with the context to manage multiple concurrent communication instances. For example, users using both MPI and OpenSHMEM sessions simultaneously can isolate their communication by allocating and using separate contexts for each of them. Alternatively, users can share the communication resources (memory, network resource context, etc.) between them by using the same application context. A message sent or a RMA operation performed in one application context cannot be received in any other application context.

+ +
+
+ +

◆ ucp_request_init_callback_t

+ +
+
+ + + + +
typedef void(* ucp_request_init_callback_t) (void *request)
+
+

This callback routine is responsible for the request initialization.

+
Parameters
+ + +
[in]requestRequest handle to initialize.
+
+
+ +
+
+ +

◆ ucp_request_cleanup_callback_t

+ +
+
+ + + + +
typedef void(* ucp_request_cleanup_callback_t) (void *request)
+
+

This callback routine is responsible for cleanup of the memory associated with the request.

+
Parameters
+ + +
[in]requestRequest handle to cleanup.
+
+
+ +
+
+

Enumeration Type Documentation

+ +

◆ ucp_params_field

+ +
+
+ + + + +
enum ucp_params_field
+
+

The enumeration allows specifying which fields in ucp_params_t are present. It is used to enable backward compatibility support.

+ + + + + + + + + + +
Enumerator
UCP_PARAM_FIELD_FEATURES 

features

+
UCP_PARAM_FIELD_REQUEST_SIZE 

request_size

+
UCP_PARAM_FIELD_REQUEST_INIT 

request_init

+
UCP_PARAM_FIELD_REQUEST_CLEANUP 

request_cleanup

+
UCP_PARAM_FIELD_TAG_SENDER_MASK 

tag_sender_mask

+
UCP_PARAM_FIELD_MT_WORKERS_SHARED 

mt_workers_shared

+
UCP_PARAM_FIELD_ESTIMATED_NUM_EPS 

estimated_num_eps

+
UCP_PARAM_FIELD_ESTIMATED_NUM_PPN 

estimated_num_ppn

+
UCP_PARAM_FIELD_NAME 

name

+
+ +
+
+ +

◆ ucp_feature

+ +
+
+ + + + +
enum ucp_feature
+
+

The enumeration list describes the features supported by UCP. An application can request the features using UCP parameters during UCP initialization process.

+ + + + + + + + +
Enumerator
UCP_FEATURE_TAG 

Request tag matching support

+
UCP_FEATURE_RMA 

Request remote memory access support

+
UCP_FEATURE_AMO32 

Request 32-bit atomic operations support

+
UCP_FEATURE_AMO64 

Request 64-bit atomic operations support

+
UCP_FEATURE_WAKEUP 

Request interrupt notification support

+
UCP_FEATURE_STREAM 

Request stream support

+
UCP_FEATURE_AM 

Request Active Message support

+
+ +
+
+ +

◆ ucp_lib_attr_field

+ +
+
+ + + + +
enum ucp_lib_attr_field
+
+

The enumeration allows specifying which fields in ucp_lib_attr_t are present. It is used to enable backward compatibility support.

+ + +
Enumerator
UCP_LIB_ATTR_FIELD_MAX_THREAD_LEVEL 

UCP library maximum supported thread level flag

+
+ +
+
+ +

◆ ucp_context_attr_field

+ +
+
+ + + + +
enum ucp_context_attr_field
+
+

The enumeration allows specifying which fields in ucp_context_attr_t are present. It is used to enable backward compatibility support.

+ + + + + +
Enumerator
UCP_ATTR_FIELD_REQUEST_SIZE 

UCP request size

+
UCP_ATTR_FIELD_THREAD_MODE 

UCP context thread flag

+
UCP_ATTR_FIELD_MEMORY_TYPES 

UCP supported memory types

+
UCP_ATTR_FIELD_NAME 

UCP context name

+
+ +
+
+

Function Documentation

+ +

◆ ucp_lib_query()

+ +
+
+ + + + + + + + +
ucs_status_t ucp_lib_query (ucp_lib_attr_tattr)
+
+

This routine fetches information about the UCP library attributes.

+
Parameters
+ + +
[out]attrFilled with attributes of the UCP library.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_get_version()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void ucp_get_version (unsigned * major_version,
unsigned * minor_version,
unsigned * release_number 
)
+
+

This routine returns the UCP library version.

+
Parameters
+ + + + +
[out]major_versionFilled with library major version.
[out]minor_versionFilled with library minor version.
[out]release_numberFilled with library release number.
+
+
+ +
+
+ +

◆ ucp_get_version_string()

+ +
+
+ + + + + + + + +
const char* ucp_get_version_string (void )
+
+

This routine returns the UCP library version as a string which consists of: "major.minor.release".

+ +
+
+ +

◆ ucp_init()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static ucs_status_t ucp_init (const ucp_params_tparams,
const ucp_config_tconfig,
ucp_context_hcontext_p 
)
+
+inlinestatic
+
+

This routine creates and initializes a UCP application context.

+
Warning
This routine must be called before any other UCP function call in the application.
+

This routine checks API version compatibility, then discovers the available network interfaces, and initializes the network resources required for discovering of the network and memory related devices. This routine is responsible for initialization all information required for a particular application scope, for example, MPI application, OpenSHMEM application, etc.

+
Note
    +
  • Higher level protocols can add additional communication isolation, as MPI does with it's communicator object. A single communication context may be used to support multiple MPI communicators.
  • +
  • The context can be used to isolate the communication that corresponds to different protocols. For example, if MPI and OpenSHMEM are using UCP to isolate the MPI communication from the OpenSHMEM communication, users should use different application context for each of the communication libraries.
  • +
+
+
Parameters
+ + + + +
[in]configUCP configuration descriptor allocated through ucp_config_read() routine.
[in]paramsUser defined ucp_params_t configurations for the UCP application context.
[out]context_pInitialized UCP application context.
+
+
+
Returns
Error code as defined by ucs_status_t
+
Examples
ucp_client_server.c, and ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_cleanup()

+ +
+
+ + + + + + + + +
void ucp_cleanup (ucp_context_h context_p)
+
+

This routine finalizes and releases the resources associated with a UCP application context.

+
Warning
An application cannot call any UCP routine once the UCP application context released.
+

The cleanup process releases and shuts down all resources associated with the application context. After calling this routine, calling any UCP routine without calling UCP initialization routine is invalid.

+
Parameters
+ + +
[in]context_pHandle to UCP application context.
+
+
+
Examples
ucp_client_server.c, and ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_context_query()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_context_query (ucp_context_h context_p,
ucp_context_attr_tattr 
)
+
+

This routine fetches information about the context.

+
Parameters
+ + + +
[in]context_pHandle to UCP application context.
[out]attrFilled with attributes of context_p context.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_context_print_info()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ucp_context_print_info (const ucp_context_h context,
FILE * stream 
)
+
+

This routine prints information about the context configuration: including memory domains, transport resources, and other useful information associated with the context.

+
Parameters
+ + + +
[in]contextPrint this context object's configuration.
[in]streamOutput stream on which to print the information.
+
+
+ +
+
+
+
+
void * request
Definition: ucp.h:1667
+
@ UCP_OP_ATTR_FIELD_CALLBACK
Definition: ucp.h:693
+
void * ucs_status_ptr_t
Status pointer.
Definition: status.h:106
+
Operation parameters passed to ucp_tag_send_nbx, ucp_tag_send_sync_nbx, ucp_tag_recv_nbx,...
Definition: ucp.h:1650
+
@ UCS_OK
Definition: status.h:47
+
ucs_status_ptr_t ucp_tag_send_nbx(ucp_ep_h ep, const void *buffer, size_t count, ucp_tag_t tag, const ucp_request_param_t *param)
Non-blocking tagged-send operation.
+
@ UCP_OP_ATTR_FIELD_REQUEST
Definition: ucp.h:692
+
uint32_t op_attr_mask
Definition: ucp.h:1656
+
struct ucp_ep * ucp_ep_h
UCP Endpoint.
Definition: ucp_def.h:92
+
uint64_t ucp_tag_t
UCP Tag Identifier.
Definition: ucp_def.h:257
+ + + + diff --git a/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t.js b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t.js new file mode 100644 index 00000000000..cf7657ca5c7 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t.js @@ -0,0 +1,83 @@ +var group___u_c_p___c_o_n_t_e_x_t = +[ + [ "ucp_lib_attr", "group___u_c_p___c_o_n_t_e_x_t.html#structucp__lib__attr", [ + [ "field_mask", "group___u_c_p___c_o_n_t_e_x_t.html#a529751be1cb45aff76dde0e5bf22b6d9", null ], + [ "max_thread_level", "group___u_c_p___c_o_n_t_e_x_t.html#a3cfd1d293ca29602ae799f7c52607c86", null ] + ] ], + [ "ucp_context_attr", "group___u_c_p___c_o_n_t_e_x_t.html#structucp__context__attr", [ + [ "field_mask", "group___u_c_p___c_o_n_t_e_x_t.html#ae4603d33274d3dd0bf41e1d759513601", null ], + [ "request_size", "group___u_c_p___c_o_n_t_e_x_t.html#a9b2ad3af27e1e94d4189ecc6fb1512ef", null ], + [ "thread_mode", "group___u_c_p___c_o_n_t_e_x_t.html#a4bc884428c16540d5d1b1f56881eb80b", null ], + [ "memory_types", "group___u_c_p___c_o_n_t_e_x_t.html#a59917e3a7e709c62e77d0acabbb0a24d", null ], + [ "name", "group___u_c_p___c_o_n_t_e_x_t.html#a958c850cc721fdadeae598928bbc8270", null ] + ] ], + [ "ucp_tag_recv_info", "group___u_c_p___c_o_n_t_e_x_t.html#structucp__tag__recv__info", [ + [ "sender_tag", "group___u_c_p___c_o_n_t_e_x_t.html#a19ac36808d83d348b23cd34fe997a7c9", null ], + [ "length", "group___u_c_p___c_o_n_t_e_x_t.html#a6fd83122b93c677e702dc37b39e8351b", null ] + ] ], + [ "ucp_request_param_t", "group___u_c_p___c_o_n_t_e_x_t.html#structucp__request__param__t", [ + [ "op_attr_mask", "group___u_c_p___c_o_n_t_e_x_t.html#a97e9444548efb351db6a07130fb69c28", null ], + [ "flags", "group___u_c_p___c_o_n_t_e_x_t.html#a55a8ff2559470c5def6077a86ee9d898", null ], + [ "request", "group___u_c_p___c_o_n_t_e_x_t.html#a746646123a460ed9a115c3fe21f194b0", null ], + [ "cb", "group___u_c_p___c_o_n_t_e_x_t.html#a1859c77f14dee64f623bd9f9111200c7", null ], + [ "datatype", "group___u_c_p___c_o_n_t_e_x_t.html#a3988d603154f90eb5405785cac62b65f", null ], + [ "user_data", "group___u_c_p___c_o_n_t_e_x_t.html#aa9092d65a2e4e55368ca4f88775c190b", null ], + [ "reply_buffer", "group___u_c_p___c_o_n_t_e_x_t.html#ad41bfb73053537d40830d52b3f380f02", null ], + [ "memory_type", "group___u_c_p___c_o_n_t_e_x_t.html#a52b53447384778b16b3b91d6abeb0f86", null ], + [ "recv_info", "group___u_c_p___c_o_n_t_e_x_t.html#a508d273e351bac14d3906243de353fb7", null ], + [ "memh", "group___u_c_p___c_o_n_t_e_x_t.html#a815bd876629909195b15c6b246de2900", null ] + ] ], + [ "ucp_request_param_t.cb", "group___u_c_p___c_o_n_t_e_x_t.html#unionucp__request__param__t_8cb", [ + [ "send", "group___u_c_p___c_o_n_t_e_x_t.html#a2541d938b0a58946090d7abdde0d3890", null ], + [ "recv", "group___u_c_p___c_o_n_t_e_x_t.html#af701fee85540b78d08cb276d14953d58", null ], + [ "recv_stream", "group___u_c_p___c_o_n_t_e_x_t.html#aedcd1a9fffc78ccbba676b725aedd2e7", null ], + [ "recv_am", "group___u_c_p___c_o_n_t_e_x_t.html#a0b3ecefca237481439444fca3748275b", null ] + ] ], + [ "ucp_request_param_t.recv_info", "group___u_c_p___c_o_n_t_e_x_t.html#unionucp__request__param__t_8recv__info", [ + [ "length", "group___u_c_p___c_o_n_t_e_x_t.html#a2fa47f7c65fec19cc163b195725e3844", null ], + [ "tag_info", "group___u_c_p___c_o_n_t_e_x_t.html#afd2efab53a12a2742d277a8bcab056a6", null ] + ] ], + [ "UCP_ENTITY_NAME_MAX", "group___u_c_p___c_o_n_t_e_x_t.html#gacbb936da337ac69d01a51e74d2476981", null ], + [ "ucp_lib_attr_t", "group___u_c_p___c_o_n_t_e_x_t.html#ga0b1aa9a567a689ccc7bd9848c2bc0ba1", null ], + [ "ucp_context_attr_t", "group___u_c_p___c_o_n_t_e_x_t.html#ga64e2a4abc0ad7d1648ce8266de1731c2", null ], + [ "ucp_tag_recv_info_t", "group___u_c_p___c_o_n_t_e_x_t.html#ga118ca6feabfc3b35c7b37002c40ca7e2", null ], + [ "ucp_context_h", "group___u_c_p___c_o_n_t_e_x_t.html#ga0e40ddc46f0bbe868a13f6ab1b674f76", null ], + [ "ucp_request_init_callback_t", "group___u_c_p___c_o_n_t_e_x_t.html#ga0cc0c63694e7e9ee370bbee017aee7fb", null ], + [ "ucp_request_cleanup_callback_t", "group___u_c_p___c_o_n_t_e_x_t.html#gaa0db30ca2911587c444d63b6a54b3625", null ], + [ "ucp_params_field", "group___u_c_p___c_o_n_t_e_x_t.html#gab43f613a2365147415abf66f571cfa71", [ + [ "UCP_PARAM_FIELD_FEATURES", "group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a454f1e90a324095192d87d97b8a4321f", null ], + [ "UCP_PARAM_FIELD_REQUEST_SIZE", "group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a8385ca52048353e69b90fb7c6b0799ee", null ], + [ "UCP_PARAM_FIELD_REQUEST_INIT", "group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71ac95d94f94370df6cd79db8e830505738", null ], + [ "UCP_PARAM_FIELD_REQUEST_CLEANUP", "group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a9e2c9cebfbf51d47df31ffd019eb01c6", null ], + [ "UCP_PARAM_FIELD_TAG_SENDER_MASK", "group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a030b9866b2b6167cbdcfe9ce321d1f28", null ], + [ "UCP_PARAM_FIELD_MT_WORKERS_SHARED", "group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71aa8d5e573f9d52358f50ae2725a08e10e", null ], + [ "UCP_PARAM_FIELD_ESTIMATED_NUM_EPS", "group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a834c5a969e0d41a90d54a6955b7414eb", null ], + [ "UCP_PARAM_FIELD_ESTIMATED_NUM_PPN", "group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a22fcdc29e68f36d97a0f389712529976", null ], + [ "UCP_PARAM_FIELD_NAME", "group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a9bf23645413cc4f5e753cf99b4379eb6", null ] + ] ], + [ "ucp_feature", "group___u_c_p___c_o_n_t_e_x_t.html#gaca5990bc015e7e9ac3e3be4e3611c5be", [ + [ "UCP_FEATURE_TAG", "group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5bea244187ad85296b3784d302db00f66b9e", null ], + [ "UCP_FEATURE_RMA", "group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5beaf374a837508d798fb36abd22a7a0a033", null ], + [ "UCP_FEATURE_AMO32", "group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5beab127e1eabe5779ad82bc1ad4c5b47007", null ], + [ "UCP_FEATURE_AMO64", "group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5beada4b36191b39ef8615f657d370baead1", null ], + [ "UCP_FEATURE_WAKEUP", "group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5beabc3fea5aff6b7453e24235bceb102b5a", null ], + [ "UCP_FEATURE_STREAM", "group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5bea0c3896ead0887f9c650b221831e16b5c", null ], + [ "UCP_FEATURE_AM", "group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5bea685931b9f438fa9a2faaf9eccf47b097", null ] + ] ], + [ "ucp_lib_attr_field", "group___u_c_p___c_o_n_t_e_x_t.html#ga2791b2b44c55fdb685dcd4dad8c8ae3c", [ + [ "UCP_LIB_ATTR_FIELD_MAX_THREAD_LEVEL", "group___u_c_p___c_o_n_t_e_x_t.html#gga2791b2b44c55fdb685dcd4dad8c8ae3ca96a3edd65a30f00765d330342d3c1267", null ] + ] ], + [ "ucp_context_attr_field", "group___u_c_p___c_o_n_t_e_x_t.html#ga446a95e55ba52251d2ca4bf61ff916bf", [ + [ "UCP_ATTR_FIELD_REQUEST_SIZE", "group___u_c_p___c_o_n_t_e_x_t.html#gga446a95e55ba52251d2ca4bf61ff916bfa84237b8beaee9aff1013ae6b87721ce2", null ], + [ "UCP_ATTR_FIELD_THREAD_MODE", "group___u_c_p___c_o_n_t_e_x_t.html#gga446a95e55ba52251d2ca4bf61ff916bfab5f79c9d9c309562d4e7edb60e5855d6", null ], + [ "UCP_ATTR_FIELD_MEMORY_TYPES", "group___u_c_p___c_o_n_t_e_x_t.html#gga446a95e55ba52251d2ca4bf61ff916bfa13fe8e11d8c372a446e00cf559c78b88", null ], + [ "UCP_ATTR_FIELD_NAME", "group___u_c_p___c_o_n_t_e_x_t.html#gga446a95e55ba52251d2ca4bf61ff916bfa35fd67165561f70728f6ec1c8e53ff80", null ] + ] ], + [ "ucp_lib_query", "group___u_c_p___c_o_n_t_e_x_t.html#ga4f8c11637791304bd7fcc9aceafbb1dd", null ], + [ "ucp_get_version", "group___u_c_p___c_o_n_t_e_x_t.html#gae57b8eee6087f5e1d056d8075751042e", null ], + [ "ucp_get_version_string", "group___u_c_p___c_o_n_t_e_x_t.html#gad53f3f2fe0e47cf54ac4f41b2687850b", null ], + [ "ucp_init", "group___u_c_p___c_o_n_t_e_x_t.html#ga3ad3662ebafac88ec666be4caeb76cb2", null ], + [ "ucp_cleanup", "group___u_c_p___c_o_n_t_e_x_t.html#gaaa7a90069ad6e0f3e227402db265299e", null ], + [ "ucp_context_query", "group___u_c_p___c_o_n_t_e_x_t.html#ga3485fb61663f4cc6f32e801654aedcff", null ], + [ "ucp_context_print_info", "group___u_c_p___c_o_n_t_e_x_t.html#ga91684cf77b8dc8cbb62af0c3741b36ea", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_structucp__context__attr.js b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_structucp__context__attr.js new file mode 100644 index 00000000000..c58071ad303 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_structucp__context__attr.js @@ -0,0 +1,8 @@ +var group___u_c_p___c_o_n_t_e_x_t_structucp__context__attr = +[ + [ "field_mask", "group___u_c_p___c_o_n_t_e_x_t.html#ae4603d33274d3dd0bf41e1d759513601", null ], + [ "request_size", "group___u_c_p___c_o_n_t_e_x_t.html#a9b2ad3af27e1e94d4189ecc6fb1512ef", null ], + [ "thread_mode", "group___u_c_p___c_o_n_t_e_x_t.html#a4bc884428c16540d5d1b1f56881eb80b", null ], + [ "memory_types", "group___u_c_p___c_o_n_t_e_x_t.html#a59917e3a7e709c62e77d0acabbb0a24d", null ], + [ "name", "group___u_c_p___c_o_n_t_e_x_t.html#a958c850cc721fdadeae598928bbc8270", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_structucp__lib__attr.js b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_structucp__lib__attr.js new file mode 100644 index 00000000000..a1f2d6fbec8 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_structucp__lib__attr.js @@ -0,0 +1,5 @@ +var group___u_c_p___c_o_n_t_e_x_t_structucp__lib__attr = +[ + [ "field_mask", "group___u_c_p___c_o_n_t_e_x_t.html#a529751be1cb45aff76dde0e5bf22b6d9", null ], + [ "max_thread_level", "group___u_c_p___c_o_n_t_e_x_t.html#a3cfd1d293ca29602ae799f7c52607c86", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_structucp__request__param__t.js b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_structucp__request__param__t.js new file mode 100644 index 00000000000..a68fde5ee1e --- /dev/null +++ b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_structucp__request__param__t.js @@ -0,0 +1,13 @@ +var group___u_c_p___c_o_n_t_e_x_t_structucp__request__param__t = +[ + [ "op_attr_mask", "group___u_c_p___c_o_n_t_e_x_t.html#a97e9444548efb351db6a07130fb69c28", null ], + [ "flags", "group___u_c_p___c_o_n_t_e_x_t.html#a55a8ff2559470c5def6077a86ee9d898", null ], + [ "request", "group___u_c_p___c_o_n_t_e_x_t.html#a746646123a460ed9a115c3fe21f194b0", null ], + [ "cb", "group___u_c_p___c_o_n_t_e_x_t.html#a1859c77f14dee64f623bd9f9111200c7", null ], + [ "datatype", "group___u_c_p___c_o_n_t_e_x_t.html#a3988d603154f90eb5405785cac62b65f", null ], + [ "user_data", "group___u_c_p___c_o_n_t_e_x_t.html#aa9092d65a2e4e55368ca4f88775c190b", null ], + [ "reply_buffer", "group___u_c_p___c_o_n_t_e_x_t.html#ad41bfb73053537d40830d52b3f380f02", null ], + [ "memory_type", "group___u_c_p___c_o_n_t_e_x_t.html#a52b53447384778b16b3b91d6abeb0f86", null ], + [ "recv_info", "group___u_c_p___c_o_n_t_e_x_t.html#a508d273e351bac14d3906243de353fb7", null ], + [ "memh", "group___u_c_p___c_o_n_t_e_x_t.html#a815bd876629909195b15c6b246de2900", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_structucp__tag__recv__info.js b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_structucp__tag__recv__info.js new file mode 100644 index 00000000000..60360c16c89 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_structucp__tag__recv__info.js @@ -0,0 +1,5 @@ +var group___u_c_p___c_o_n_t_e_x_t_structucp__tag__recv__info = +[ + [ "sender_tag", "group___u_c_p___c_o_n_t_e_x_t.html#a19ac36808d83d348b23cd34fe997a7c9", null ], + [ "length", "group___u_c_p___c_o_n_t_e_x_t.html#a6fd83122b93c677e702dc37b39e8351b", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_unionucp__request__param__t_8cb.js b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_unionucp__request__param__t_8cb.js new file mode 100644 index 00000000000..d8d78af6e66 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_unionucp__request__param__t_8cb.js @@ -0,0 +1,7 @@ +var group___u_c_p___c_o_n_t_e_x_t_unionucp__request__param__t_8cb = +[ + [ "send", "group___u_c_p___c_o_n_t_e_x_t.html#a2541d938b0a58946090d7abdde0d3890", null ], + [ "recv", "group___u_c_p___c_o_n_t_e_x_t.html#af701fee85540b78d08cb276d14953d58", null ], + [ "recv_stream", "group___u_c_p___c_o_n_t_e_x_t.html#aedcd1a9fffc78ccbba676b725aedd2e7", null ], + [ "recv_am", "group___u_c_p___c_o_n_t_e_x_t.html#a0b3ecefca237481439444fca3748275b", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_unionucp__request__param__t_8recv__info.js b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_unionucp__request__param__t_8recv__info.js new file mode 100644 index 00000000000..c841f762eac --- /dev/null +++ b/api/v1.13/html/group___u_c_p___c_o_n_t_e_x_t_unionucp__request__param__t_8recv__info.js @@ -0,0 +1,5 @@ +var group___u_c_p___c_o_n_t_e_x_t_unionucp__request__param__t_8recv__info = +[ + [ "length", "group___u_c_p___c_o_n_t_e_x_t.html#a2fa47f7c65fec19cc163b195725e3844", null ], + [ "tag_info", "group___u_c_p___c_o_n_t_e_x_t.html#afd2efab53a12a2742d277a8bcab056a6", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___d_a_t_a_t_y_p_e.html b/api/v1.13/html/group___u_c_p___d_a_t_a_t_y_p_e.html new file mode 100644 index 00000000000..def23ae8565 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___d_a_t_a_t_y_p_e.html @@ -0,0 +1,550 @@ + + + + + + + +UCX: UCP Data type routines + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + + + +

+Data Structures

struct  ucp_dt_iov
 Structure for scatter-gather I/O. More...
 
struct  ucp_generic_dt_ops
 UCP generic data type descriptor. More...
 
+ + + + + + + +

+Macros

#define ucp_dt_make_contig(_elem_size)   (((ucp_datatype_t)(_elem_size) << UCP_DATATYPE_SHIFT) | UCP_DATATYPE_CONTIG)
 Generate an identifier for contiguous data type. More...
 
#define ucp_dt_make_iov()   ((ucp_datatype_t)UCP_DATATYPE_IOV)
 Generate an identifier for Scatter-gather IOV data type. More...
 
+ + + + + + + +

+Typedefs

typedef struct ucp_dt_iov ucp_dt_iov_t
 Structure for scatter-gather I/O. More...
 
typedef struct ucp_generic_dt_ops ucp_generic_dt_ops_t
 UCP generic data type descriptor. More...
 
+ + + + +

+Enumerations

enum  ucp_dt_type {
+  UCP_DATATYPE_CONTIG = 0, +UCP_DATATYPE_STRIDED = 1, +UCP_DATATYPE_IOV = 2, +UCP_DATATYPE_GENERIC = 7, +
+  UCP_DATATYPE_SHIFT = 3, +UCP_DATATYPE_CLASS_MASK = UCS_MASK(UCP_DATATYPE_SHIFT) +
+ }
 UCP data type classification. More...
 
+ + + + + + + +

+Functions

ucs_status_t ucp_dt_create_generic (const ucp_generic_dt_ops_t *ops, void *context, ucp_datatype_t *datatype_p)
 Create a generic datatype. More...
 
void ucp_dt_destroy (ucp_datatype_t datatype)
 Destroy a datatype and release its resources. More...
 
+ + + + + + + + + + + + + + + + + + + +

+Variables

void *(* ucp_generic_dt_ops::start_pack )(void *context, const void *buffer, size_t count)
 Start a packing request. More...
 
void *(* ucp_generic_dt_ops::start_unpack )(void *context, void *buffer, size_t count)
 Start an unpacking request. More...
 
size_t(* ucp_generic_dt_ops::packed_size )(void *state)
 Get the total size of packed data. More...
 
size_t(* ucp_generic_dt_ops::pack )(void *state, size_t offset, void *dest, size_t max_length)
 Pack data. More...
 
ucs_status_t(* ucp_generic_dt_ops::unpack )(void *state, size_t offset, const void *src, size_t length)
 Unpack data. More...
 
void(* ucp_generic_dt_ops::finish )(void *state)
 Finish packing/unpacking. More...
 
+

Detailed Description

+

UCP Data type routines

+

Data Structure Documentation

+ +

◆ ucp_dt_iov

+ +
+
+ + + + +
struct ucp_dt_iov
+
+

This structure is used to specify a list of buffers which can be used within a single data transfer function call. This list should remain valid until the data transfer request is completed.

+
Note
If length is zero, the memory pointed to by buffer will not be accessed. Otherwise, buffer must point to valid memory.
+
Examples
ucp_client_server.c.
+
+
+ + + + + + + +
Data Fields
+void * +buffer +

Pointer to a data buffer

+
+size_t +length +

Length of the buffer in bytes

+
+ +
+
+

Macro Definition Documentation

+ +

◆ ucp_dt_make_contig

+ +
+
+ + + + + + + + +
#define ucp_dt_make_contig( _elem_size)   (((ucp_datatype_t)(_elem_size) << UCP_DATATYPE_SHIFT) | UCP_DATATYPE_CONTIG)
+
+

This macro creates an identifier for contiguous datatype that is defined by the size of the basic element.

+
Parameters
+ + +
[in]_elem_sizeSize of the basic element of the type.
+
+
+
Returns
Data-type identifier.
+
Note
In case of partial receive, the buffer will be filled with integral count of elements.
+
Examples
ucp_client_server.c, and ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_dt_make_iov

+ +
+
+ + + + + + + +
#define ucp_dt_make_iov()   ((ucp_datatype_t)UCP_DATATYPE_IOV)
+
+

This macro creates an identifier for datatype of scatter-gather list with multiple pointers

+
Returns
Data-type identifier.
+
Note
In the event of partial receive, ucp_dt_iov_t::buffer can be filled with any number of bytes according to its ucp_dt_iov_t::length.
+ +
+
+

Typedef Documentation

+ +

◆ ucp_dt_iov_t

+ +
+
+ + + + +
typedef struct ucp_dt_iov ucp_dt_iov_t
+
+

This structure is used to specify a list of buffers which can be used within a single data transfer function call. This list should remain valid until the data transfer request is completed.

+
Note
If length is zero, the memory pointed to by buffer will not be accessed. Otherwise, buffer must point to valid memory.
+ +
+
+ +

◆ ucp_generic_dt_ops_t

+ +
+
+ + + + +
typedef struct ucp_generic_dt_ops ucp_generic_dt_ops_t
+
+

This structure provides a generic datatype descriptor that is used for definition of application defined datatypes.

+

Typically, the descriptor is used for an integration with datatype engines implemented within MPI and SHMEM implementations.

+
Note
In case of partial receive, any amount of received data is acceptable which matches buffer size.
+ +
+
+

Enumeration Type Documentation

+ +

◆ ucp_dt_type

+ +
+
+ + + + +
enum ucp_dt_type
+
+

The enumeration list describes the datatypes supported by UCP.

+ + + + + + + +
Enumerator
UCP_DATATYPE_CONTIG 

Contiguous datatype

+
UCP_DATATYPE_STRIDED 

Strided datatype

+
UCP_DATATYPE_IOV 

Scatter-gather list with multiple pointers

+
UCP_DATATYPE_GENERIC 

Generic datatype with user-defined pack/unpack routines

+
UCP_DATATYPE_SHIFT 

Number of bits defining the datatype classification

+
UCP_DATATYPE_CLASS_MASK 

Data-type class mask

+
+ +
+
+

Function Documentation

+ +

◆ ucp_dt_create_generic()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_dt_create_generic (const ucp_generic_dt_ops_tops,
void * context,
ucp_datatype_tdatatype_p 
)
+
+

This routine create a generic datatype object. The generic datatype is described by the ops object which provides a table of routines defining the operations for generic datatype manipulation. Typically, generic datatypes are used for integration with datatype engines provided with MPI implementations (MPICH, Open MPI, etc). The application is responsible for releasing the datatype_p object using ucp_dt_destroy() routine.

+
Parameters
+ + + + +
[in]opsGeneric datatype function table as defined by ucp_generic_dt_ops_t .
[in]contextApplication defined context passed to this routine. The context is passed as a parameter to the routines in the ops table.
[out]datatype_pA pointer to datatype object.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_dt_destroy()

+ +
+
+ + + + + + + + +
void ucp_dt_destroy (ucp_datatype_t datatype)
+
+

This routine destroys the datatype object and releases any resources that are associated with the object. The datatype object must be allocated using ucp_dt_create_generic() routine.

+
Warning
    +
  • Once the datatype object is released an access to this object may cause an undefined failure.
  • +
+
+
Parameters
+ + +
[in]datatypeDatatype object to destroy.
+
+
+ +
+
+

Variable Documentation

+ +

◆ start_pack

+ +
+
+ + + + +
void*(* ucp_generic_dt_ops::start_pack) (void *context, const void *buffer, size_t count)
+
+

The pointer refers to application defined start-to-pack routine. It will be called from the ucp_tag_send_nb routine.

+
Parameters
+ + + + +
[in]contextUser-defined context.
[in]bufferBuffer to pack.
[in]countNumber of elements to pack into the buffer.
+
+
+
Returns
A custom state that is passed to the following pack() routine.
+ +
+
+ +

◆ start_unpack

+ +
+
+ + + + +
void*(* ucp_generic_dt_ops::start_unpack) (void *context, void *buffer, size_t count)
+
+

The pointer refers to application defined start-to-unpack routine. It will be called from the ucp_tag_recv_nb routine.

+
Parameters
+ + + + +
[in]contextUser-defined context.
[in]bufferBuffer to unpack to.
[in]countNumber of elements to unpack in the buffer.
+
+
+
Returns
A custom state that is passed later to the following unpack() routine.
+ +
+
+ +

◆ packed_size

+ +
+
+ + + + +
size_t(* ucp_generic_dt_ops::packed_size) (void *state)
+
+

The pointer refers to user defined routine that returns the size of data in a packed format.

+
Parameters
+ + +
[in]stateState as returned by start_pack() routine.
+
+
+
Returns
The size of the data in a packed form.
+ +
+
+ +

◆ pack

+ +
+
+ + + + +
size_t(* ucp_generic_dt_ops::pack) (void *state, size_t offset, void *dest, size_t max_length)
+
+

The pointer refers to application defined pack routine.

+
Parameters
+ + + + + +
[in]stateState as returned by start_pack() routine.
[in]offsetVirtual offset in the output stream.
[in]destDestination buffer to pack the data.
[in]max_lengthMaximum length to pack.
+
+
+
Returns
The size of the data that was written to the destination buffer. Must be less than or equal to max_length.
+ +
+
+ +

◆ unpack

+ +
+
+ + + + +
ucs_status_t(* ucp_generic_dt_ops::unpack) (void *state, size_t offset, const void *src, size_t length)
+
+

The pointer refers to application defined unpack routine.

+
Parameters
+ + + + + +
[in]stateState as returned by start_unpack() routine.
[in]offsetVirtual offset in the input stream.
[in]srcSource to unpack the data from.
[in]lengthLength to unpack.
+
+
+
Returns
UCS_OK or an error if unpacking failed.
+ +
+
+ +

◆ finish

+ +
+
+ + + + +
void(* ucp_generic_dt_ops::finish) (void *state)
+
+

The pointer refers to application defined finish routine.

+
Parameters
+ + +
[in]stateState as returned by start_pack() and start_unpack() routines.
+
+
+ +
+
+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_p___d_a_t_a_t_y_p_e.js b/api/v1.13/html/group___u_c_p___d_a_t_a_t_y_p_e.js new file mode 100644 index 00000000000..ae9353ca574 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___d_a_t_a_t_y_p_e.js @@ -0,0 +1,35 @@ +var group___u_c_p___d_a_t_a_t_y_p_e = +[ + [ "ucp_dt_iov", "group___u_c_p___d_a_t_a_t_y_p_e.html#structucp__dt__iov", [ + [ "buffer", "group___u_c_p___d_a_t_a_t_y_p_e.html#a6cf4c47c33d61c097226b570a470f10c", null ], + [ "length", "group___u_c_p___d_a_t_a_t_y_p_e.html#a776d38e0b127efb673685644b6816663", null ] + ] ], + [ "ucp_generic_dt_ops", "structucp__generic__dt__ops.html", [ + [ "start_pack", "group___u_c_p___d_a_t_a_t_y_p_e.html#gaf59e41a131f620d3b71f3aa7b9bb4801", null ], + [ "start_unpack", "group___u_c_p___d_a_t_a_t_y_p_e.html#gaec412b924f1cf491fbc570927f77c7e6", null ], + [ "packed_size", "group___u_c_p___d_a_t_a_t_y_p_e.html#gafa434c93350838be8da6480b2a68f83b", null ], + [ "pack", "group___u_c_p___d_a_t_a_t_y_p_e.html#ga347b6c1b7243047f3e069a70626a1e89", null ], + [ "unpack", "group___u_c_p___d_a_t_a_t_y_p_e.html#gaef4bcfb34731b7f113479b221304b698", null ], + [ "finish", "group___u_c_p___d_a_t_a_t_y_p_e.html#ga09ee4ed178f4c27feec4e37f52a8e17b", null ] + ] ], + [ "ucp_dt_make_contig", "group___u_c_p___d_a_t_a_t_y_p_e.html#ga9a56fc4636094bab740d77f7df70c2b5", null ], + [ "ucp_dt_make_iov", "group___u_c_p___d_a_t_a_t_y_p_e.html#ga8ff6e9f933b306e777d24491ec251d7a", null ], + [ "ucp_dt_iov_t", "group___u_c_p___d_a_t_a_t_y_p_e.html#gab2de4538a9794186e4aa62c055454473", null ], + [ "ucp_generic_dt_ops_t", "group___u_c_p___d_a_t_a_t_y_p_e.html#gabece4d5eeeb7f7f22b03dd2fc00e1fdd", null ], + [ "ucp_dt_type", "group___u_c_p___d_a_t_a_t_y_p_e.html#ga50b3b4e641a197264e963d91be480b6c", [ + [ "UCP_DATATYPE_CONTIG", "group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6ca42f91fe8586a858f8e6cf9b2b0128048", null ], + [ "UCP_DATATYPE_STRIDED", "group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6caa6bc9a1df8eb865e71f2b90d3e4d97ad", null ], + [ "UCP_DATATYPE_IOV", "group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6ca3b5515fddd08f075a8b74eca562bcb50", null ], + [ "UCP_DATATYPE_GENERIC", "group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6caeb9bca341a1f16a56bff64f9889a4567", null ], + [ "UCP_DATATYPE_SHIFT", "group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6ca5c657c620df6580669917914217b2cda", null ], + [ "UCP_DATATYPE_CLASS_MASK", "group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6ca63ddce22a2292935f40122def246ffa8", null ] + ] ], + [ "ucp_dt_create_generic", "group___u_c_p___d_a_t_a_t_y_p_e.html#gad786aa1a5250b22d4c35d82801aef254", null ], + [ "ucp_dt_destroy", "group___u_c_p___d_a_t_a_t_y_p_e.html#ga00337159ebd75640d55be501b7fcc5e7", null ], + [ "start_pack", "group___u_c_p___d_a_t_a_t_y_p_e.html#gaf59e41a131f620d3b71f3aa7b9bb4801", null ], + [ "start_unpack", "group___u_c_p___d_a_t_a_t_y_p_e.html#gaec412b924f1cf491fbc570927f77c7e6", null ], + [ "packed_size", "group___u_c_p___d_a_t_a_t_y_p_e.html#gafa434c93350838be8da6480b2a68f83b", null ], + [ "pack", "group___u_c_p___d_a_t_a_t_y_p_e.html#ga347b6c1b7243047f3e069a70626a1e89", null ], + [ "unpack", "group___u_c_p___d_a_t_a_t_y_p_e.html#gaef4bcfb34731b7f113479b221304b698", null ], + [ "finish", "group___u_c_p___d_a_t_a_t_y_p_e.html#ga09ee4ed178f4c27feec4e37f52a8e17b", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___d_a_t_a_t_y_p_e_structucp__dt__iov.js b/api/v1.13/html/group___u_c_p___d_a_t_a_t_y_p_e_structucp__dt__iov.js new file mode 100644 index 00000000000..0192494bc06 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___d_a_t_a_t_y_p_e_structucp__dt__iov.js @@ -0,0 +1,5 @@ +var group___u_c_p___d_a_t_a_t_y_p_e_structucp__dt__iov = +[ + [ "buffer", "group___u_c_p___d_a_t_a_t_y_p_e.html#a6cf4c47c33d61c097226b570a470f10c", null ], + [ "length", "group___u_c_p___d_a_t_a_t_y_p_e.html#a776d38e0b127efb673685644b6816663", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t.html b/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t.html new file mode 100644 index 00000000000..1876421b815 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t.html @@ -0,0 +1,1395 @@ + + + + + + + +UCX: UCP Endpoint + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + +

+Data Structures

struct  ucp_ep_evaluate_perf_param_t
 UCP endpoint performance evaluation request attributes. More...
 
struct  ucp_ep_evaluate_perf_attr_t
 UCP endpoint performance evaluation result attributes. More...
 
struct  ucp_stream_poll_ep
 Output parameter of ucp_stream_worker_poll function. More...
 
struct  ucp_ep_attr
 UCP endpoint attributes. More...
 
struct  ucp_ep_params
 Tuning parameters for the UCP endpoint. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef enum ucp_ep_perf_param_field ucp_ep_perf_param_field_t
 UCP performance fields and flags. More...
 
typedef enum ucp_ep_perf_attr_field ucp_ep_perf_attr_field_t
 UCP performance fields and flags. More...
 
typedef struct ucp_stream_poll_ep ucp_stream_poll_ep_t
 Output parameter of ucp_stream_worker_poll function. More...
 
typedef struct ucp_ep_attr ucp_ep_attr_t
 UCP endpoint attributes. More...
 
typedef struct ucp_ep * ucp_ep_h
 UCP Endpoint. More...
 
typedef struct ucp_conn_request * ucp_conn_request_h
 UCP connection request. More...
 
typedef ucs_status_t(* ucp_am_callback_t) (void *arg, void *data, size_t length, ucp_ep_h reply_ep, unsigned flags)
 Callback to process incoming Active Message. More...
 
typedef ucs_status_t(* ucp_am_recv_callback_t) (void *arg, const void *header, size_t header_length, void *data, size_t length, const ucp_am_recv_param_t *param)
 Callback to process incoming Active Message sent by ucp_am_send_nbx routine. More...
 
typedef struct ucp_ep_params ucp_ep_params_t
 Tuning parameters for the UCP endpoint. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  ucp_ep_params_field {
+  UCP_EP_PARAM_FIELD_REMOTE_ADDRESS = UCS_BIT(0), +UCP_EP_PARAM_FIELD_ERR_HANDLING_MODE = UCS_BIT(1), +UCP_EP_PARAM_FIELD_ERR_HANDLER = UCS_BIT(2), +UCP_EP_PARAM_FIELD_USER_DATA = UCS_BIT(3), +
+  UCP_EP_PARAM_FIELD_SOCK_ADDR = UCS_BIT(4), +UCP_EP_PARAM_FIELD_FLAGS = UCS_BIT(5), +UCP_EP_PARAM_FIELD_CONN_REQUEST = UCS_BIT(6), +UCP_EP_PARAM_FIELD_NAME = UCS_BIT(7), +
+  UCP_EP_PARAM_FIELD_LOCAL_SOCK_ADDR = UCS_BIT(8) +
+ }
 UCP endpoint parameters field mask. More...
 
enum  ucp_ep_params_flags_field { UCP_EP_PARAMS_FLAGS_CLIENT_SERVER = UCS_BIT(0), +UCP_EP_PARAMS_FLAGS_NO_LOOPBACK = UCS_BIT(1), +UCP_EP_PARAMS_FLAGS_SEND_CLIENT_ID = UCS_BIT(2) + }
 UCP endpoint parameters flags. More...
 
enum  ucp_ep_close_flags_t { UCP_EP_CLOSE_FLAG_FORCE = UCS_BIT(0) + }
 Close UCP endpoint modes. More...
 
enum  ucp_ep_close_mode { UCP_EP_CLOSE_MODE_FORCE = 0, +UCP_EP_CLOSE_MODE_FLUSH = 1 + }
 Close UCP endpoint modes. More...
 
enum  ucp_ep_perf_param_field { UCP_EP_PERF_PARAM_FIELD_MESSAGE_SIZE = UCS_BIT(0) + }
 UCP performance fields and flags. More...
 
enum  ucp_ep_perf_attr_field { UCP_EP_PERF_ATTR_FIELD_ESTIMATED_TIME = UCS_BIT(0) + }
 UCP performance fields and flags. More...
 
enum  ucp_cb_param_flags { UCP_CB_PARAM_FLAG_DATA = UCS_BIT(0) + }
 Descriptor flags for Active Message callback. More...
 
enum  ucp_ep_attr_field { UCP_EP_ATTR_FIELD_NAME = UCS_BIT(0), +UCP_EP_ATTR_FIELD_LOCAL_SOCKADDR = UCS_BIT(1), +UCP_EP_ATTR_FIELD_REMOTE_SOCKADDR = UCS_BIT(2) + }
 UCP endpoint attributes field mask. More...
 
enum  ucp_err_handling_mode_t { UCP_ERR_HANDLING_MODE_NONE, +UCP_ERR_HANDLING_MODE_PEER + }
 Error handling mode for the UCP endpoint. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ucs_status_t ucp_ep_create (ucp_worker_h worker, const ucp_ep_params_t *params, ucp_ep_h *ep_p)
 Create and connect an endpoint. More...
 
ucs_status_ptr_t ucp_ep_close_nb (ucp_ep_h ep, unsigned mode)
 Non-blocking endpoint closure. More...
 
ucs_status_ptr_t ucp_ep_close_nbx (ucp_ep_h ep, const ucp_request_param_t *param)
 Non-blocking endpoint closure. More...
 
void ucp_ep_print_info (ucp_ep_h ep, FILE *stream)
 Print endpoint information. More...
 
ucs_status_ptr_t ucp_ep_flush_nb (ucp_ep_h ep, unsigned flags, ucp_send_callback_t cb)
 Non-blocking flush of outstanding AMO and RMA operations on the endpoint. More...
 
ucs_status_ptr_t ucp_ep_flush_nbx (ucp_ep_h ep, const ucp_request_param_t *param)
 Non-blocking flush of outstanding AMO and RMA operations on the endpoint. More...
 
ucs_status_t ucp_ep_evaluate_perf (ucp_ep_h ep, const ucp_ep_evaluate_perf_param_t *param, ucp_ep_evaluate_perf_attr_t *attr)
 Estimate performance characteristics of a specific endpoint. More...
 
ucs_status_t ucp_ep_query (ucp_ep_h ep, ucp_ep_attr_t *attr)
 Get attributes of a given endpoint. More...
 
void ucp_request_release (void *request)
 
void ucp_ep_destroy (ucp_ep_h ep)
 
ucs_status_ptr_t ucp_disconnect_nb (ucp_ep_h ep)
 
ucs_status_t ucp_request_test (void *request, ucp_tag_recv_info_t *info)
 
ucs_status_t ucp_ep_flush (ucp_ep_h ep)
 
ucs_status_ptr_t ucp_ep_modify_nb (ucp_ep_h ep, const ucp_ep_params_t *params)
 Modify endpoint parameters. More...
 
+

Detailed Description

+

UCP Endpoint routines

+

Data Structure Documentation

+ +

◆ ucp_ep_evaluate_perf_param_t

+ +
+
+ + + + +
struct ucp_ep_evaluate_perf_param_t
+
+

The structure defines the attributes which characterize the request for performance estimation of a particular endpoint.

+
+ + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_ep_perf_param_field_t. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+size_t +message_size +

Message size to use for determining performance. This field must be initialized by the caller.

+
+ +
+
+ +

◆ ucp_ep_evaluate_perf_attr_t

+ +
+
+ + + + +
struct ucp_ep_evaluate_perf_attr_t
+
+

The structure defines the attributes which characterize the result of performance estimation of a particular endpoint.

+
+ + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_ep_perf_attr_field_t. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+double +estimated_time +

Estimated time (in seconds) required to send a message of a given size on this endpoint. This field is set by the ucp_ep_evaluate_perf function.

+
+ +
+
+ +

◆ ucp_stream_poll_ep

+ +
+
+ + + + +
struct ucp_stream_poll_ep
+
+

The structure defines the endpoint and its user data.

+
+ + + + + + + + + + + + + +
Data Fields
+ucp_ep_h +ep +

Endpoint handle.

+
+void * +user_data +

User data associated with an endpoint passed in ucp_ep_params_t::user_data.

+
+unsigned +flags +

Reserved for future use.

+
+uint8_t +reserved[16] +

Reserved for future use.

+
+ +
+
+ +

◆ ucp_ep_attr

+ +
+
+ + + + +
struct ucp_ep_attr
+
+

The structure defines the attributes that characterize the particular endpoint.

+
+ + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_ep_attr_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+char +name[UCP_ENTITY_NAME_MAX] +

Endpoint name. Tracing and analysis tools can identify the endpoint using this name.

+
+struct sockaddr_storage +local_sockaddr +

Local socket address for this endpoint. Valid only for endpoints created by connecting to a socket address. If this field is specified for an endpoint not connected to a socket address, UCS_ERR_NOT_CONNECTED will be returned.

+
+struct sockaddr_storage +remote_sockaddr +

Remote socket address this endpoint is connected to. Valid only for endpoints created by connecting to a socket address. If this field is specified for an endpoint not connected to a socket address, UCS_ERR_NOT_CONNECTED will be returned.

+
+ +
+
+ +

◆ ucp_ep_params

+ +
+
+ + + + +
struct ucp_ep_params
+
+

The structure defines the parameters that are used for the UCP endpoint tuning during the UCP ep creation.

+
Examples
ucp_client_server.c, and ucp_hello_world.c.
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_ep_params_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+const ucp_address_t * +address +

Destination address; this field should be set along with its corresponding bit in the field_mask - UCP_EP_PARAM_FIELD_REMOTE_ADDRESS and must be obtained using ucp_worker_get_address.

+
+ucp_err_handling_mode_t +err_mode +

Desired error handling mode, optional parameter. Default value is UCP_ERR_HANDLING_MODE_NONE.

+
+ucp_err_handler_t +err_handler +

Handler to process transport level failure.

+
+void * +user_data +

User data associated with an endpoint. See ucp_stream_poll_ep_t and ucp_err_handler_t

+
+unsigned +flags +

Endpoint flags from ucp_ep_params_flags_field. This value is optional. If it's not set (along with its corresponding bit in the field_mask - UCP_EP_PARAM_FIELD_FLAGS), the ucp_ep_create() routine will consider the flags as set to zero.

+
+ucs_sock_addr_t +sockaddr +

Destination address in the form of a sockaddr; this field should be set along with its corresponding bit in the field_mask - UCP_EP_PARAM_FIELD_SOCK_ADDR and must be obtained from the user, it means that this type of the endpoint creation is possible only on client side in client-server connection establishment flow.

+
+ucp_conn_request_h +conn_request +

Connection request from client; this field should be set along with its corresponding bit in the field_mask - UCP_EP_PARAM_FIELD_CONN_REQUEST and must be obtained from ucp_listener_conn_callback_t, it means that this type of the endpoint creation is possible only on server side in client-server connection establishment flow.

+
+const char * +name +

Endpoint name. Tracing and analysis tools can identify the endpoint using this name. To retrieve the endpoint's name, use ucp_ep_query, as the name you supply may be changed by UCX under some circumstances, e.g. a name conflict. This field is only assigned if you set UCP_EP_PARAM_FIELD_NAME in the field mask. If not, then a default unique name will be created for you.

+
+ucs_sock_addr_t +local_sockaddr +

The sockaddr to bind locally. Specifies the associated network device to bind locally to establish new connections. To retrieve the endpoint's local_sockaddr, use ucp_ep_query. This setting is optional. To enable it, the corresponding - UCP_EP_PARAM_FIELD_LOCAL_SOCK_ADDR bit in the field mask must be set.

+
+ +
+
+

Typedef Documentation

+ +

◆ ucp_ep_perf_param_field_t

+ +
+
+

The enumeration allows specifying which fields in ucp_ep_evaluate_perf_param_t are present and operation flags are used. It is used to enable backward compatibility support.

+ +
+
+ +

◆ ucp_ep_perf_attr_field_t

+ +
+
+

The enumeration allows specifying which fields in ucp_ep_evaluate_perf_attr_t are present and operation flags are used. It is used to enable backward compatibility support.

+ +
+
+ +

◆ ucp_stream_poll_ep_t

+ +
+
+ + + + +
typedef struct ucp_stream_poll_ep ucp_stream_poll_ep_t
+
+

The structure defines the endpoint and its user data.

+ +
+
+ +

◆ ucp_ep_attr_t

+ +
+
+ + + + +
typedef struct ucp_ep_attr ucp_ep_attr_t
+
+

The structure defines the attributes that characterize the particular endpoint.

+ +
+
+ +

◆ ucp_ep_h

+ +
+
+ + + + +
typedef struct ucp_ep* ucp_ep_h
+
+

The endpoint handle is an opaque object that is used to address a remote worker. It typically provides a description of source, destination, or both. All UCP communication routines address a destination with the endpoint handle. The endpoint handle is associated with only one UCP context. UCP provides the endpoint create routine to create the endpoint handle and the destroy routine to destroy the endpoint handle.

+ +
+
+ +

◆ ucp_conn_request_h

+ +
+
+ + + + +
typedef struct ucp_conn_request* ucp_conn_request_h
+
+

A server-side handle to incoming connection request. Can be used to create an endpoint which connects back to the client.

+ +
+
+ +

◆ ucp_am_callback_t

+ +
+
+ + + + +
typedef ucs_status_t(* ucp_am_callback_t) (void *arg, void *data, size_t length, ucp_ep_h reply_ep, unsigned flags)
+
+

When the callback is called, flags indicates how data should be handled.

+
Parameters
+ + + + + + +
[in]argUser-defined argument.
[in]dataPoints to the received data. This data may persist after the callback returns and needs to be freed with ucp_am_data_release.
[in]lengthLength of data.
[in]reply_epIf the Active Message is sent with the UCP_AM_SEND_FLAG_REPLY flag, the sending ep will be passed in. If not, NULL will be passed.
[in]flagsIf this flag is set to UCP_CB_PARAM_FLAG_DATA, the callback can return UCS_INPROGRESS and data will persist after the callback returns.
+
+
+
Returns
UCS_OK data will not persist after the callback returns.
+
+UCS_INPROGRESS Can only be returned if flags is set to UCP_CB_PARAM_FLAG_DATA. If UCP_INPROGRESS is returned, data will persist after the callback has returned. To free the memory, a pointer to the data must be passed into ucp_am_data_release.
+
Note
This callback should be set and released by ucp_worker_set_am_handler function.
+ +
+
+ +

◆ ucp_am_recv_callback_t

+ +
+
+ + + + +
typedef ucs_status_t(* ucp_am_recv_callback_t) (void *arg, const void *header, size_t header_length, void *data, size_t length, const ucp_am_recv_param_t *param)
+
+

The callback is always called from the progress context, therefore calling ucp_worker_progress() is not allowed. It is recommended to define callbacks with relatively short execution time to avoid blocking of communication progress.

+
Parameters
+ + + + + + + +
[in]argUser-defined argument.
[in]headerUser defined active message header. If header_length is 0, this value is undefined and must not be accessed.
[in]header_lengthActive message header length in bytes.
[in]dataPoints to the received data if UCP_AM_RECV_ATTR_FLAG_RNDV flag is not set in ucp_am_recv_param_t::recv_attr. Otherwise it points to the internal UCP descriptor which can further be used for initiating data receive by using ucp_am_recv_data_nbx routine.
[in]lengthLength of data. If UCP_AM_RECV_ATTR_FLAG_RNDV flag is set in ucp_am_recv_param_t::recv_attr, it indicates the required receive buffer size for initiating rendezvous protocol.
[in]paramData receive parameters.
+
+
+
Returns
UCS_OK data will not persist after the callback returns. If UCP_AM_RECV_ATTR_FLAG_RNDV flag is set in param->recv_attr and ucp_am_recv_data_nbx was not called for this data, the data descriptor will be dropped and the corresponding ucp_am_send_nbx call will complete with UCS_OK status.
+
+UCS_INPROGRESS Can only be returned if param->recv_attr flags contains UCP_AM_RECV_ATTR_FLAG_DATA or UCP_AM_RECV_ATTR_FLAG_RNDV. The data will persist after the callback has returned. To free the memory, a pointer to the data must be passed into ucp_am_data_release or data receive is initiated by ucp_am_recv_data_nbx.
+
+otherwise Can only be returned if param->recv_attr contains UCP_AM_RECV_ATTR_FLAG_RNDV. In this case data descriptor data will be dropped and the corresponding ucp_am_send_nbx call on the sender side will complete with the status returned from the callback.
+
Note
This callback should be set and released by ucp_worker_set_am_recv_handler function.
+ +
+
+ +

◆ ucp_ep_params_t

+ +
+
+ + + + +
typedef struct ucp_ep_params ucp_ep_params_t
+
+

The structure defines the parameters that are used for the UCP endpoint tuning during the UCP ep creation.

+ +
+
+

Enumeration Type Documentation

+ +

◆ ucp_ep_params_field

+ +
+
+ + + + +
enum ucp_ep_params_field
+
+

The enumeration allows specifying which fields in ucp_ep_params_t are present. It is used to enable backward compatibility support.

+ + + + + + + + + + +
Enumerator
UCP_EP_PARAM_FIELD_REMOTE_ADDRESS 

Address of remote peer

+
UCP_EP_PARAM_FIELD_ERR_HANDLING_MODE 

Error handling mode. ucp_err_handling_mode_t

+
UCP_EP_PARAM_FIELD_ERR_HANDLER 

Handler to process transport level errors

+
UCP_EP_PARAM_FIELD_USER_DATA 

User data pointer

+
UCP_EP_PARAM_FIELD_SOCK_ADDR 

Socket address field

+
UCP_EP_PARAM_FIELD_FLAGS 

Endpoint flags Connection request field

+
UCP_EP_PARAM_FIELD_CONN_REQUEST 
UCP_EP_PARAM_FIELD_NAME 

Endpoint name

+
UCP_EP_PARAM_FIELD_LOCAL_SOCK_ADDR 

Local socket Address

+
+ +
+
+ +

◆ ucp_ep_params_flags_field

+ +
+
+ + + + +
enum ucp_ep_params_flags_field
+
+

The enumeration list describes the endpoint's parameters flags supported by ucp_ep_create() function.

+ + + + +
Enumerator
UCP_EP_PARAMS_FLAGS_CLIENT_SERVER 

Using a client-server connection establishment mechanism. ucs_sock_addr_t sockaddr field must be provided and contain the address of the remote peer

+
UCP_EP_PARAMS_FLAGS_NO_LOOPBACK 

Avoid connecting the endpoint to itself when connecting the endpoint to the same worker it was created on. Affects protocols which send to a particular remote endpoint, for example stream

+
UCP_EP_PARAMS_FLAGS_SEND_CLIENT_ID 

Send client id when connecting to remote socket address as part of the connection request payload. On the remote side value can be obtained from ucp_conn_request_h using ucp_conn_request_query

+
+ +
+
+ +

◆ ucp_ep_close_flags_t

+ +
+
+ + + + +
enum ucp_ep_close_flags_t
+
+

The enumeration is used to specify the behavior of ucp_ep_close_nbx.

+ + +
Enumerator
UCP_EP_CLOSE_FLAG_FORCE 

ucp_ep_close_nbx releases the endpoint without any confirmation from the peer. All outstanding requests will be completed with UCS_ERR_CANCELED error.

Note
This mode may cause transport level errors on remote side, so it requires set UCP_ERR_HANDLING_MODE_PEER for all endpoints created on both (local and remote) sides to avoid undefined behavior. If this flag is not set then ucp_ep_close_nbx schedules flushes on all outstanding operations.
+
+this flag is incompatible with UCP_OP_ATTR_FLAG_NO_IMM_CMPL, since it forces immediate completion.
+
+ +
+
+ +

◆ ucp_ep_close_mode

+ +
+
+ + + + +
enum ucp_ep_close_mode
+
+

The enumeration is used to specify the behavior of ucp_ep_close_nb.

+ + + +
Enumerator
UCP_EP_CLOSE_MODE_FORCE 

ucp_ep_close_nb releases the endpoint without any confirmation from the peer. All outstanding requests will be completed with UCS_ERR_CANCELED error.

Note
This mode may cause transport level errors on remote side, so it requires set UCP_ERR_HANDLING_MODE_PEER for all endpoints created on both (local and remote) sides to avoid undefined behavior.
+
UCP_EP_CLOSE_MODE_FLUSH 

ucp_ep_close_nb schedules flushes on all outstanding operations.

+
+ +
+
+ +

◆ ucp_ep_perf_param_field

+ +
+
+ + + + +
enum ucp_ep_perf_param_field
+
+

The enumeration allows specifying which fields in ucp_ep_evaluate_perf_param_t are present and operation flags are used. It is used to enable backward compatibility support.

+ + +
Enumerator
UCP_EP_PERF_PARAM_FIELD_MESSAGE_SIZE 

Enables ucp_ep_evaluate_perf_param_t::message_size

+
+ +
+
+ +

◆ ucp_ep_perf_attr_field

+ +
+
+ + + + +
enum ucp_ep_perf_attr_field
+
+

The enumeration allows specifying which fields in ucp_ep_evaluate_perf_attr_t are present and operation flags are used. It is used to enable backward compatibility support.

+ + +
Enumerator
UCP_EP_PERF_ATTR_FIELD_ESTIMATED_TIME 

Enables ucp_ep_evaluate_perf_attr_t::estimated_time

+
+ +
+
+ +

◆ ucp_cb_param_flags

+ +
+
+ + + + +
enum ucp_cb_param_flags
+
+

In a callback, if flags is set to UCP_CB_PARAM_FLAG_DATA in a callback then data was allocated, so if UCS_INPROGRESS is returned from the callback, the data parameter will persist and the user has to call ucp_am_data_release when data is no longer needed.

+ + +
Enumerator
UCP_CB_PARAM_FLAG_DATA 
+ +
+
+ +

◆ ucp_ep_attr_field

+ +
+
+ + + + +
enum ucp_ep_attr_field
+
+

The enumeration allows specifying which fields in ucp_ep_attr_t are present. It is used to enable backward compatibility support.

+ + + + +
Enumerator
UCP_EP_ATTR_FIELD_NAME 

UCP endpoint name

+
UCP_EP_ATTR_FIELD_LOCAL_SOCKADDR 

Sockaddr used by the endpoint

+
UCP_EP_ATTR_FIELD_REMOTE_SOCKADDR 

Sockaddr the endpoint is connected to

+
+ +
+
+ +

◆ ucp_err_handling_mode_t

+ +
+
+ + + + +
enum ucp_err_handling_mode_t
+
+

Specifies error handling mode for the UCP endpoint.

+ + + +
Enumerator
UCP_ERR_HANDLING_MODE_NONE 

No guarantees about error reporting, imposes minimal overhead from a performance perspective.

Note
In this mode, any error reporting will not generate calls to ucp_ep_params_t::err_handler.
+
UCP_ERR_HANDLING_MODE_PEER 

Guarantees that send requests are always completed (successfully or error) even in case of remote failure, disables protocols and APIs which may cause a hang or undefined behavior in case of peer failure, may affect performance and memory footprint

+
+ +
+
+

Function Documentation

+ +

◆ ucp_ep_create()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_ep_create (ucp_worker_h worker,
const ucp_ep_params_tparams,
ucp_ep_hep_p 
)
+
+

This routine creates and connects an endpoint on a local worker for a destination address that identifies the remote worker. This function is non-blocking, and communications may begin immediately after it returns. If the connection process is not completed, communications may be delayed. The created endpoint is associated with one and only one worker.

+
Parameters
+ + + + +
[in]workerHandle to the worker; the endpoint is associated with the worker.
[in]paramsUser defined ucp_ep_params_t configurations for the UCP endpoint.
[out]ep_pA handle to the created endpoint.
+
+
+
Returns
Error code as defined by ucs_status_t
+
Note
One of the following fields has to be specified: +
+
+By default, ucp_ep_create() will connect an endpoint to itself if the endpoint is destined to the same worker on which it was created, i.e. params.address belongs to worker. This behavior can be changed by passing the UCP_EP_PARAMS_FLAGS_NO_LOOPBACK flag in params.flags. In that case, the endpoint will be connected to the next endpoint created in the same way on the same worker.
+
Examples
ucp_client_server.c, and ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_ep_close_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_ep_close_nb (ucp_ep_h ep,
unsigned mode 
)
+
+

This routine releases the endpoint. The endpoint closure process depends on the selected mode.

+
Parameters
+ + + +
[in]epHandle to the endpoint to close.
[in]modeOne from ucp_ep_close_mode value.
+
+
+
Returns
UCS_OK - The endpoint is closed successfully.
+
+UCS_PTR_IS_ERR(_ptr) - The closure failed and an error code indicates the transport level status. However, resources are released and the endpoint can no longer be used.
+
+otherwise - The closure process is started, and can be completed at any point in time. A request handle is returned to the application in order to track progress of the endpoint closure. The application is responsible for releasing the handle using the ucp_request_free routine.
+
Note
ucp_ep_close_nb replaces deprecated ucp_disconnect_nb and ucp_ep_destroy
+ +
+
+ +

◆ ucp_ep_close_nbx()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_ep_close_nbx (ucp_ep_h ep,
const ucp_request_param_tparam 
)
+
+
Parameters
+ + + +
[in]epHandle to the endpoint to close.
[in]paramOperation parameters, see ucp_request_param_t. This operation supports specific flags, which can be passed in param by ucp_request_param_t::flags. The exact set of flags is defined by ucp_ep_close_flags_t.
+
+
+
Returns
NULL - The endpoint is closed successfully.
+
+UCS_PTR_IS_ERR(_ptr) - The closure failed and an error code indicates the transport level status. However, resources are released and the endpoint can no longer be used.
+
+otherwise - The closure process is started, and can be completed at any point in time. A request handle is returned to the application in order to track progress of the endpoint closure.
+ +
+
+ +

◆ ucp_ep_print_info()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ucp_ep_print_info (ucp_ep_h ep,
FILE * stream 
)
+
+

This routine prints information about the endpoint transport methods, their thresholds, and other useful information associated with the endpoint.

+
Parameters
+ + + +
[in]epEndpoint object whose configuration to print.
[in]streamOutput stream to print the information to.
+
+
+ +
+
+ +

◆ ucp_ep_flush_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_ep_flush_nb (ucp_ep_h ep,
unsigned flags,
ucp_send_callback_t cb 
)
+
+

This routine flushes all outstanding AMO and RMA communications on the endpoint. All the AMO and RMA operations issued on the ep prior to this call are completed both at the origin and at the target endpoint when this call returns.

+
Parameters
+ + + + +
[in]epUCP endpoint.
[in]flagsFlags for flush operation. Reserved for future use.
[in]cbCallback which will be called when the flush operation completes.
+
+
+
Returns
NULL - The flush operation was completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The flush operation failed.
+
+otherwise - Flush operation was scheduled and can be completed in any point in time. The request handle is returned to the application in order to track progress. The application is responsible for releasing the handle using ucp_request_free() routine.
+

The following example demonstrates how blocking flush can be implemented using non-blocking flush:

void empty_function(void *request, ucs_status_t status)
+
{
+
}
+
+
ucs_status_t blocking_ep_flush(ucp_ep_h ep, ucp_worker_h worker)
+
{
+
void *request;
+
+
request = ucp_ep_flush_nb(ep, 0, empty_function);
+
if (request == NULL) {
+
return UCS_OK;
+
} else if (UCS_PTR_IS_ERR(request)) {
+
return UCS_PTR_STATUS(request);
+
} else {
+
ucs_status_t status;
+
do {
+ +
status = ucp_request_check_status(request);
+
} while (status == UCS_INPROGRESS);
+
ucp_request_free(request);
+
return status;
+
}
+
}
+
+
+
+ +

◆ ucp_ep_flush_nbx()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_ep_flush_nbx (ucp_ep_h ep,
const ucp_request_param_tparam 
)
+
+

This routine flushes all outstanding AMO and RMA communications on the endpoint. All the AMO and RMA operations issued on the ep prior to this call are completed both at the origin and at the target endpoint when this call returns.

+
Parameters
+ + + +
[in]epUCP endpoint.
[in]paramOperation parameters, see ucp_request_param_t.
+
+
+
Returns
NULL - The flush operation was completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The flush operation failed.
+
+otherwise - Flush operation was scheduled and can be completed in any point in time. The request handle is returned to the application in order to track progress.
+
Examples
ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_ep_evaluate_perf()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_ep_evaluate_perf (ucp_ep_h ep,
const ucp_ep_evaluate_perf_param_tparam,
ucp_ep_evaluate_perf_attr_tattr 
)
+
+

This routine fetches information about the endpoint.

+
Parameters
+ + + + +
[in]epEndpoint to query.
[in]paramFilled by the user with request params.
[out]attrFilled with performance estimation of the given operation on the endpoint.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_ep_query()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_ep_query (ucp_ep_h ep,
ucp_ep_attr_tattr 
)
+
+

This routine fetches information about the endpoint.

+
Parameters
+ + + +
[in]epEndpoint object to query.
[out]attrFilled with attributes of the endpoint.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_request_release()

+ +
+
+ + + + + + + + +
void ucp_request_release (void * request)
+
+
Deprecated:
Replaced by ucp_request_free.
+ +
+
+ +

◆ ucp_ep_destroy()

+ +
+
+ + + + + + + + +
void ucp_ep_destroy (ucp_ep_h ep)
+
+
Deprecated:
Replaced by ucp_ep_close_nb.
+ +
+
+ +

◆ ucp_disconnect_nb()

+ +
+
+ + + + + + + + +
ucs_status_ptr_t ucp_disconnect_nb (ucp_ep_h ep)
+
+
Deprecated:
Replaced by ucp_ep_close_nb.
+ +
+
+ +

◆ ucp_request_test()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_request_test (void * request,
ucp_tag_recv_info_tinfo 
)
+
+
Deprecated:
Replaced by ucp_tag_recv_request_test and ucp_request_check_status depends on use case.
+
Note
Please use ucp_request_check_status for cases that only need to check the completion status of an outstanding request. ucp_request_check_status can be used for any type of request. ucp_tag_recv_request_test should only be used for requests returned by ucp_tag_recv_nb (or request allocated by user for ucp_tag_recv_nbr) for which additional information (returned via the info pointer) is needed.
+ +
+
+ +

◆ ucp_ep_flush()

+ +
+
+ + + + + + + + +
ucs_status_t ucp_ep_flush (ucp_ep_h ep)
+
+
Deprecated:
Replaced by ucp_ep_flush_nb.
+ +
+
+ +

◆ ucp_ep_modify_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_ep_modify_nb (ucp_ep_h ep,
const ucp_ep_params_tparams 
)
+
+
Deprecated:
Use ucp_listener_conn_handler_t instead of ucp_listener_accept_handler_t, if you have other use case please submit an issue on https://github.com/openucx/ucx or report to ucx-g.nosp@m.roup.nosp@m.@elis.nosp@m.t.or.nosp@m.nl.go.nosp@m.v
+

This routine modifies endpoint created by ucp_ep_create or ucp_listener_accept_callback_t. For example, this API can be used to setup custom parameters like ucp_ep_params_t::user_data or ucp_ep_params_t::err_handler to endpoint created by ucp_listener_accept_callback_t.

+
Parameters
+ + + +
[in]epA handle to the endpoint.
[in]paramsUser defined ucp_ep_params_t configurations for the UCP endpoint.
+
+
+
Returns
NULL - The endpoint is modified successfully.
+
+UCS_PTR_IS_ERR(_ptr) - The reconfiguration failed and an error code indicates the status. However, the endpoint is not modified and can be used further.
+
+otherwise - The reconfiguration process is started, and can be completed at any point in time. A request handle is returned to the application in order to track progress of the endpoint modification. The application is responsible for releasing the handle using the ucp_request_free routine.
+
Note
See the documentation of ucp_ep_params_t for details, only some of the parameters can be modified.
+ +
+
+
+
+
ucs_status_ptr_t ucp_ep_flush_nb(ucp_ep_h ep, unsigned flags, ucp_send_callback_t cb)
Non-blocking flush of outstanding AMO and RMA operations on the endpoint.
+
@ UCS_OK
Definition: status.h:47
+
struct ucp_worker * ucp_worker_h
UCP Worker.
Definition: ucp_def.h:246
+
unsigned ucp_worker_progress(ucp_worker_h worker)
Progress all communications on a specific worker.
+
@ UCS_INPROGRESS
Definition: status.h:50
+
ucs_status_t
Status codes.
Definition: status.h:45
+
struct ucp_ep * ucp_ep_h
UCP Endpoint.
Definition: ucp_def.h:92
+
ucs_status_t ucp_request_check_status(void *request)
Check the status of non-blocking request.
+
void ucp_request_free(void *request)
Release a communications request.
+ + + + diff --git a/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t.js b/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t.js new file mode 100644 index 00000000000..2876e1f00d6 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t.js @@ -0,0 +1,99 @@ +var group___u_c_p___e_n_d_p_o_i_n_t = +[ + [ "ucp_ep_evaluate_perf_param_t", "group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__evaluate__perf__param__t", [ + [ "field_mask", "group___u_c_p___e_n_d_p_o_i_n_t.html#afffe0975a57573bd318e72e59bd53957", null ], + [ "message_size", "group___u_c_p___e_n_d_p_o_i_n_t.html#ac6bc2d095c3c631324646cd9ac6a5a0f", null ] + ] ], + [ "ucp_ep_evaluate_perf_attr_t", "group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__evaluate__perf__attr__t", [ + [ "field_mask", "group___u_c_p___e_n_d_p_o_i_n_t.html#a3506b654e12be644d0ffe96368106142", null ], + [ "estimated_time", "group___u_c_p___e_n_d_p_o_i_n_t.html#ac8864d77a5f8d333c2de912ad621626a", null ] + ] ], + [ "ucp_stream_poll_ep", "group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__stream__poll__ep", [ + [ "ep", "group___u_c_p___e_n_d_p_o_i_n_t.html#aa9703a325b9dc242facae719f6cef8a7", null ], + [ "user_data", "group___u_c_p___e_n_d_p_o_i_n_t.html#a202ee8e08e637b9e868387ab294a684c", null ], + [ "flags", "group___u_c_p___e_n_d_p_o_i_n_t.html#a1e761ffd7b8edf7399ab497600200266", null ], + [ "reserved", "group___u_c_p___e_n_d_p_o_i_n_t.html#a00c2ee7b309e8c2a45d7e7c83911d707", null ] + ] ], + [ "ucp_ep_attr", "group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__attr", [ + [ "field_mask", "group___u_c_p___e_n_d_p_o_i_n_t.html#a385c4a4337266da2a874e5ff533fbab2", null ], + [ "name", "group___u_c_p___e_n_d_p_o_i_n_t.html#acdaee980b44ce00d608c3b9812049db6", null ], + [ "local_sockaddr", "group___u_c_p___e_n_d_p_o_i_n_t.html#ae54665498f1f7c019e716e7bf9d56531", null ], + [ "remote_sockaddr", "group___u_c_p___e_n_d_p_o_i_n_t.html#a8e0e9e1e5a9295f93073ae3fd3d9a612", null ] + ] ], + [ "ucp_ep_params", "group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__params", [ + [ "field_mask", "group___u_c_p___e_n_d_p_o_i_n_t.html#ab7b3f3ba1d402a621b8ea708dcf2387b", null ], + [ "address", "group___u_c_p___e_n_d_p_o_i_n_t.html#a8cf5c1599022ccdea5a6d1c97ced3627", null ], + [ "err_mode", "group___u_c_p___e_n_d_p_o_i_n_t.html#a50ce29893509695caa5b70ab4525a4d6", null ], + [ "err_handler", "group___u_c_p___e_n_d_p_o_i_n_t.html#aaf329de9e2b45311099cee8c9df43a20", null ], + [ "user_data", "group___u_c_p___e_n_d_p_o_i_n_t.html#adaf49e16ee05400f715f432e442336cb", null ], + [ "flags", "group___u_c_p___e_n_d_p_o_i_n_t.html#a9bb65021187347fe311535857e19e6c3", null ], + [ "sockaddr", "group___u_c_p___e_n_d_p_o_i_n_t.html#aa23fd9a6a092266371258bd285c96816", null ], + [ "conn_request", "group___u_c_p___e_n_d_p_o_i_n_t.html#a9fbba62cd4a470f2bc7c6f7e55fe3db1", null ], + [ "name", "group___u_c_p___e_n_d_p_o_i_n_t.html#a2434487b2597678b8b8c6a6b6fdd11ac", null ], + [ "local_sockaddr", "group___u_c_p___e_n_d_p_o_i_n_t.html#ac7e00eea58053f718b67d92236c7a4b9", null ] + ] ], + [ "ucp_ep_perf_param_field_t", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga9b89513109c87c9118e250dd47560fb5", null ], + [ "ucp_ep_perf_attr_field_t", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga0e9799a75ca8d6843aea1df455f934cb", null ], + [ "ucp_stream_poll_ep_t", "group___u_c_p___e_n_d_p_o_i_n_t.html#gac7c775b6f8e929ca725a0b16ad9b244e", null ], + [ "ucp_ep_attr_t", "group___u_c_p___e_n_d_p_o_i_n_t.html#gaf870daeabc3b91d521d9063eb1b1027d", null ], + [ "ucp_ep_h", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga9bea4e4174ea25f44285d8e7a9fb7adf", null ], + [ "ucp_conn_request_h", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga200570bfa7d3a8b50b2a074aaa22d2ed", null ], + [ "ucp_am_callback_t", "group___u_c_p___e_n_d_p_o_i_n_t.html#gad61809eb62935c7f2e301fcb47c01727", null ], + [ "ucp_am_recv_callback_t", "group___u_c_p___e_n_d_p_o_i_n_t.html#gab3adc96222b05543c6cba8c28c16703b", null ], + [ "ucp_ep_params_t", "group___u_c_p___e_n_d_p_o_i_n_t.html#gae071db9736cd54afebe6f619401c6617", null ], + [ "ucp_ep_params_field", "group___u_c_p___e_n_d_p_o_i_n_t.html#gabb6ce0b3189f415dadc7f99727751d60", [ + [ "UCP_EP_PARAM_FIELD_REMOTE_ADDRESS", "group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60ae1c4a9617dea28b56c486ac357299f4c", null ], + [ "UCP_EP_PARAM_FIELD_ERR_HANDLING_MODE", "group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60a1b0e70c12efabe6a2cab3c9bc66db340", null ], + [ "UCP_EP_PARAM_FIELD_ERR_HANDLER", "group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60adc6619f5e4bf3f68190f918ee064036d", null ], + [ "UCP_EP_PARAM_FIELD_USER_DATA", "group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60afc6cbbfabd368438e5d6afd36f389d1b", null ], + [ "UCP_EP_PARAM_FIELD_SOCK_ADDR", "group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60a8149dfb8648b2b248825020c63449a80", null ], + [ "UCP_EP_PARAM_FIELD_FLAGS", "group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60a1b53a3d4eaee470bcb3e23c60f1f7794", null ], + [ "UCP_EP_PARAM_FIELD_CONN_REQUEST", "group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60a88c2cf7c57a1cddc6b2cf9bcdc99e64e", null ], + [ "UCP_EP_PARAM_FIELD_NAME", "group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60aad52a9473f7b47dd7dddc43062e16436", null ], + [ "UCP_EP_PARAM_FIELD_LOCAL_SOCK_ADDR", "group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60ade6d1e89c4a39f44f8c088d3e79c59f5", null ] + ] ], + [ "ucp_ep_params_flags_field", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga4a1f422dc1e81495b4aee1da8939459f", [ + [ "UCP_EP_PARAMS_FLAGS_CLIENT_SERVER", "group___u_c_p___e_n_d_p_o_i_n_t.html#gga4a1f422dc1e81495b4aee1da8939459fad42871a591a0a34bccf5c8203a0b32bb", null ], + [ "UCP_EP_PARAMS_FLAGS_NO_LOOPBACK", "group___u_c_p___e_n_d_p_o_i_n_t.html#gga4a1f422dc1e81495b4aee1da8939459fa519d4e4a7237ae543f72ddeaef6864ec", null ], + [ "UCP_EP_PARAMS_FLAGS_SEND_CLIENT_ID", "group___u_c_p___e_n_d_p_o_i_n_t.html#gga4a1f422dc1e81495b4aee1da8939459faddc3dea615010520ff2fa9d214eabcd3", null ] + ] ], + [ "ucp_ep_close_flags_t", "group___u_c_p___e_n_d_p_o_i_n_t.html#gacef728a5ee7a11f50794544aa259fe71", [ + [ "UCP_EP_CLOSE_FLAG_FORCE", "group___u_c_p___e_n_d_p_o_i_n_t.html#ggacef728a5ee7a11f50794544aa259fe71a5b827bc555062bcba501faa3f40e789b", null ] + ] ], + [ "ucp_ep_close_mode", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga3be4aa93d76e41c80c780965f2f8ae57", [ + [ "UCP_EP_CLOSE_MODE_FORCE", "group___u_c_p___e_n_d_p_o_i_n_t.html#gga3be4aa93d76e41c80c780965f2f8ae57ad78eab8ac29d813247b3cca01c3194db", null ], + [ "UCP_EP_CLOSE_MODE_FLUSH", "group___u_c_p___e_n_d_p_o_i_n_t.html#gga3be4aa93d76e41c80c780965f2f8ae57ab0b1f6dcac5f54dff76c87fcf0c55c8b", null ] + ] ], + [ "ucp_ep_perf_param_field", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga4abce355cbaf6b31b1aaa88b68154f13", [ + [ "UCP_EP_PERF_PARAM_FIELD_MESSAGE_SIZE", "group___u_c_p___e_n_d_p_o_i_n_t.html#gga4abce355cbaf6b31b1aaa88b68154f13a3d545405c1d0a3fec8050d1f985f3360", null ] + ] ], + [ "ucp_ep_perf_attr_field", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga806d286165cdbe6d6c63d52b06b16406", [ + [ "UCP_EP_PERF_ATTR_FIELD_ESTIMATED_TIME", "group___u_c_p___e_n_d_p_o_i_n_t.html#gga806d286165cdbe6d6c63d52b06b16406a6bfbf6be343cb78ca8bb7ad9c602ad1a", null ] + ] ], + [ "ucp_cb_param_flags", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga4a9af9e36e3256933869d6699be25874", [ + [ "UCP_CB_PARAM_FLAG_DATA", "group___u_c_p___e_n_d_p_o_i_n_t.html#gga4a9af9e36e3256933869d6699be25874a55d40d13674830156e15f6b6289b0d12", null ] + ] ], + [ "ucp_ep_attr_field", "group___u_c_p___e_n_d_p_o_i_n_t.html#gaa24832a718990ceb558ab5a1d4abfc41", [ + [ "UCP_EP_ATTR_FIELD_NAME", "group___u_c_p___e_n_d_p_o_i_n_t.html#ggaa24832a718990ceb558ab5a1d4abfc41ac78de8cbed80cdb833a6ae5ddcd270fd", null ], + [ "UCP_EP_ATTR_FIELD_LOCAL_SOCKADDR", "group___u_c_p___e_n_d_p_o_i_n_t.html#ggaa24832a718990ceb558ab5a1d4abfc41a1f04baee4cd992c08b62716558eb6013", null ], + [ "UCP_EP_ATTR_FIELD_REMOTE_SOCKADDR", "group___u_c_p___e_n_d_p_o_i_n_t.html#ggaa24832a718990ceb558ab5a1d4abfc41a2b85f61bc437c3b277e360afaa058bf3", null ] + ] ], + [ "ucp_err_handling_mode_t", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga7c69a28724d5ae3e49490e23e64df167", [ + [ "UCP_ERR_HANDLING_MODE_NONE", "group___u_c_p___e_n_d_p_o_i_n_t.html#gga7c69a28724d5ae3e49490e23e64df167a18c7855c2e1dea33e0be32d9ef841ffe", null ], + [ "UCP_ERR_HANDLING_MODE_PEER", "group___u_c_p___e_n_d_p_o_i_n_t.html#gga7c69a28724d5ae3e49490e23e64df167aa31630259732e700b6ce0fe612cf0a6f", null ] + ] ], + [ "ucp_ep_create", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga6cc5ffb2ba1b0ccd510848de0a779f7b", null ], + [ "ucp_ep_close_nb", "group___u_c_p___e_n_d_p_o_i_n_t.html#gaa7293ad4dc72858b2594686d1c553015", null ], + [ "ucp_ep_close_nbx", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga6756b434213a424abb0d542fda1d82a1", null ], + [ "ucp_ep_print_info", "group___u_c_p___e_n_d_p_o_i_n_t.html#gacc9e967b69f48d6223e921831181f3ee", null ], + [ "ucp_ep_flush_nb", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga599c9b9272bfdd662afaa247d8e4dfd6", null ], + [ "ucp_ep_flush_nbx", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga28d61bf53320bd0f5d741147447251a4", null ], + [ "ucp_ep_evaluate_perf", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga654a8402e9a3d657f5226ac4e8866994", null ], + [ "ucp_ep_query", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga5074a508e2ae53e00d2bd7e728336f30", null ], + [ "ucp_request_release", "group___u_c_p___e_n_d_p_o_i_n_t.html#gaabf569a298946627fbc8d66814c35e68", null ], + [ "ucp_ep_destroy", "group___u_c_p___e_n_d_p_o_i_n_t.html#gac63b3fe87c001dd965ca42943ea04bb1", null ], + [ "ucp_disconnect_nb", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga22cf67f74ae06242cc26e6ca6ecd100b", null ], + [ "ucp_request_test", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga3802a983138ed27034b7d52026dccb2f", null ], + [ "ucp_ep_flush", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga046d87a26389c7adecd177111a65cd31", null ], + [ "ucp_ep_modify_nb", "group___u_c_p___e_n_d_p_o_i_n_t.html#ga034aff7bd27e3b932d4bb7b964db759e", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__attr.js b/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__attr.js new file mode 100644 index 00000000000..add038b4c96 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__attr.js @@ -0,0 +1,7 @@ +var group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__attr = +[ + [ "field_mask", "group___u_c_p___e_n_d_p_o_i_n_t.html#a385c4a4337266da2a874e5ff533fbab2", null ], + [ "name", "group___u_c_p___e_n_d_p_o_i_n_t.html#acdaee980b44ce00d608c3b9812049db6", null ], + [ "local_sockaddr", "group___u_c_p___e_n_d_p_o_i_n_t.html#ae54665498f1f7c019e716e7bf9d56531", null ], + [ "remote_sockaddr", "group___u_c_p___e_n_d_p_o_i_n_t.html#a8e0e9e1e5a9295f93073ae3fd3d9a612", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__evaluate__perf__attr__t.js b/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__evaluate__perf__attr__t.js new file mode 100644 index 00000000000..f2208781572 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__evaluate__perf__attr__t.js @@ -0,0 +1,5 @@ +var group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__evaluate__perf__attr__t = +[ + [ "field_mask", "group___u_c_p___e_n_d_p_o_i_n_t.html#a3506b654e12be644d0ffe96368106142", null ], + [ "estimated_time", "group___u_c_p___e_n_d_p_o_i_n_t.html#ac8864d77a5f8d333c2de912ad621626a", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__evaluate__perf__param__t.js b/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__evaluate__perf__param__t.js new file mode 100644 index 00000000000..07f440d168f --- /dev/null +++ b/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__evaluate__perf__param__t.js @@ -0,0 +1,5 @@ +var group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__evaluate__perf__param__t = +[ + [ "field_mask", "group___u_c_p___e_n_d_p_o_i_n_t.html#afffe0975a57573bd318e72e59bd53957", null ], + [ "message_size", "group___u_c_p___e_n_d_p_o_i_n_t.html#ac6bc2d095c3c631324646cd9ac6a5a0f", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__params.js b/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__params.js new file mode 100644 index 00000000000..13508417b04 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__params.js @@ -0,0 +1,13 @@ +var group___u_c_p___e_n_d_p_o_i_n_t_structucp__ep__params = +[ + [ "field_mask", "group___u_c_p___e_n_d_p_o_i_n_t.html#ab7b3f3ba1d402a621b8ea708dcf2387b", null ], + [ "address", "group___u_c_p___e_n_d_p_o_i_n_t.html#a8cf5c1599022ccdea5a6d1c97ced3627", null ], + [ "err_mode", "group___u_c_p___e_n_d_p_o_i_n_t.html#a50ce29893509695caa5b70ab4525a4d6", null ], + [ "err_handler", "group___u_c_p___e_n_d_p_o_i_n_t.html#aaf329de9e2b45311099cee8c9df43a20", null ], + [ "user_data", "group___u_c_p___e_n_d_p_o_i_n_t.html#adaf49e16ee05400f715f432e442336cb", null ], + [ "flags", "group___u_c_p___e_n_d_p_o_i_n_t.html#a9bb65021187347fe311535857e19e6c3", null ], + [ "sockaddr", "group___u_c_p___e_n_d_p_o_i_n_t.html#aa23fd9a6a092266371258bd285c96816", null ], + [ "conn_request", "group___u_c_p___e_n_d_p_o_i_n_t.html#a9fbba62cd4a470f2bc7c6f7e55fe3db1", null ], + [ "name", "group___u_c_p___e_n_d_p_o_i_n_t.html#a2434487b2597678b8b8c6a6b6fdd11ac", null ], + [ "local_sockaddr", "group___u_c_p___e_n_d_p_o_i_n_t.html#ac7e00eea58053f718b67d92236c7a4b9", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t_structucp__stream__poll__ep.js b/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t_structucp__stream__poll__ep.js new file mode 100644 index 00000000000..f4d66b8a61c --- /dev/null +++ b/api/v1.13/html/group___u_c_p___e_n_d_p_o_i_n_t_structucp__stream__poll__ep.js @@ -0,0 +1,7 @@ +var group___u_c_p___e_n_d_p_o_i_n_t_structucp__stream__poll__ep = +[ + [ "ep", "group___u_c_p___e_n_d_p_o_i_n_t.html#aa9703a325b9dc242facae719f6cef8a7", null ], + [ "user_data", "group___u_c_p___e_n_d_p_o_i_n_t.html#a202ee8e08e637b9e868387ab294a684c", null ], + [ "flags", "group___u_c_p___e_n_d_p_o_i_n_t.html#a1e761ffd7b8edf7399ab497600200266", null ], + [ "reserved", "group___u_c_p___e_n_d_p_o_i_n_t.html#a00c2ee7b309e8c2a45d7e7c83911d707", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___m_e_m.html b/api/v1.13/html/group___u_c_p___m_e_m.html new file mode 100644 index 00000000000..75afe0d56f5 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___m_e_m.html @@ -0,0 +1,1061 @@ + + + + + + + +UCX: UCP Memory routines + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + + + + + + +

+Data Structures

struct  ucp_mem_map_params
 Tuning parameters for the UCP memory mapping. More...
 
struct  ucp_mem_advise_params
 Tuning parameters for the UCP memory advice. More...
 
struct  ucp_mem_attr
 Attributes of the UCP Memory handle, filled by ucp_mem_query function. More...
 
+ + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef struct ucp_mem_map_params ucp_mem_map_params_t
 Tuning parameters for the UCP memory mapping. More...
 
typedef enum ucp_mem_advice ucp_mem_advice_t
 list of UCP memory use advice. More...
 
typedef struct ucp_mem_advise_params ucp_mem_advise_params_t
 Tuning parameters for the UCP memory advice. More...
 
typedef struct ucp_rkey * ucp_rkey_h
 UCP Remote memory handle. More...
 
typedef struct ucp_mem * ucp_mem_h
 UCP Memory handle. More...
 
typedef struct ucp_mem_attr ucp_mem_attr_t
 Attributes of the UCP Memory handle, filled by ucp_mem_query function. More...
 
+ + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  ucp_mem_map_params_field {
+  UCP_MEM_MAP_PARAM_FIELD_ADDRESS = UCS_BIT(0), +UCP_MEM_MAP_PARAM_FIELD_LENGTH = UCS_BIT(1), +UCP_MEM_MAP_PARAM_FIELD_FLAGS = UCS_BIT(2), +UCP_MEM_MAP_PARAM_FIELD_PROT = UCS_BIT(3), +
+  UCP_MEM_MAP_PARAM_FIELD_MEMORY_TYPE = UCS_BIT(4) +
+ }
 UCP memory mapping parameters field mask. More...
 
enum  ucp_mem_advise_params_field { UCP_MEM_ADVISE_PARAM_FIELD_ADDRESS = UCS_BIT(0), +UCP_MEM_ADVISE_PARAM_FIELD_LENGTH = UCS_BIT(1), +UCP_MEM_ADVISE_PARAM_FIELD_ADVICE = UCS_BIT(2) + }
 UCP memory advice parameters field mask. More...
 
enum  { UCP_MEM_MAP_NONBLOCK = UCS_BIT(0), +UCP_MEM_MAP_ALLOCATE = UCS_BIT(1), +UCP_MEM_MAP_FIXED = UCS_BIT(2) + }
 UCP memory mapping flags. More...
 
enum  { UCP_MEM_MAP_PROT_LOCAL_READ = UCS_BIT(0), +UCP_MEM_MAP_PROT_LOCAL_WRITE = UCS_BIT(1), +UCP_MEM_MAP_PROT_REMOTE_READ = UCS_BIT(8), +UCP_MEM_MAP_PROT_REMOTE_WRITE = UCS_BIT(9) + }
 UCP memory mapping protection mode. More...
 
enum  ucp_mem_advice { UCP_MADV_NORMAL = 0, +UCP_MADV_WILLNEED + }
 list of UCP memory use advice. More...
 
enum  ucp_mem_attr_field { UCP_MEM_ATTR_FIELD_ADDRESS = UCS_BIT(0), +UCP_MEM_ATTR_FIELD_LENGTH = UCS_BIT(1), +UCP_MEM_ATTR_FIELD_MEM_TYPE = UCS_BIT(2) + }
 UCP Memory handle attributes field mask. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ucs_status_t ucp_mem_map (ucp_context_h context, const ucp_mem_map_params_t *params, ucp_mem_h *memh_p)
 Map or allocate memory for zero-copy operations. More...
 
ucs_status_t ucp_mem_unmap (ucp_context_h context, ucp_mem_h memh)
 Unmap memory segment. More...
 
ucs_status_t ucp_mem_query (const ucp_mem_h memh, ucp_mem_attr_t *attr)
 query mapped memory segment More...
 
void ucp_mem_print_info (const char *mem_size, ucp_context_h context, FILE *stream)
 Print memory mapping information. More...
 
ucs_status_t ucp_mem_advise (ucp_context_h context, ucp_mem_h memh, ucp_mem_advise_params_t *params)
 give advice about the use of memory More...
 
ucs_status_t ucp_rkey_pack (ucp_context_h context, ucp_mem_h memh, void **rkey_buffer_p, size_t *size_p)
 Pack memory region remote access key. More...
 
void ucp_rkey_buffer_release (void *rkey_buffer)
 Release packed remote key buffer. More...
 
ucs_status_t ucp_ep_rkey_unpack (ucp_ep_h ep, const void *rkey_buffer, ucp_rkey_h *rkey_p)
 Create remote access key from packed buffer. More...
 
ucs_status_t ucp_rkey_ptr (ucp_rkey_h rkey, uint64_t raddr, void **addr_p)
 Get a local pointer to remote memory. More...
 
void ucp_rkey_destroy (ucp_rkey_h rkey)
 Destroy the remote key. More...
 
+

Detailed Description

+

UCP Memory routines

+

Data Structure Documentation

+ +

◆ ucp_mem_map_params

+ +
+
+ + + + +
struct ucp_mem_map_params
+
+

The structure defines the parameters that are used for the UCP memory mapping tuning during the ucp_mem_map routine.

+
+ + + + + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_mem_map_params_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+void * +address +

If the address is not NULL, the routine maps (registers) the memory segment pointed to by this address. If the pointer is NULL, the library allocates mapped (registered) memory segment and returns its address in this argument. Therefore, this value is optional. If it's not set (along with its corresponding bit in the field_mask - UCP_MEM_MAP_PARAM_FIELD_ADDRESS), the ucp_mem_map routine will consider address as set to NULL and will allocate memory.

+
+size_t +length +

Length (in bytes) to allocate or map (register). This field is mandatory for filling (along with its corresponding bit in the field_mask - UCP_MEM_MAP_PARAM_FIELD_LENGTH). The ucp_mem_map routine will return with an error if the length isn't specified.

+
+unsigned +flags +

Allocation flags, e.g. UCP_MEM_MAP_NONBLOCK. This value is optional. If it's not set (along with its corresponding bit in the field_mask - UCP_MEM_MAP_PARAM_FIELD_FLAGS), the ucp_mem_map routine will consider the flags as set to zero.

+
+unsigned +prot +

Memory protection mode, e.g. UCP_MEM_MAP_PROT_LOCAL_READ. This value is optional. If it's not set, the ucp_mem_map routine will consider the flags as set to UCP_MEM_MAP_PROT_LOCAL_READ|UCP_MEM_MAP_PROT_LOCAL_WRITE| UCP_MEM_MAP_PROT_REMOTE_READ|UCP_MEM_MAP_PROT_REMOTE_WRITE.

+
+ucs_memory_type_t +memory_type +
+ +
+
+ +

◆ ucp_mem_advise_params

+ +
+
+ + + + +
struct ucp_mem_advise_params
+
+

This structure defines the parameters that are used for the UCP memory advice tuning during the ucp_mem_advise routine.

+
+ + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_mem_advise_params_field. All fields are mandatory. Provides ABI compatibility with respect to adding new fields.

+
+void * +address +

Memory base address.

+
+size_t +length +

Length (in bytes) to allocate or map (register).

+
+ucp_mem_advice_t +advice +

Memory use advice ucp_mem_advice

+
+ +
+
+ +

◆ ucp_mem_attr

+ +
+
+ + + + +
struct ucp_mem_attr
+
+
+ + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_mem_attr_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+void * +address +

Address of the memory segment.

+
+size_t +length +

Size of the memory segment.

+
+ucs_memory_type_t +mem_type +

Type of allocated or registered memory

+
+ +
+
+

Typedef Documentation

+ +

◆ ucp_mem_map_params_t

+ +
+
+ + + + +
typedef struct ucp_mem_map_params ucp_mem_map_params_t
+
+

The structure defines the parameters that are used for the UCP memory mapping tuning during the ucp_mem_map routine.

+ +
+
+ +

◆ ucp_mem_advice_t

+ +
+
+ + + + +
typedef enum ucp_mem_advice ucp_mem_advice_t
+
+

The enumeration list describes memory advice supported by ucp_mem_advise() function.

+ +
+
+ +

◆ ucp_mem_advise_params_t

+ +
+
+

This structure defines the parameters that are used for the UCP memory advice tuning during the ucp_mem_advise routine.

+ +
+
+ +

◆ ucp_rkey_h

+ +
+
+ + + + +
typedef struct ucp_rkey* ucp_rkey_h
+
+

Remote memory handle is an opaque object representing remote memory access information. Typically, the handle includes a memory access key and other network hardware specific information, which are input to remote memory access operations, such as PUT, GET, and ATOMIC. The object is communicated to remote peers to enable an access to the memory region.

+ +
+
+ +

◆ ucp_mem_h

+ +
+
+ + + + +
typedef struct ucp_mem* ucp_mem_h
+
+

Memory handle is an opaque object representing a memory region allocated through UCP library, which is optimized for remote memory access operations (zero-copy operations). The memory handle is a self-contained object, which includes the information required to access the memory region locally, while remote key is used to access it remotely. The memory could be registered to one or multiple network resources that are supported by UCP, such as InfiniBand, Gemini, and others.

+ +
+
+ +

◆ ucp_mem_attr_t

+ +
+
+ + + + +
typedef struct ucp_mem_attr ucp_mem_attr_t
+
+ +
+
+

Enumeration Type Documentation

+ +

◆ ucp_mem_map_params_field

+ +
+
+ + + + +
enum ucp_mem_map_params_field
+
+

The enumeration allows specifying which fields in ucp_mem_map_params_t are present. It is used to enable backward compatibility support.

+ + + + + + +
Enumerator
UCP_MEM_MAP_PARAM_FIELD_ADDRESS 

Address of the memory that will be used in the ucp_mem_map routine.

+
UCP_MEM_MAP_PARAM_FIELD_LENGTH 

The size of memory that will be allocated or registered in the ucp_mem_map routine.

+
UCP_MEM_MAP_PARAM_FIELD_FLAGS 

Allocation flags.

+
UCP_MEM_MAP_PARAM_FIELD_PROT 

Memory protection mode.

+
UCP_MEM_MAP_PARAM_FIELD_MEMORY_TYPE 

Memory type.

+
+ +
+
+ +

◆ ucp_mem_advise_params_field

+ +
+
+ + + + +
enum ucp_mem_advise_params_field
+
+

The enumeration allows specifying which fields in ucp_mem_advise_params_t are present. It is used to enable backward compatibility support.

+ + + + +
Enumerator
UCP_MEM_ADVISE_PARAM_FIELD_ADDRESS 

Address of the memory

+
UCP_MEM_ADVISE_PARAM_FIELD_LENGTH 

The size of memory

+
UCP_MEM_ADVISE_PARAM_FIELD_ADVICE 

Advice on memory usage

+
+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+

The enumeration list describes the memory mapping flags supported by ucp_mem_map() function.

+ + + + +
Enumerator
UCP_MEM_MAP_NONBLOCK 

Complete the mapping faster, possibly by not populating the pages in the mapping up-front, and mapping them later when they are accessed by communication routines.

+
UCP_MEM_MAP_ALLOCATE 

Identify requirement for allocation, if passed address is not a null-pointer then it will be used as a hint or direct address for allocation.

+
UCP_MEM_MAP_FIXED 

Don't interpret address as a hint: place the mapping at exactly that address. The address must be a multiple of the page size.

+
+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+

The enumeration list describes the memory mapping protections supported by the ucp_mem_map() function.

+ + + + + +
Enumerator
UCP_MEM_MAP_PROT_LOCAL_READ 

Enable local read access.

+
UCP_MEM_MAP_PROT_LOCAL_WRITE 

Enable local write access.

+
UCP_MEM_MAP_PROT_REMOTE_READ 

Enable remote read access.

+
UCP_MEM_MAP_PROT_REMOTE_WRITE 

Enable remote write access.

+
+ +
+
+ +

◆ ucp_mem_advice

+ +
+
+ + + + +
enum ucp_mem_advice
+
+

The enumeration list describes memory advice supported by ucp_mem_advise() function.

+ + + +
Enumerator
UCP_MADV_NORMAL 

No special treatment

+
UCP_MADV_WILLNEED 

can be used on the memory mapped with UCP_MEM_MAP_NONBLOCK to speed up memory mapping and to avoid page faults when the memory is accessed for the first time.

+
+ +
+
+ +

◆ ucp_mem_attr_field

+ +
+
+ + + + +
enum ucp_mem_attr_field
+
+

The enumeration allows specifying which fields in ucp_mem_attr_t are present. It is used to enable backward compatibility support.

+ + + + +
Enumerator
UCP_MEM_ATTR_FIELD_ADDRESS 

Virtual address

+
UCP_MEM_ATTR_FIELD_LENGTH 

The size of memory region

+
UCP_MEM_ATTR_FIELD_MEM_TYPE 

Type of allocated or registered memory

+
+ +
+
+

Function Documentation

+ +

◆ ucp_mem_map()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_mem_map (ucp_context_h context,
const ucp_mem_map_params_tparams,
ucp_mem_hmemh_p 
)
+
+

This routine maps or/and allocates a user-specified memory segment with UCP application context and the network resources associated with it. If the application specifies NULL as an address for the memory segment, the routine allocates a mapped memory segment and returns its address in the address_p argument. The network stack associated with an application context can typically send and receive data from the mapped memory without CPU intervention; some devices and associated network stacks require the memory to be mapped to send and receive data. The memory handle includes all information required to access the memory locally using UCP routines, while remote registration handle provides an information that is necessary for remote memory access.

+
Note
Another well know terminology for the "map" operation that is typically used in the context of networking is memory "registration" or "pinning". The UCP library registers the memory the available hardware so it can be assessed directly by the hardware.
+

Memory mapping assumptions:

    +
  • A given memory segment can be mapped by several different communication stacks, if these are compatible.
  • +
  • The memh_p handle returned may be used with any sub-region of the mapped memory.
  • +
  • If a large segment is registered, and then segmented for subsequent use by a user, then the user is responsible for segmentation and subsequent management.
  • +
+ + + + + + + + + + + + + + + + + + + + +
Matrix of behavior
parameter/flag NONBLOCK ALLOCATE FIXED address result
value 0/1 - the value
+ only affects the
+ register/map
+ phase
0 0 0 error if length > 0
1 0 0 alloc+register
0 1 0 error
0 0 defined register
1 1 0 error
1 0 defined alloc+register,hint
0 1 defined error
1 1 defined alloc+register,fixed
+
Note
    +
  • register means that the memory will be registered in corresponding transports for RMA/AMO operations. This case intends that the memory was allocated by user before.
  • +
  • alloc+register means that the memory will be allocated in the memory provided by the system and registered in corresponding transports for RMA/AMO operations.
  • +
  • alloc+register,hint means that the memory will be allocated with using ucp_mem_map_params::address as a hint and registered in corresponding transports for RMA/AMO operations.
  • +
  • alloc+register,fixed means that the memory will be allocated and registered in corresponding transports for RMA/AMO operations.
  • +
  • error is an erroneous combination of the parameters.
  • +
+
+
Parameters
+ + + + +
[in]contextApplication context to map (register) and allocate the memory on.
[in]paramsUser defined ucp_mem_map_params_t configurations for the UCP memory handle.
[out]memh_pUCP handle for the allocated segment.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_mem_unmap()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_mem_unmap (ucp_context_h context,
ucp_mem_h memh 
)
+
+

This routine unmaps a user specified memory segment, that was previously mapped using the ucp_mem_map() routine. The unmap routine will also release the resources associated with the memory handle. When the function returns, the ucp_mem_h and associated remote key will be invalid and cannot be used with any UCP routine.

+
Note
Another well know terminology for the "unmap" operation that is typically used in the context of networking is memory "de-registration". The UCP library de-registers the memory the available hardware so it can be returned back to the operation system.
+

Error cases:

    +
  • Once memory is unmapped a network access to the region may cause a failure.
  • +
+
Parameters
+ + + +
[in]contextApplication context which was used to allocate/map the memory.
[in]memhHandle to memory region.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_mem_query()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_mem_query (const ucp_mem_h memh,
ucp_mem_attr_tattr 
)
+
+

This routine returns address and length of memory segment mapped with ucp_mem_map() routine.

+
Parameters
+ + + +
[in]memhHandle to memory region.
[out]attrFilled with attributes of the UCP memory handle.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_mem_print_info()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void ucp_mem_print_info (const char * mem_size,
ucp_context_h context,
FILE * stream 
)
+
+

This routine maps memory and prints information about the created memory handle: including the mapped memory length, the allocation method, and other useful information associated with the memory handle.

+
Parameters
+ + + + +
[in]mem_sizeSize of the memory to map.
[in]contextThe context on which the memory is mapped.
[in]streamOutput stream on which to print the information.
+
+
+ +
+
+ +

◆ ucp_mem_advise()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_mem_advise (ucp_context_h context,
ucp_mem_h memh,
ucp_mem_advise_params_tparams 
)
+
+

This routine advises the UCP about how to handle memory range beginning at address and size of length bytes. This call does not influence the semantics of the application, but may influence its performance. The UCP may ignore the advice.

+
Parameters
+ + + + +
[in]contextApplication context which was used to allocate/map the memory.
[in]memhHandle to memory region.
[in]paramsMemory base address and length. The advice field is used to pass memory use advice as defined in the ucp_mem_advice list The memory range must belong to the memh
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_rkey_pack()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_rkey_pack (ucp_context_h context,
ucp_mem_h memh,
void ** rkey_buffer_p,
size_t * size_p 
)
+
+

This routine allocates memory buffer and packs into the buffer a remote access key (RKEY) object. RKEY is an opaque object that provides the information that is necessary for remote memory access. This routine packs the RKEY object in a portable format such that the object can be unpacked on any platform supported by the UCP library. In order to release the memory buffer allocated by this routine the application is responsible for calling the ucp_rkey_buffer_release() routine.

+
Note
    +
  • RKEYs for InfiniBand and Cray Aries networks typically includes InfiniBand and Aries key.
  • +
  • In order to enable remote direct memory access to the memory associated with the memory handle the application is responsible for sharing the RKEY with the peers that will initiate the access.
  • +
+
+
Parameters
+ + + + + +
[in]contextApplication context which was used to allocate/map the memory.
[in]memhHandle to memory region.
[out]rkey_buffer_pMemory buffer allocated by the library. The buffer contains packed RKEY.
[out]size_pSize (in bytes) of the packed RKEY.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_rkey_buffer_release()

+ +
+
+ + + + + + + + +
void ucp_rkey_buffer_release (void * rkey_buffer)
+
+

This routine releases the buffer that was allocated using ucp_rkey_pack().

+
Warning
    +
  • Once memory is released an access to the memory may cause a failure.
  • +
  • If the input memory address was not allocated using ucp_rkey_pack() routine the behaviour of this routine is undefined.
  • +
+
+
Parameters
+ + +
[in]rkey_bufferBuffer to release.
+
+
+ +
+
+ +

◆ ucp_ep_rkey_unpack()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_ep_rkey_unpack (ucp_ep_h ep,
const void * rkey_buffer,
ucp_rkey_hrkey_p 
)
+
+

This routine unpacks the remote key (RKEY) object into the local memory such that it can be accessed and used by UCP routines. The RKEY object has to be packed using the ucp_rkey_pack() routine. Application code should not make any changes to the content of the RKEY buffer.

+
Note
The application is responsible for releasing the RKEY object when it is no longer needed, by calling the ucp_rkey_destroy() routine.
+
+The remote key object can be used for communications only on the endpoint on which it was unpacked.
+
Parameters
+ + + + +
[in]epEndpoint to access using the remote key.
[in]rkey_bufferPacked rkey.
[out]rkey_pRemote key handle.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_rkey_ptr()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_rkey_ptr (ucp_rkey_h rkey,
uint64_t raddr,
void ** addr_p 
)
+
+

This routine returns a local pointer to the remote memory described by the rkey.

+
Note
This routine can return a valid pointer only for the endpoints that are reachable via shared memory.
+
Parameters
+ + + + +
[in]rkeyA remote key handle.
[in]raddrA remote memory address within the memory area described by the rkey.
[out]addr_pA pointer that can be used for direct access to the remote memory.
+
+
+
Returns
Error code as defined by ucs_status_t if the remote memory cannot be accessed directly or the remote memory address is not valid.
+ +
+
+ +

◆ ucp_rkey_destroy()

+ +
+
+ + + + + + + + +
void ucp_rkey_destroy (ucp_rkey_h rkey)
+
+

This routine destroys the RKEY object and the memory that was allocated using the ucp_ep_rkey_unpack() routine. This routine also releases any resources that are associated with the RKEY object.

+
Warning
    +
  • Once the RKEY object is released an access to the memory will cause an undefined failure.
  • +
  • If the RKEY object was not created using ucp_ep_rkey_unpack() routine the behavior of this routine is undefined.
  • +
  • The RKEY object must be destroyed after all outstanding operations which are using it are flushed, and before the endpoint on which it was unpacked is destroyed.
  • +
+
+
Parameters
+ + +
[in]rkeyRemote key to destroy.
+
+
+ +
+
+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_p___m_e_m.js b/api/v1.13/html/group___u_c_p___m_e_m.js new file mode 100644 index 00000000000..d52d6fbd9ff --- /dev/null +++ b/api/v1.13/html/group___u_c_p___m_e_m.js @@ -0,0 +1,67 @@ +var group___u_c_p___m_e_m = +[ + [ "ucp_mem_map_params", "group___u_c_p___m_e_m.html#structucp__mem__map__params", [ + [ "field_mask", "group___u_c_p___m_e_m.html#aaeaeceb96d57c6cd5048abeda3fcb87f", null ], + [ "address", "group___u_c_p___m_e_m.html#acc3761c4bbcca9c1defa742a8db08bbb", null ], + [ "length", "group___u_c_p___m_e_m.html#a36d735fe974dd85677474c028edb2af8", null ], + [ "flags", "group___u_c_p___m_e_m.html#a668567560d65f2e0458159d444fb89ca", null ], + [ "prot", "group___u_c_p___m_e_m.html#af8bb06187e2c1f180a24d867a4922b2e", null ], + [ "memory_type", "group___u_c_p___m_e_m.html#a71916e12e0fa7706355965de2edd7fc9", null ] + ] ], + [ "ucp_mem_advise_params", "group___u_c_p___m_e_m.html#structucp__mem__advise__params", [ + [ "field_mask", "group___u_c_p___m_e_m.html#a01c09d6fdafcd62e733cece26166e036", null ], + [ "address", "group___u_c_p___m_e_m.html#ab25f1b439c184a0bfb93eda0c9ceb9f7", null ], + [ "length", "group___u_c_p___m_e_m.html#a33e763e90d0cc7aad526a69dee8ef900", null ], + [ "advice", "group___u_c_p___m_e_m.html#a26833bd101fcb6b4c1024b2975aed5dc", null ] + ] ], + [ "ucp_mem_attr", "group___u_c_p___m_e_m.html#structucp__mem__attr", [ + [ "field_mask", "group___u_c_p___m_e_m.html#ac2b9b68d716c78b3750f50f599259e66", null ], + [ "address", "group___u_c_p___m_e_m.html#ab9a2b772838f436158ae4e25d8bb21e4", null ], + [ "length", "group___u_c_p___m_e_m.html#ae807002e05a4a269a74c767e23f49fa8", null ], + [ "mem_type", "group___u_c_p___m_e_m.html#ac88b3fb764dd2af1a77bbe90161b2896", null ] + ] ], + [ "ucp_mem_map_params_t", "group___u_c_p___m_e_m.html#ga1651ea0d7b1db95a8f9683c24ecc5f37", null ], + [ "ucp_mem_advice_t", "group___u_c_p___m_e_m.html#ga54153fa56291a9c0cb149029e23e85d1", null ], + [ "ucp_mem_advise_params_t", "group___u_c_p___m_e_m.html#ga3bbc14ac42d6465b98e9b63107d9f6be", null ], + [ "ucp_rkey_h", "group___u_c_p___m_e_m.html#gaefeb4e775983f4313691a6b465e36c24", null ], + [ "ucp_mem_h", "group___u_c_p___m_e_m.html#gacf61d6417524329d75f239d3f2ea8d3b", null ], + [ "ucp_mem_attr_t", "group___u_c_p___m_e_m.html#ga501b036afde29169c2f9472f532d3355", null ], + [ "ucp_mem_map_params_field", "group___u_c_p___m_e_m.html#ga1b78010c24c834aadc9fb8f1083e226f", [ + [ "UCP_MEM_MAP_PARAM_FIELD_ADDRESS", "group___u_c_p___m_e_m.html#gga1b78010c24c834aadc9fb8f1083e226faa3ddd6c11c7610ae3c97fcb4473d9332", null ], + [ "UCP_MEM_MAP_PARAM_FIELD_LENGTH", "group___u_c_p___m_e_m.html#gga1b78010c24c834aadc9fb8f1083e226faa4aa7e36cd51262837f9179cb74fb22a", null ], + [ "UCP_MEM_MAP_PARAM_FIELD_FLAGS", "group___u_c_p___m_e_m.html#gga1b78010c24c834aadc9fb8f1083e226fafc2e699ec811b6848bfc40d4a6c1b049", null ], + [ "UCP_MEM_MAP_PARAM_FIELD_PROT", "group___u_c_p___m_e_m.html#gga1b78010c24c834aadc9fb8f1083e226fa349ca907322a708479795afef1fe28ff", null ], + [ "UCP_MEM_MAP_PARAM_FIELD_MEMORY_TYPE", "group___u_c_p___m_e_m.html#gga1b78010c24c834aadc9fb8f1083e226fab5d6cd1e76f334a4ae5d10d5955d51b7", null ] + ] ], + [ "ucp_mem_advise_params_field", "group___u_c_p___m_e_m.html#ga3c0f7ca217c77fa0ae8649e21b24a1fc", [ + [ "UCP_MEM_ADVISE_PARAM_FIELD_ADDRESS", "group___u_c_p___m_e_m.html#gga3c0f7ca217c77fa0ae8649e21b24a1fca19cd431b1a46a62abaf904d0358ffaad", null ], + [ "UCP_MEM_ADVISE_PARAM_FIELD_LENGTH", "group___u_c_p___m_e_m.html#gga3c0f7ca217c77fa0ae8649e21b24a1fcac60bdd12018a716587c71883ae408b60", null ], + [ "UCP_MEM_ADVISE_PARAM_FIELD_ADVICE", "group___u_c_p___m_e_m.html#gga3c0f7ca217c77fa0ae8649e21b24a1fca8834ee80833e5509eea118807dc1a213", null ], + [ "UCP_MEM_MAP_NONBLOCK", "group___u_c_p___m_e_m.html#gga06fc87d81c62e9abb8790b6e5713c55ba31fa3f795110becccb25734067b5e203", null ], + [ "UCP_MEM_MAP_ALLOCATE", "group___u_c_p___m_e_m.html#gga06fc87d81c62e9abb8790b6e5713c55ba8cb2c18c15da7e8da9aa2de5b407957a", null ], + [ "UCP_MEM_MAP_FIXED", "group___u_c_p___m_e_m.html#gga06fc87d81c62e9abb8790b6e5713c55ba937051276d5a7825211189c84d7f2922", null ], + [ "UCP_MEM_MAP_PROT_LOCAL_READ", "group___u_c_p___m_e_m.html#ggadf764cbdea00d65edcd07bb9953ad2b7a78c92c33fb131e7084b6a2933632ec17", null ], + [ "UCP_MEM_MAP_PROT_LOCAL_WRITE", "group___u_c_p___m_e_m.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6961fd2dcb7ff1fd5980f2d09bb40c39", null ], + [ "UCP_MEM_MAP_PROT_REMOTE_READ", "group___u_c_p___m_e_m.html#ggadf764cbdea00d65edcd07bb9953ad2b7a2dc03b7f80ce18c5ec948d1039342bdb", null ], + [ "UCP_MEM_MAP_PROT_REMOTE_WRITE", "group___u_c_p___m_e_m.html#ggadf764cbdea00d65edcd07bb9953ad2b7a4d1429c096e17c691ca710aeb6385fe8", null ] + ] ], + [ "ucp_mem_advice", "group___u_c_p___m_e_m.html#ga1a73c4a7fc1d8a6d75e6b53256eec0b8", [ + [ "UCP_MADV_NORMAL", "group___u_c_p___m_e_m.html#gga1a73c4a7fc1d8a6d75e6b53256eec0b8a3a335aa51dc934e57f4ccbd26fb32fb0", null ], + [ "UCP_MADV_WILLNEED", "group___u_c_p___m_e_m.html#gga1a73c4a7fc1d8a6d75e6b53256eec0b8a882711eaac0fe1172570783e9824e12f", null ] + ] ], + [ "ucp_mem_attr_field", "group___u_c_p___m_e_m.html#gab0d7a54391c964c59b2cfbf30e23dc14", [ + [ "UCP_MEM_ATTR_FIELD_ADDRESS", "group___u_c_p___m_e_m.html#ggab0d7a54391c964c59b2cfbf30e23dc14a7255d71b73495f3466b2b3938f85630f", null ], + [ "UCP_MEM_ATTR_FIELD_LENGTH", "group___u_c_p___m_e_m.html#ggab0d7a54391c964c59b2cfbf30e23dc14aaf7684459badd65a4e70a65813ae1e35", null ], + [ "UCP_MEM_ATTR_FIELD_MEM_TYPE", "group___u_c_p___m_e_m.html#ggab0d7a54391c964c59b2cfbf30e23dc14a97c63bcd6332d0556e4439bc65531116", null ] + ] ], + [ "ucp_mem_map", "group___u_c_p___m_e_m.html#ga1af508a609cc7f2cebf4b33f9ee6ac66", null ], + [ "ucp_mem_unmap", "group___u_c_p___m_e_m.html#gac8bd616375fe05594690b5e0cddd6318", null ], + [ "ucp_mem_query", "group___u_c_p___m_e_m.html#ga080c10aaf347682594092d796bbc913f", null ], + [ "ucp_mem_print_info", "group___u_c_p___m_e_m.html#gaabf69fda20dd01c6ade48906a74a5690", null ], + [ "ucp_mem_advise", "group___u_c_p___m_e_m.html#ga455313831b8734fe1a824109c3ffc588", null ], + [ "ucp_rkey_pack", "group___u_c_p___m_e_m.html#gadbb6b3ace4ab988cd7660319123407b4", null ], + [ "ucp_rkey_buffer_release", "group___u_c_p___m_e_m.html#ga8bc005f53da015f4a062087e6eb064e9", null ], + [ "ucp_ep_rkey_unpack", "group___u_c_p___m_e_m.html#ga92353d1cb038a4e281f0a1973937079d", null ], + [ "ucp_rkey_ptr", "group___u_c_p___m_e_m.html#ga68f3458805ba15d6a5883219ecd56c1e", null ], + [ "ucp_rkey_destroy", "group___u_c_p___m_e_m.html#gae33d7cc264e0fe1b11e27ae4289fba39", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___m_e_m_structucp__mem__advise__params.js b/api/v1.13/html/group___u_c_p___m_e_m_structucp__mem__advise__params.js new file mode 100644 index 00000000000..89afa1c6462 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___m_e_m_structucp__mem__advise__params.js @@ -0,0 +1,7 @@ +var group___u_c_p___m_e_m_structucp__mem__advise__params = +[ + [ "field_mask", "group___u_c_p___m_e_m.html#a01c09d6fdafcd62e733cece26166e036", null ], + [ "address", "group___u_c_p___m_e_m.html#ab25f1b439c184a0bfb93eda0c9ceb9f7", null ], + [ "length", "group___u_c_p___m_e_m.html#a33e763e90d0cc7aad526a69dee8ef900", null ], + [ "advice", "group___u_c_p___m_e_m.html#a26833bd101fcb6b4c1024b2975aed5dc", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___m_e_m_structucp__mem__attr.js b/api/v1.13/html/group___u_c_p___m_e_m_structucp__mem__attr.js new file mode 100644 index 00000000000..597f368ff1a --- /dev/null +++ b/api/v1.13/html/group___u_c_p___m_e_m_structucp__mem__attr.js @@ -0,0 +1,7 @@ +var group___u_c_p___m_e_m_structucp__mem__attr = +[ + [ "field_mask", "group___u_c_p___m_e_m.html#ac2b9b68d716c78b3750f50f599259e66", null ], + [ "address", "group___u_c_p___m_e_m.html#ab9a2b772838f436158ae4e25d8bb21e4", null ], + [ "length", "group___u_c_p___m_e_m.html#ae807002e05a4a269a74c767e23f49fa8", null ], + [ "mem_type", "group___u_c_p___m_e_m.html#ac88b3fb764dd2af1a77bbe90161b2896", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___m_e_m_structucp__mem__map__params.js b/api/v1.13/html/group___u_c_p___m_e_m_structucp__mem__map__params.js new file mode 100644 index 00000000000..30370ef406d --- /dev/null +++ b/api/v1.13/html/group___u_c_p___m_e_m_structucp__mem__map__params.js @@ -0,0 +1,9 @@ +var group___u_c_p___m_e_m_structucp__mem__map__params = +[ + [ "field_mask", "group___u_c_p___m_e_m.html#aaeaeceb96d57c6cd5048abeda3fcb87f", null ], + [ "address", "group___u_c_p___m_e_m.html#acc3761c4bbcca9c1defa742a8db08bbb", null ], + [ "length", "group___u_c_p___m_e_m.html#a36d735fe974dd85677474c028edb2af8", null ], + [ "flags", "group___u_c_p___m_e_m.html#a668567560d65f2e0458159d444fb89ca", null ], + [ "prot", "group___u_c_p___m_e_m.html#af8bb06187e2c1f180a24d867a4922b2e", null ], + [ "memory_type", "group___u_c_p___m_e_m.html#a71916e12e0fa7706355965de2edd7fc9", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___w_a_k_e_u_p.html b/api/v1.13/html/group___u_c_p___w_a_k_e_u_p.html new file mode 100644 index 00000000000..5572567a788 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___w_a_k_e_u_p.html @@ -0,0 +1,337 @@ + + + + + + + +UCX: UCP Wake-up routines + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + +

+Functions

ucs_status_t ucp_worker_get_efd (ucp_worker_h worker, int *fd)
 Obtain an event file descriptor for event notification. More...
 
ucs_status_t ucp_worker_wait (ucp_worker_h worker)
 Wait for an event of the worker. More...
 
void ucp_worker_wait_mem (ucp_worker_h worker, void *address)
 Wait for memory update on the address. More...
 
ucs_status_t ucp_worker_arm (ucp_worker_h worker)
 Turn on event notification for the next event. More...
 
ucs_status_t ucp_worker_signal (ucp_worker_h worker)
 Cause an event of the worker. More...
 
+

Detailed Description

+

UCP Wake-up routines

+

Function Documentation

+ +

◆ ucp_worker_get_efd()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_worker_get_efd (ucp_worker_h worker,
int * fd 
)
+
+

This routine returns a valid file descriptor for polling functions. The file descriptor will get signaled when an event occurs, as part of the wake-up mechanism. Signaling means a call to poll() or select() with this file descriptor will return at this point, with this descriptor marked as the reason (or one of the reasons) the function has returned. The user does not need to release the obtained file descriptor.

+

The wake-up mechanism exists to allow for the user process to register for notifications on events of the underlying interfaces, and wait until such occur. This is an alternative to repeated polling for request completion. The goal is to allow for waiting while consuming minimal resources from the system. This is recommended for cases where traffic is infrequent, and latency can be traded for lower resource consumption while waiting for it.

+

There are two alternative ways to use the wakeup mechanism: the first is the file descriptor obtained per worker (this function) and the second is the ucp_worker_wait function for waiting on the next event internally.

+
Note
UCP features have to be triggered with UCP_FEATURE_WAKEUP to select proper transport
+
Parameters
+ + + +
[in]workerWorker of notified events.
[out]fdFile descriptor.
+
+
+
Returns
Error code as defined by ucs_status_t
+
Examples
ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_worker_wait()

+ +
+
+ + + + + + + + +
ucs_status_t ucp_worker_wait (ucp_worker_h worker)
+
+

This routine waits (blocking) until an event has happened, as part of the wake-up mechanism.

+

This function is guaranteed to return only if new communication events occur on the worker. Therefore one must drain all existing events before waiting on the file descriptor. This can be achieved by calling ucp_worker_progress repeatedly until it returns 0.

+

There are two alternative ways to use the wakeup mechanism. The first is by polling on a per-worker file descriptor obtained from ucp_worker_get_efd. The second is by using this function to perform an internal wait for the next event associated with the specified worker.

+
Note
During the blocking call the wake-up mechanism relies on other means of notification and may not progress some of the requests as it would when calling ucp_worker_progress (which is not invoked in that duration).
+
+UCP features have to be triggered with UCP_FEATURE_WAKEUP to select proper transport
+
Parameters
+ + +
[in]workerWorker to wait for events on.
+
+
+
Returns
Error code as defined by ucs_status_t
+
Examples
ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_worker_wait_mem()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ucp_worker_wait_mem (ucp_worker_h worker,
void * address 
)
+
+

This routine waits for a memory update at the local memory address. This is a blocking routine. The routine returns when the memory address is updated ("write") or an event occurs in the system.

+

This function is guaranteed to return only if new communication events occur on the worker or address is modified. Therefore one must drain all existing events before waiting on the file descriptor. This can be achieved by calling ucp_worker_progress repeatedly until it returns 0.

+
Note
This routine can be used by an application that executes busy-waiting loop checking for a memory update. Instead of continuous busy-waiting on an address the application can use ucp_worker_wait_mem, which may suspend execution until the memory is updated. The goal of the routine is to provide an opportunity for energy savings for architectures that support this functionality.
+
Parameters
+ + + +
[in]workerWorker to wait for updates on.
[in]addressLocal memory address
+
+
+ +
+
+ +

◆ ucp_worker_arm()

+ +
+
+ + + + + + + + +
ucs_status_t ucp_worker_arm (ucp_worker_h worker)
+
+

This routine needs to be called before waiting on each notification on this worker, so will typically be called once the processing of the previous event is over, as part of the wake-up mechanism.

+

The worker must be armed before waiting on an event (must be re-armed after it has been signaled for re-use) with ucp_worker_arm. The events triggering a signal of the file descriptor from ucp_worker_get_efd depend on the interfaces used by the worker and defined in the transport layer, and typically represent a request completion or newly available resources. It can also be triggered by calling ucp_worker_signal .

+

The file descriptor is guaranteed to become signaled only if new communication events occur on the worker. Therefore one must drain all existing events before waiting on the file descriptor. This can be achieved by calling ucp_worker_progress repeatedly until it returns 0.

+
void application_initialization() {
+
// should be called once in application init flow and before
+
// process_communication() is used
+
...
+
status = ucp_worker_get_efd(worker, &fd);
+
...
+
}
+
+
void process_communication() {
+
// should be called every time need to wait for some condition such as
+
// ucp request completion in sleep mode.
+
+
for (;;) {
+
// check for stop condition as long as progress is made
+
if (check_for_events()) {
+
break;
+
} else if (ucp_worker_progress(worker)) {
+
continue; // some progress happened but condition not met
+
}
+
+
// arm the worker and clean-up fd
+
status = ucp_worker_arm(worker);
+
if (UCS_OK == status) {
+
poll(&fds, nfds, timeout); // wait for events (sleep mode)
+
} else if (UCS_ERR_BUSY == status) {
+
continue; // could not arm, need to progress more
+
} else {
+
abort();
+
}
+
}
+
}
+
Note
UCP features have to be triggered with UCP_FEATURE_WAKEUP to select proper transport
+
Parameters
+ + +
[in]workerWorker of notified events.
+
+
+
Returns
UCS_OK The operation completed successfully. File descriptor will be signaled by new events.
+
+UCS_ERR_BUSY There are unprocessed events which prevent the file descriptor from being armed. These events should be removed by calling ucp_worker_progress(). The operation is not completed. File descriptor will not be signaled by new events.
+
+Other different error codes in case of issues.
+
Examples
ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_worker_signal()

+ +
+
+ + + + + + + + +
ucs_status_t ucp_worker_signal (ucp_worker_h worker)
+
+

This routine signals that the event has happened, as part of the wake-up mechanism. This function causes a blocking call to ucp_worker_wait or waiting on a file descriptor from ucp_worker_get_efd to return, even if no event from the underlying interfaces has taken place.

+
Note
It's safe to use this routine from any thread, even if UCX is compiled without multi-threading support and/or initialized with any value of ucp_params_t::mt_workers_shared and ucp_worker_params_t::thread_mode parameters
+
Parameters
+ + +
[in]workerWorker to wait for events on.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+
+
+
@ UCS_ERR_BUSY
Definition: status.h:67
+
ucs_status_t ucp_worker_arm(ucp_worker_h worker)
Turn on event notification for the next event.
+
@ UCS_OK
Definition: status.h:47
+
unsigned ucp_worker_progress(ucp_worker_h worker)
Progress all communications on a specific worker.
+
ucs_status_t ucp_worker_get_efd(ucp_worker_h worker, int *fd)
Obtain an event file descriptor for event notification.
+ + + + diff --git a/api/v1.13/html/group___u_c_p___w_a_k_e_u_p.js b/api/v1.13/html/group___u_c_p___w_a_k_e_u_p.js new file mode 100644 index 00000000000..b33318d5bc3 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___w_a_k_e_u_p.js @@ -0,0 +1,8 @@ +var group___u_c_p___w_a_k_e_u_p = +[ + [ "ucp_worker_get_efd", "group___u_c_p___w_a_k_e_u_p.html#gadf849649110fa338fd891548198a578b", null ], + [ "ucp_worker_wait", "group___u_c_p___w_a_k_e_u_p.html#gaa6d1fba4d8a2525b74174a8c344ae9aa", null ], + [ "ucp_worker_wait_mem", "group___u_c_p___w_a_k_e_u_p.html#ga8b9a2ca2795f083e3b1250d698162aa6", null ], + [ "ucp_worker_arm", "group___u_c_p___w_a_k_e_u_p.html#gadce97937294aae0f5f599d58d68904d6", null ], + [ "ucp_worker_signal", "group___u_c_p___w_a_k_e_u_p.html#ga4f83bf7620a2ea765fb7167c756b8e48", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___w_o_r_k_e_r.html b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r.html new file mode 100644 index 00000000000..a8df6944162 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r.html @@ -0,0 +1,2155 @@ + + + + + + + +UCX: UCP Worker + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  ucp_worker_attr
 UCP worker attributes. More...
 
struct  ucp_worker_params
 Tuning parameters for the UCP worker. More...
 
struct  ucp_worker_address_attr
 UCP worker address attributes. More...
 
struct  ucp_listener_attr
 UCP listener attributes. More...
 
struct  ucp_conn_request_attr
 UCP listener's connection request attributes. More...
 
struct  ucp_listener_params
 Parameters for a UCP listener object. More...
 
struct  ucp_am_handler_param
 Active Message handler parameters passed to ucp_worker_set_am_recv_handler routine. More...
 
struct  ucp_am_recv_param
 Operation parameters provided in ucp_am_recv_callback_t callback. More...
 
struct  ucp_listener_accept_handler
 
struct  ucp_listener_conn_handler
 UCP callback to handle the connection request in a client-server connection establishment flow. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef struct ucp_worker_attr ucp_worker_attr_t
 UCP worker attributes. More...
 
typedef struct ucp_worker_params ucp_worker_params_t
 Tuning parameters for the UCP worker. More...
 
typedef struct ucp_worker_address_attr ucp_worker_address_attr_t
 UCP worker address attributes. More...
 
typedef struct ucp_listener_attr ucp_listener_attr_t
 UCP listener attributes. More...
 
typedef struct ucp_conn_request_attr ucp_conn_request_attr_t
 UCP listener's connection request attributes. More...
 
typedef struct ucp_listener_params ucp_listener_params_t
 Parameters for a UCP listener object. More...
 
typedef struct ucp_am_handler_param ucp_am_handler_param_t
 Active Message handler parameters passed to ucp_worker_set_am_recv_handler routine. More...
 
typedef struct ucp_listener_accept_handler ucp_listener_accept_handler_t
 
typedef struct ucp_am_recv_param ucp_am_recv_param_t
 Operation parameters provided in ucp_am_recv_callback_t callback. More...
 
typedef struct ucp_address ucp_address_t
 UCP worker address. More...
 
typedef struct ucp_listener * ucp_listener_h
 UCP listen handle. More...
 
typedef struct ucp_worker * ucp_worker_h
 UCP Worker. More...
 
typedef void(* ucp_listener_accept_callback_t) (ucp_ep_h ep, void *arg)
 A callback for accepting client/server connections on a listener ucp_listener_h. More...
 
typedef void(* ucp_listener_conn_callback_t) (ucp_conn_request_h conn_request, void *arg)
 A callback for handling of incoming connection request conn_request from a client. More...
 
typedef struct ucp_listener_conn_handler ucp_listener_conn_handler_t
 UCP callback to handle the connection request in a client-server connection establishment flow. More...
 
typedef enum ucp_wakeup_event_types ucp_wakeup_event_t
 UCP worker wakeup events mask. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  ucp_worker_params_field {
+  UCP_WORKER_PARAM_FIELD_THREAD_MODE = UCS_BIT(0), +UCP_WORKER_PARAM_FIELD_CPU_MASK = UCS_BIT(1), +UCP_WORKER_PARAM_FIELD_EVENTS = UCS_BIT(2), +UCP_WORKER_PARAM_FIELD_USER_DATA = UCS_BIT(3), +
+  UCP_WORKER_PARAM_FIELD_EVENT_FD = UCS_BIT(4), +UCP_WORKER_PARAM_FIELD_FLAGS = UCS_BIT(5), +UCP_WORKER_PARAM_FIELD_NAME = UCS_BIT(6), +UCP_WORKER_PARAM_FIELD_AM_ALIGNMENT = UCS_BIT(7), +
+  UCP_WORKER_PARAM_FIELD_CLIENT_ID = UCS_BIT(8) +
+ }
 UCP worker parameters field mask. More...
 
enum  ucp_worker_flags_t { UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK = UCS_BIT(0) + }
 UCP worker flags. More...
 
enum  ucp_listener_params_field { UCP_LISTENER_PARAM_FIELD_SOCK_ADDR = UCS_BIT(0), +UCP_LISTENER_PARAM_FIELD_ACCEPT_HANDLER = UCS_BIT(1), +UCP_LISTENER_PARAM_FIELD_CONN_HANDLER = UCS_BIT(2) + }
 UCP listener parameters field mask. More...
 
enum  ucp_worker_address_flags_t { UCP_WORKER_ADDRESS_FLAG_NET_ONLY = UCS_BIT(0) + }
 UCP worker address flags. More...
 
enum  ucp_worker_attr_field {
+  UCP_WORKER_ATTR_FIELD_THREAD_MODE = UCS_BIT(0), +UCP_WORKER_ATTR_FIELD_ADDRESS = UCS_BIT(1), +UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS = UCS_BIT(2), +UCP_WORKER_ATTR_FIELD_MAX_AM_HEADER = UCS_BIT(3), +
+  UCP_WORKER_ATTR_FIELD_NAME = UCS_BIT(4), +UCP_WORKER_ATTR_FIELD_MAX_INFO_STRING = UCS_BIT(5) +
+ }
 UCP worker attributes field mask. More...
 
enum  ucp_worker_address_attr_field { UCP_WORKER_ADDRESS_ATTR_FIELD_UID = UCS_BIT(0) + }
 UCP worker address attributes field mask. More...
 
enum  ucp_listener_attr_field { UCP_LISTENER_ATTR_FIELD_SOCKADDR = UCS_BIT(0) + }
 UCP listener attributes field mask. More...
 
enum  ucp_conn_request_attr_field { UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ADDR = UCS_BIT(0), +UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ID = UCS_BIT(1) + }
 UCP listener's connection request attributes field mask. More...
 
enum  ucp_am_cb_flags { UCP_AM_FLAG_WHOLE_MSG = UCS_BIT(0), +UCP_AM_FLAG_PERSISTENT_DATA = UCS_BIT(1) + }
 Flags for a UCP Active Message callback. More...
 
enum  ucp_send_am_flags { UCP_AM_SEND_FLAG_REPLY = UCS_BIT(0), +UCP_AM_SEND_FLAG_EAGER = UCS_BIT(1), +UCP_AM_SEND_FLAG_RNDV = UCS_BIT(2), +UCP_AM_SEND_REPLY = UCP_AM_SEND_FLAG_REPLY + }
 Flags for sending a UCP Active Message. More...
 
enum  ucp_wakeup_event_types {
+  UCP_WAKEUP_RMA = UCS_BIT(0), +UCP_WAKEUP_AMO = UCS_BIT(1), +UCP_WAKEUP_TAG_SEND = UCS_BIT(2), +UCP_WAKEUP_TAG_RECV = UCS_BIT(3), +
+  UCP_WAKEUP_TX = UCS_BIT(10), +UCP_WAKEUP_RX = UCS_BIT(11), +UCP_WAKEUP_EDGE = UCS_BIT(16) +
+ }
 UCP worker wakeup events mask. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ucs_status_t ucp_worker_create (ucp_context_h context, const ucp_worker_params_t *params, ucp_worker_h *worker_p)
 Create a worker object. More...
 
void ucp_worker_destroy (ucp_worker_h worker)
 Destroy a worker object. More...
 
ucs_status_t ucp_worker_query (ucp_worker_h worker, ucp_worker_attr_t *attr)
 Get attributes specific to a particular worker. More...
 
void ucp_worker_print_info (ucp_worker_h worker, FILE *stream)
 Print information about the worker. More...
 
ucs_status_t ucp_worker_get_address (ucp_worker_h worker, ucp_address_t **address_p, size_t *address_length_p)
 Get the address of the worker object. More...
 
void ucp_worker_release_address (ucp_worker_h worker, ucp_address_t *address)
 Release an address of the worker object. More...
 
ucs_status_t ucp_worker_address_query (ucp_address_t *address, ucp_worker_address_attr_t *attr)
 Get attributes of the particular worker address. More...
 
unsigned ucp_worker_progress (ucp_worker_h worker)
 Progress all communications on a specific worker. More...
 
ssize_t ucp_stream_worker_poll (ucp_worker_h worker, ucp_stream_poll_ep_t *poll_eps, size_t max_eps, unsigned flags)
 Poll for endpoints that are ready to consume streaming data. More...
 
ucs_status_t ucp_listener_create (ucp_worker_h worker, const ucp_listener_params_t *params, ucp_listener_h *listener_p)
 Create a listener to accept connections on. Connection requests on the listener will arrive at a local address specified by the user. More...
 
void ucp_listener_destroy (ucp_listener_h listener)
 Stop accepting connections on a local address of the worker object. More...
 
ucs_status_t ucp_listener_query (ucp_listener_h listener, ucp_listener_attr_t *attr)
 Get attributes specific to a particular listener. More...
 
ucs_status_t ucp_conn_request_query (ucp_conn_request_h conn_request, ucp_conn_request_attr_t *attr)
 Get attributes specific to a particular connection request received on the server side. More...
 
ucs_status_t ucp_listener_reject (ucp_listener_h listener, ucp_conn_request_h conn_request)
 Reject an incoming connection request. More...
 
ucs_status_t ucp_worker_set_am_handler (ucp_worker_h worker, uint16_t id, ucp_am_callback_t cb, void *arg, uint32_t flags)
 Add user defined callback for Active Message. More...
 
ucs_status_t ucp_worker_set_am_recv_handler (ucp_worker_h worker, const ucp_am_handler_param_t *param)
 Add user defined callback for Active Message. More...
 
ucs_status_t ucp_worker_fence (ucp_worker_h worker)
 Assures ordering between non-blocking operations. More...
 
ucs_status_ptr_t ucp_worker_flush_nb (ucp_worker_h worker, unsigned flags, ucp_send_callback_t cb)
 Flush outstanding AMO and RMA operations on the worker. More...
 
ucs_status_ptr_t ucp_worker_flush_nbx (ucp_worker_h worker, const ucp_request_param_t *param)
 Flush outstanding AMO and RMA operations on the worker. More...
 
ucs_status_t ucp_worker_flush (ucp_worker_h worker)
 Flush outstanding AMO and RMA operations on the worker. More...
 
+

Detailed Description

+

UCP Worker routines

+

Data Structure Documentation

+ +

◆ ucp_worker_attr

+ +
+
+ + + + +
struct ucp_worker_attr
+
+

The structure defines the attributes which characterize the particular worker.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_worker_attr_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+ucs_thread_mode_t +thread_mode +

Thread safe level of the worker.

+
+uint32_t +address_flags +

Flags indicating requested details of the worker address. If UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS bit is set in the field_mask, this value should be set as well. Possible flags are specified in ucp_worker_address_flags_t.

Note
This is an input attribute.
+
+ucp_address_t * +address +

Worker address, which can be passed to remote instances of the UCP library in order to connect to this worker. The memory for the address handle is allocated by ucp_worker_query() routine, and must be released by using ucp_worker_release_address() routine.

+
+size_t +address_length +

Size of worker address in bytes.

+
+size_t +max_am_header +

Maximum allowed header size for ucp_am_send_nbx routine.

+
+char +name[UCP_ENTITY_NAME_MAX] +

Tracing and analysis tools can identify the worker using this name.

+
+size_t +max_debug_string +

Maximum debug string size that can be filled with ucp_request_query.

+
+ +
+
+ +

◆ ucp_worker_params

+ +
+
+ + + + +
struct ucp_worker_params
+
+

The structure defines the parameters that are used for the UCP worker tuning during the UCP worker creation.

+
Examples
ucp_client_server.c, and ucp_hello_world.c.
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_worker_params_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+ucs_thread_mode_t +thread_mode +

The parameter thread_mode suggests the thread safety mode which worker and the associated resources should be created with. This is an optional parameter. The default value is UCS_THREAD_MODE_SINGLE and it is used when the value of the parameter is not set. When this parameter along with its corresponding bit in the field_mask - UCP_WORKER_PARAM_FIELD_THREAD_MODE is set, the ucp_worker_create attempts to create worker with this thread mode. The thread mode with which worker is created can differ from the suggested mode. The actual thread mode of the worker should be obtained using the query interface ucp_worker_query.

+
+ucs_cpu_set_t +cpu_mask +

Mask of which CPUs worker resources should preferably be allocated on. This value is optional. If it's not set (along with its corresponding bit in the field_mask - UCP_WORKER_PARAM_FIELD_CPU_MASK), resources are allocated according to system's default policy.

+
+unsigned +events +

Mask of events (ucp_wakeup_event_t) which are expected on wakeup. This value is optional. If it's not set (along with its corresponding bit in the field_mask - UCP_WORKER_PARAM_FIELD_EVENTS), all types of events will trigger on wakeup.

+
+void * +user_data +

User data associated with the current worker. This value is optional. If it's not set (along with its corresponding bit in the field_mask - UCP_WORKER_PARAM_FIELD_USER_DATA), it will default to NULL.

+
+int +event_fd +

External event file descriptor. This value is optional. If UCP_WORKER_PARAM_FIELD_EVENT_FD is set in the field_mask, events on the worker will be reported on the provided event file descriptor. In this case, calling ucp_worker_get_efd will result in an error. The provided file descriptor must be capable of aggregating notifications for arbitrary events, for example epoll(7) on Linux systems. user_data will be used as the event user-data on systems which support it. For example, on Linux, it will be placed in epoll_data_t::ptr, when returned from epoll_wait(2).

+

Otherwise, events will be reported to the event file descriptor returned from ucp_worker_get_efd().

+
+uint64_t +flags +

Worker flags. This value is optional. If UCP_WORKER_PARAM_FIELD_FLAGS is not set in the field_mask, the value of this field will default to 0.

+
+const char * +name +

Tracing and analysis tools can identify the worker using this name. To retrieve the worker's name, use ucp_worker_query, as the name you supply may be changed by UCX under some circumstances, e.g. a name conflict. This field is only assigned if you set UCP_WORKER_PARAM_FIELD_NAME in the field mask. If not, then a default unique name will be created for you.

+
+size_t +am_alignment +

Minimal address alignment of the active message data pointer as passed in argument data to the active message handler, defined as ucp_am_recv_callback_t.

+
+uint64_t +client_id +

Client id that is sent as part of the connection request payload when connecting to a remote socket address. On the remote side, this value can be obtained from ucp_conn_request_h using ucp_conn_request_query.

+
+ +
+
+ +

◆ ucp_worker_address_attr

+ +
+
+ + + + +
struct ucp_worker_address_attr
+
+

The structure defines the attributes of the particular worker address.

+
+ + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_worker_address_attr_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+uint64_t +worker_uid +

Unique id of the worker this address belongs to.

+
+ +
+
+ +

◆ ucp_listener_attr

+ +
+
+ + + + +
struct ucp_listener_attr
+
+

The structure defines the attributes which characterize the particular listener.

+
Examples
ucp_client_server.c.
+
+
+ + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_listener_attr_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+struct sockaddr_storage +sockaddr +

Sockaddr on which this listener is listening for incoming connection requests.

+
+ +
+
+ +

◆ ucp_conn_request_attr

+ +
+
+ + + + +
struct ucp_conn_request_attr
+
+

The structure defines the attributes that characterize the particular connection request received on the server side.

+
Examples
ucp_client_server.c.
+
+
+ + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_conn_request_attr_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+struct sockaddr_storage +client_address +

The address of the remote client that sent the connection request to the server.

+
+uint64_t +client_id +

Remote client id if remote endpoint's flag UCP_EP_PARAMS_FLAGS_SEND_CLIENT_ID is set.

+
+ +
+
+ +

◆ ucp_listener_params

+ +
+
+ + + + +
struct ucp_listener_params
+
+

This structure defines parameters for ucp_listener_create, which is used to listen for incoming client/server connections.

+
Examples
ucp_client_server.c.
+
+
+ + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_listener_params_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+ucs_sock_addr_t +sockaddr +

An address in the form of a sockaddr. This field is mandatory for filling (along with its corresponding bit in the field_mask - UCP_LISTENER_PARAM_FIELD_SOCK_ADDR). The ucp_listener_create routine will return with an error if sockaddr is not specified.

+
+ucp_listener_accept_handler_t +accept_handler +

Handler to endpoint creation in a client-server connection flow. In order for the callback inside this handler to be invoked, the UCP_LISTENER_PARAM_FIELD_ACCEPT_HANDLER needs to be set in the field_mask.

+
+ucp_listener_conn_handler_t +conn_handler +

Handler of an incoming connection request in a client-server connection flow. In order for the callback inside this handler to be invoked, the UCP_LISTENER_PARAM_FIELD_CONN_HANDLER needs to be set in the field_mask.

Note
User is expected to call ucp_ep_create with set UCP_EP_PARAM_FIELD_CONN_REQUEST flag to ucp_ep_params_t::field_mask and ucp_ep_params_t::conn_request in order to be able to receive communications.
+
+ +
+
+ +

◆ ucp_am_handler_param

+ +
+
+ + + + +
struct ucp_am_handler_param
+
+
Examples
ucp_client_server.c.
+
+
+ + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from ucp_am_handler_param_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+unsigned +id +

Active Message id.

+
+uint32_t +flags +

Handler flags as defined by ucp_am_cb_flags.

+
+ucp_am_recv_callback_t +cb +

Active Message callback. To clear the already set callback, this value should be set to NULL.

+
+void * +arg +

Active Message argument, which will be passed in to every invocation of ucp_am_recv_callback_t function as the arg argument.

+
+ +
+
+ +

◆ ucp_am_recv_param

+ +
+
+ + + + +
struct ucp_am_recv_param
+
+
Examples
ucp_client_server.c.
+
+
+ + + + + + + +
Data Fields
+uint64_t +recv_attr +

Mask of valid fields in this structure and receive operation flags, using bits from ucp_am_recv_attr_t. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+ucp_ep_h +reply_ep +

Endpoint, which can be used for the reply to this message.

+
+ +
+
+ +

◆ ucp_listener_accept_handler

+ +
+
+ + + + +
struct ucp_listener_accept_handler
+
+ + + + + + + + +
Data Fields
+ucp_listener_accept_callback_t +cb +

Endpoint creation callback

+
+void * +arg +

User defined argument for the callback

+
+ +
+
+ +

◆ ucp_listener_conn_handler

+ +
+
+ + + + +
struct ucp_listener_conn_handler
+
+

This structure is used for handling an incoming connection request on the listener. Setting this type of handler allows creating an endpoint on any other worker and not limited to the worker on which the listener was created.

Note
    +
  • Other than communication progress routines, it is allowed to call all other communication routines from the callback in the struct.
  • +
  • The callback is thread safe with respect to the worker it is invoked on.
  • +
  • It is the user's responsibility to avoid potential dead lock accessing different worker.
  • +
+
+
+ + + + + + + +
Data Fields
+ucp_listener_conn_callback_t +cb +

Connection request callback

+
+void * +arg +

User defined argument for the callback

+
+ +
+
+

Typedef Documentation

+ +

◆ ucp_worker_attr_t

+ +
+
+ + + + +
typedef struct ucp_worker_attr ucp_worker_attr_t
+
+

The structure defines the attributes which characterize the particular worker.

+ +
+
+ +

◆ ucp_worker_params_t

+ +
+
+ + + + +
typedef struct ucp_worker_params ucp_worker_params_t
+
+

The structure defines the parameters that are used for the UCP worker tuning during the UCP worker creation.

+ +
+
+ +

◆ ucp_worker_address_attr_t

+ +
+
+

The structure defines the attributes of the particular worker address.

+ +
+
+ +

◆ ucp_listener_attr_t

+ +
+
+ + + + +
typedef struct ucp_listener_attr ucp_listener_attr_t
+
+

The structure defines the attributes which characterize the particular listener.

+ +
+
+ +

◆ ucp_conn_request_attr_t

+ +
+
+

The structure defines the attributes that characterize the particular connection request received on the server side.

+ +
+
+ +

◆ ucp_listener_params_t

+ +
+
+ + + + +
typedef struct ucp_listener_params ucp_listener_params_t
+
+

This structure defines parameters for ucp_listener_create, which is used to listen for incoming client/server connections.

+ +
+
+ +

◆ ucp_am_handler_param_t

+ +
+
+ + + + +
typedef struct ucp_am_handler_param ucp_am_handler_param_t
+
+ +
+
+ +

◆ ucp_listener_accept_handler_t

+ + + +

◆ ucp_am_recv_param_t

+ +
+
+ + + + +
typedef struct ucp_am_recv_param ucp_am_recv_param_t
+
+ +
+
+ +

◆ ucp_address_t

+ +
+
+ + + + +
typedef struct ucp_address ucp_address_t
+
+

The address handle is an opaque object that is used as an identifier for a worker instance.

+ +
+
+ +

◆ ucp_listener_h

+ +
+
+ + + + +
typedef struct ucp_listener* ucp_listener_h
+
+

The listener handle is an opaque object that is used for listening on a specific address and accepting connections from clients.

+ +
+
+ +

◆ ucp_worker_h

+ +
+
+ + + + +
typedef struct ucp_worker* ucp_worker_h
+
+

UCP worker is an opaque object representing the communication context. The worker represents an instance of a local communication resource and the progress engine associated with it. The progress engine is a construct that is responsible for asynchronous and independent progress of communication directives. The progress engine could be implemented in hardware or software. The worker object abstracts an instance of network resources such as a host channel adapter port, network interface, or multiple resources such as multiple network interfaces or communication ports. It could also represent virtual communication resources that are defined across multiple devices. Although the worker can represent multiple network resources, it is associated with a single UCX application context. All communication functions require a context to perform the operation on the dedicated hardware resource(s) and an endpoint to address the destination.

+
Note
Worker are parallel "threading points" that an upper layer may use to optimize concurrent communications.
+ +
+
+ +

◆ ucp_listener_accept_callback_t

+ +
+
+ + + + +
typedef void(* ucp_listener_accept_callback_t) (ucp_ep_h ep, void *arg)
+
+

This callback routine is invoked on the server side upon creating a connection to a remote client. The user can pass an argument to this callback. The user is responsible for releasing the ep handle using the ucp_ep_destroy() routine.

+
Parameters
+ + + +
[in]epHandle to a newly created endpoint which is connected to the remote peer which has initiated the connection.
[in]argUser's argument for the callback.
+
+
+ +
+
+ +

◆ ucp_listener_conn_callback_t

+ +
+
+ + + + +
typedef void(* ucp_listener_conn_callback_t) (ucp_conn_request_h conn_request, void *arg)
+
+

This callback routine is invoked on the server side to handle incoming connections from remote clients. The user can pass an argument to this callback. The conn_request handle has to be released, either by ucp_ep_create or ucp_listener_reject routine.

+
Parameters
+ + + +
[in]conn_requestConnection request handle.
[in]argUser's argument for the callback.
+
+
+ +
+
+ +

◆ ucp_listener_conn_handler_t

+ +
+
+

This structure is used for handling an incoming connection request on the listener. Setting this type of handler allows creating an endpoint on any other worker and not limited to the worker on which the listener was created.

Note
    +
  • Other than communication progress routines, it is allowed to call all other communication routines from the callback in the struct.
  • +
  • The callback is thread safe with respect to the worker it is invoked on.
  • +
  • It is the user's responsibility to avoid potential dead lock accessing different worker.
  • +
+
+ +
+
+ +

◆ ucp_wakeup_event_t

+ +
+
+ + + + +
typedef enum ucp_wakeup_event_types ucp_wakeup_event_t
+
+

The enumeration allows specifying which events are expected on wakeup. Empty events are possible for any type of event except for UCP_WAKEUP_TX and UCP_WAKEUP_RX.

+
Note
Send completions are reported by POLLIN-like events (see poll man page). Since outgoing operations can be initiated at any time, UCP does not generate POLLOUT-like events, although it must be noted that outgoing operations may be queued depending upon resource availability.
+ +
+
+

Enumeration Type Documentation

+ +

◆ ucp_worker_params_field

+ +
+
+ + + + +
enum ucp_worker_params_field
+
+

The enumeration allows specifying which fields in ucp_worker_params_t are present. It is used to enable backward compatibility support.

+ + + + + + + + + + +
Enumerator
UCP_WORKER_PARAM_FIELD_THREAD_MODE 

UCP thread mode

+
UCP_WORKER_PARAM_FIELD_CPU_MASK 

Worker's CPU bitmap

+
UCP_WORKER_PARAM_FIELD_EVENTS 

Worker's events bitmap

+
UCP_WORKER_PARAM_FIELD_USER_DATA 

User data

+
UCP_WORKER_PARAM_FIELD_EVENT_FD 

External event file descriptor

+
UCP_WORKER_PARAM_FIELD_FLAGS 

Worker flags

+
UCP_WORKER_PARAM_FIELD_NAME 

Worker name

+
UCP_WORKER_PARAM_FIELD_AM_ALIGNMENT 

Alignment of active messages on the receiver

+
UCP_WORKER_PARAM_FIELD_CLIENT_ID 

Client id

+
+ +
+
+ +

◆ ucp_worker_flags_t

+ +
+
+ + + + +
enum ucp_worker_flags_t
+
+

This enumeration allows specifying flags for ucp_worker_params_t::flags, which is used as parameter for ucp_worker_create.

+ + +
Enumerator
UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK 

Do not print warnings about request leaks

+
+ +
+
+ +

◆ ucp_listener_params_field

+ +
+
+ + + + +
enum ucp_listener_params_field
+
+

The enumeration allows specifying which fields in ucp_listener_params_t are present. It is used to enable backward compatibility support.

+ + + + +
Enumerator
UCP_LISTENER_PARAM_FIELD_SOCK_ADDR 

Sock address and length.

+
UCP_LISTENER_PARAM_FIELD_ACCEPT_HANDLER 

User's callback and argument for handling the creation of an endpoint. User's callback and argument for handling the incoming connection request.

+
UCP_LISTENER_PARAM_FIELD_CONN_HANDLER 
+ +
+
+ +

◆ ucp_worker_address_flags_t

+ +
+
+ + + + +
enum ucp_worker_address_flags_t
+
+

The enumeration list describes possible UCP worker address flags, indicating what needs to be included to the worker address returned by ucp_worker_query() routine.

+ + +
Enumerator
UCP_WORKER_ADDRESS_FLAG_NET_ONLY 

Pack addresses of network devices only. Using such shortened addresses for the remote node peers will reduce the amount of wireup data being exchanged during connection establishment phase.

+
+ +
+
+ +

◆ ucp_worker_attr_field

+ +
+
+ + + + +
enum ucp_worker_attr_field
+
+

The enumeration allows specifying which fields in ucp_worker_attr_t are present. It is used to enable backward compatibility support.

+ + + + + + + +
Enumerator
UCP_WORKER_ATTR_FIELD_THREAD_MODE 

UCP thread mode

+
UCP_WORKER_ATTR_FIELD_ADDRESS 

UCP address

+
UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS 

UCP address flags

+
UCP_WORKER_ATTR_FIELD_MAX_AM_HEADER 

Maximum header size used by UCP AM API

+
UCP_WORKER_ATTR_FIELD_NAME 

UCP worker name

+
UCP_WORKER_ATTR_FIELD_MAX_INFO_STRING 

Maximum size of info string

+
+ +
+
+ +

◆ ucp_worker_address_attr_field

+ +
+
+

The enumeration allows specifying which fields in ucp_worker_address_attr_t are present. It is used to enable backward compatibility support.

+ + +
Enumerator
UCP_WORKER_ADDRESS_ATTR_FIELD_UID 

Unique id of the worker

+
+ +
+
+ +

◆ ucp_listener_attr_field

+ +
+
+ + + + +
enum ucp_listener_attr_field
+
+

The enumeration allows specifying which fields in ucp_listener_attr_t are present. It is used to enable backward compatibility support.

+ + +
Enumerator
UCP_LISTENER_ATTR_FIELD_SOCKADDR 

Sockaddr used for listening

+
+ +
+
+ +

◆ ucp_conn_request_attr_field

+ +
+
+ + + + +
enum ucp_conn_request_attr_field
+
+

The enumeration allows specifying which fields in ucp_conn_request_attr_t are present. It is used to enable backward compatibility support.

+ + + +
Enumerator
UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ADDR 

Client's address

+
UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ID 

Remote client id

+
+ +
+
+ +

◆ ucp_am_cb_flags

+ +
+
+ + + + +
enum ucp_am_cb_flags
+
+

Flags that indicate how to handle UCP Active Messages.

+ + + +
Enumerator
UCP_AM_FLAG_WHOLE_MSG 

Indicates that the entire message will be handled in one callback.

+
UCP_AM_FLAG_PERSISTENT_DATA 

Guarantees that the specified ucp_am_recv_callback_t callback, will always be called with UCP_AM_RECV_ATTR_FLAG_DATA flag set, so the data will be accessible outside the callback, until ucp_am_data_release is called.

+
+ +
+
+ +

◆ ucp_send_am_flags

+ +
+
+ + + + +
enum ucp_send_am_flags
+
+

Flags dictate the behavior of ucp_am_send_nb and ucp_am_send_nbx routines.

+ + + + + +
Enumerator
UCP_AM_SEND_FLAG_REPLY 

Force relevant reply endpoint to be passed to the data callback on the receiver.

+
UCP_AM_SEND_FLAG_EAGER 

Force UCP to use only eager protocol for AM sends.

+
UCP_AM_SEND_FLAG_RNDV 

Force UCP to use only rendezvous protocol for AM sends.

+
UCP_AM_SEND_REPLY 

Backward compatibility.

+
+ +
+
+ +

◆ ucp_wakeup_event_types

+ +
+
+ + + + +
enum ucp_wakeup_event_types
+
+

The enumeration allows specifying which events are expected on wakeup. Empty events are possible for any type of event except for UCP_WAKEUP_TX and UCP_WAKEUP_RX.

+
Note
Send completions are reported by POLLIN-like events (see poll man page). Since outgoing operations can be initiated at any time, UCP does not generate POLLOUT-like events, although it must be noted that outgoing operations may be queued depending upon resource availability.
+ + + + + + + + +
Enumerator
UCP_WAKEUP_RMA 

Remote memory access send completion

+
UCP_WAKEUP_AMO 

Atomic operation send completion

+
UCP_WAKEUP_TAG_SEND 

Tag send completion
+

+
UCP_WAKEUP_TAG_RECV 

Tag receive completion

+
UCP_WAKEUP_TX 

This event type will generate an event on completion of any outgoing operation (complete or partial, according to the underlying protocol) for any type of transfer (send, atomic, or RMA).

+
UCP_WAKEUP_RX 

This event type will generate an event on completion of any receive operation (complete or partial, according to the underlying protocol).

+
UCP_WAKEUP_EDGE 

Use edge-triggered wakeup. The event file descriptor will be signaled only for new events, rather than existing ones.

+
+ +
+
+

Function Documentation

+ +

◆ ucp_worker_create()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_worker_create (ucp_context_h context,
const ucp_worker_params_tparams,
ucp_worker_hworker_p 
)
+
+

This routine allocates and initializes a worker object. Each worker is associated with one and only one application context. In the same time, an application context can create multiple workers in order to enable concurrent access to communication resources. For example, application can allocate a dedicated worker for each application thread, where every worker can be progressed independently of others.

+
Note
The worker object is allocated within context of the calling thread
+
Parameters
+ + + + +
[in]contextHandle to UCP application context.
[in]paramsUser defined ucp_worker_params_t configurations for the UCP worker.
[out]worker_pA pointer to the worker object allocated by the UCP library
+
+
+
Returns
Error code as defined by ucs_status_t
+
Examples
ucp_client_server.c, and ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_worker_destroy()

+ +
+
+ + + + + + + + +
void ucp_worker_destroy (ucp_worker_h worker)
+
+

This routine releases the resources associated with a UCP worker.

+
Warning
Once the UCP worker destroy the worker handle cannot be used with any UCP routine.
+

The destroy process releases and shuts down all resources associated with the worker.

+
Parameters
+ + +
[in]workerWorker object to destroy.
+
+
+
Examples
ucp_client_server.c, and ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_worker_query()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_worker_query (ucp_worker_h worker,
ucp_worker_attr_tattr 
)
+
+

This routine fetches information about the worker.

+
Parameters
+ + + +
[in]workerWorker object to query.
[out]attrFilled with attributes of worker.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_worker_print_info()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ucp_worker_print_info (ucp_worker_h worker,
FILE * stream 
)
+
+

This routine prints information about the protocols being used, thresholds, UCT transport methods, and other useful information associated with the worker.

+
Parameters
+ + + +
[in]workerWorker object to print information for.
[in]streamOutput stream to print the information to.
+
+
+ +
+
+ +

◆ ucp_worker_get_address()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_worker_get_address (ucp_worker_h worker,
ucp_address_t ** address_p,
size_t * address_length_p 
)
+
+

This routine returns the address of the worker object. This address can be passed to remote instances of the UCP library in order to connect to this worker. The memory for the address handle is allocated by this function, and must be released by using ucp_worker_release_address() routine.

+
Parameters
+ + + + +
[in]workerWorker object whose address to return.
[out]address_pA pointer to the worker address.
[out]address_length_pThe size in bytes of the address.
+
+
+
Returns
Error code as defined by ucs_status_t
+
Examples
ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_worker_release_address()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ucp_worker_release_address (ucp_worker_h worker,
ucp_address_taddress 
)
+
+

This routine release an address handle associated within the worker object.

+
Warning
Once the address released the address handle cannot be used with any UCP routine.
+
Parameters
+ + + +
[in]workerWorker object that is associated with the address object.
[in]addressAddress to release; the address object has to be allocated using ucp_worker_get_address() routine.
+
+
+
Examples
ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_worker_address_query()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_worker_address_query (ucp_address_taddress,
ucp_worker_address_attr_tattr 
)
+
+

This routine fetches information about the worker address. The address can be either of local or remote worker.

+
Parameters
+ + + +
[in]addressWorker address to query.
[out]attrFilled with attributes of the worker address.
+
+
+
Returns
Error code as defined by ucs_status_t.
+ +
+
+ +

◆ ucp_worker_progress()

+ +
+
+ + + + + + + + +
unsigned ucp_worker_progress (ucp_worker_h worker)
+
+

This routine explicitly progresses all communication operations on a worker.

+
Note
    +
  • Typically, request wait and test routines call this routine to progress any outstanding operations.
  • +
  • Transport layers, implementing asynchronous progress using threads, require callbacks and other user code to be thread safe.
  • +
  • The state of communication can be advanced (progressed) by blocking routines. Nevertheless, the non-blocking routines can not be used for communication progress.
  • +
+
+
Parameters
+ + +
[in]workerWorker to progress.
+
+
+
Returns
Non-zero if any communication was progressed, zero otherwise.
+
Examples
ucp_client_server.c, and ucp_hello_world.c.
+
+ +
+
+ +

◆ ucp_stream_worker_poll()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ssize_t ucp_stream_worker_poll (ucp_worker_h worker,
ucp_stream_poll_ep_tpoll_eps,
size_t max_eps,
unsigned flags 
)
+
+

This non-blocking routine returns endpoints on a worker which are ready to consume streaming data. The ready endpoints are placed in poll_eps array, and the function return value indicates how many are there.

+
Parameters
+ + + + + +
[in]workerWorker to poll.
[out]poll_epsPointer to array of endpoints, should be allocated by user.
[in]max_epsMaximum number of endpoints that should be filled in poll_eps.
[in]flagsReserved for future use.
+
+
+
Returns
Negative value indicates an error according to ucs_status_t. On success, non-negative value (less or equal max_eps) indicates actual number of endpoints filled in poll_eps array.
+ +
+
+ +

◆ ucp_listener_create()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_listener_create (ucp_worker_h worker,
const ucp_listener_params_tparams,
ucp_listener_hlistener_p 
)
+
+

This routine creates a new listener object that is bound to a specific local address. The listener will listen to incoming connection requests. After receiving a request from the remote peer, an endpoint to this peer will be created - either right away or by calling ucp_ep_create, as specified by the callback type in ucp_listener_params_t. The user's callback will be invoked once the endpoint is created.

+
Parameters
+ + + + +
[in]workerWorker object to create the listener on.
[in]paramsUser defined ucp_listener_params_t configurations for the ucp_listener_h.
[out]listener_pA handle to the created listener, can be released by calling ucp_listener_destroy
+
+
+
Returns
Error code as defined by ucs_status_t
+
Note
ucp_listener_params_t::conn_handler or ucp_listener_params_t::accept_handler must be provided to be able to handle incoming connections.
+
Examples
ucp_client_server.c.
+
+ +
+
+ +

◆ ucp_listener_destroy()

+ +
+
+ + + + + + + + +
void ucp_listener_destroy (ucp_listener_h listener)
+
+

This routine unbinds the worker from the given handle and stops listening for incoming connection requests on it.

+
Parameters
+ + +
[in]listenerA handle to the listener to stop listening on.
+
+
+
Examples
ucp_client_server.c.
+
+ +
+
+ +

◆ ucp_listener_query()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_listener_query (ucp_listener_h listener,
ucp_listener_attr_tattr 
)
+
+

This routine fetches information about the listener.

+
Parameters
+ + + +
[in]listenerlistener object to query.
[out]attrFilled with attributes of the listener.
+
+
+
Returns
Error code as defined by ucs_status_t
+
Examples
ucp_client_server.c.
+
+ +
+
+ +

◆ ucp_conn_request_query()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_conn_request_query (ucp_conn_request_h conn_request,
ucp_conn_request_attr_tattr 
)
+
+

This routine fetches information about the connection request.

+
Parameters
+ + + +
[in]conn_requestconnection request object to query.
[out]attrFilled with attributes of the connection request.
+
+
+
Returns
Error code as defined by ucs_status_t
+
Examples
ucp_client_server.c.
+
+ +
+
+ +

◆ ucp_listener_reject()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_listener_reject (ucp_listener_h listener,
ucp_conn_request_h conn_request 
)
+
+

Reject the incoming connection request and release associated resources. If the remote initiator endpoint has set an ucp_ep_params_t::err_handler, it will be invoked with status UCS_ERR_REJECTED.

+
Parameters
+ + + +
[in]listenerHandle to the listener on which the connection request was received.
[in]conn_requestHandle to the connection request to reject.
+
+
+
Returns
Error code as defined by ucs_status_t
+
Examples
ucp_client_server.c.
+
+ +
+
+ +

◆ ucp_worker_set_am_handler()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_worker_set_am_handler (ucp_worker_h worker,
uint16_t id,
ucp_am_callback_t cb,
void * arg,
uint32_t flags 
)
+
+

This routine installs a user defined callback to handle incoming Active Messages with a specific id. This callback is called whenever an Active Message that was sent from the remote peer by ucp_am_send_nb is received on this worker.

+
Parameters
+ + + + + + +
[in]workerUCP worker on which to set the Active Message handler.
[in]idActive Message id.
[in]cbActive Message callback. NULL to clear.
[in]argActive Message argument, which will be passed in to every invocation of the callback as the arg argument.
[in]flagsDictates how an Active Message is handled on the remote endpoint. Currently only UCP_AM_FLAG_WHOLE_MSG is supported, which indicates the callback will not be invoked until all data has arrived.
+
+
+
Returns
error code if the worker does not support Active Messages or requested callback flags.
+ +
+
+ +

◆ ucp_worker_set_am_recv_handler()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucp_worker_set_am_recv_handler (ucp_worker_h worker,
const ucp_am_handler_param_tparam 
)
+
+

This routine installs a user defined callback to handle incoming Active Messages with a specific id. This callback is called whenever an Active Message that was sent from the remote peer by ucp_am_send_nbx is received on this worker.

+
Warning
Handlers set by this function are not compatible with ucp_am_send_nb routine.
+
Parameters
+ + + +
[in]workerUCP worker on which to set the Active Message handler.
[in]paramActive Message handler parameters, as defined by ucp_am_handler_param_t.
+
+
+
Returns
error code if the worker does not support Active Messages or requested callback flags.
+
Examples
ucp_client_server.c.
+
+ +
+
+ +

◆ ucp_worker_fence()

+ +
+
+ + + + + + + + +
ucs_status_t ucp_worker_fence (ucp_worker_h worker)
+
+

This routine ensures ordering of non-blocking communication operations on the UCP worker. Communication operations issued on the worker prior to this call are guaranteed to be completed before any subsequent communication operations to the same worker which follow the call to fence.

+
Note
The primary difference between ucp_worker_fence() and the ucp_worker_flush_nb() is the fact the fence routine does not guarantee completion of the operations on the call return but only ensures the order between communication operations. The flush operation on return guarantees that all operations are completed and corresponding memory regions were updated.
+
Parameters
+ + +
[in]workerUCP worker.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ ucp_worker_flush_nb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_worker_flush_nb (ucp_worker_h worker,
unsigned flags,
ucp_send_callback_t cb 
)
+
+

This routine flushes all outstanding AMO and RMA communications on the worker. All the AMO and RMA operations issued on the worker prior to this call are completed both at the origin and at the target when this call returns.

+
Note
For description of the differences between flush and fence operations please see ucp_worker_fence()
+
Parameters
+ + + + +
[in]workerUCP worker.
[in]flagsFlags for flush operation. Reserved for future use.
[in]cbCallback which will be called when the flush operation completes.
+
+
+
Returns
NULL - The flush operation was completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The flush operation failed.
+
+otherwise - Flush operation was scheduled and can be completed in any point in time. The request handle is returned to the application in order to track progress. The application is responsible for releasing the handle using ucp_request_free() routine.
+ +
+
+ +

◆ ucp_worker_flush_nbx()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t ucp_worker_flush_nbx (ucp_worker_h worker,
const ucp_request_param_tparam 
)
+
+

This routine flushes all outstanding AMO and RMA communications on the worker. All the AMO and RMA operations issued on the worker prior to this call are completed both at the origin and at the target when this call returns.

+
Note
For description of the differences between flush and fence operations please see ucp_worker_fence()
+
Parameters
+ + + +
[in]workerUCP worker.
[in]paramOperation parameters, see ucp_request_param_t
+
+
+
Returns
NULL - The flush operation was completed immediately.
+
+UCS_PTR_IS_ERR(_ptr) - The flush operation failed.
+
+otherwise - Flush operation was scheduled and can be completed in any point in time. The request handle is returned to the application in order to track progress.
+ +
+
+ +

◆ ucp_worker_flush()

+ +
+
+ + + + + + + + +
ucs_status_t ucp_worker_flush (ucp_worker_h worker)
+
+
Deprecated:
Replaced by ucp_worker_flush_nb. The following example implements the same functionality using ucp_worker_flush_nb :
+
ucs_status_t worker_flush(ucp_worker_h worker)
+
{
+
void *request = ucp_worker_flush_nb(worker);
+
if (request == NULL) {
+
return UCS_OK;
+
} else if (UCS_PTR_IS_ERR(request)) {
+
return UCS_PTR_STATUS(request);
+
} else {
+
ucs_status_t status;
+
do {
+ +
status = ucp_request_check_status(request);
+
} while (status == UCS_INPROGRESS);
+ +
return status;
+
}
+
}
+

This routine flushes all outstanding AMO and RMA communications on the worker. All the AMO and RMA operations issued on the worker prior to this call are completed both at the origin and at the target when this call returns.

+
Note
For description of the differences between flush and fence operations please see ucp_worker_fence()
+
Parameters
+ + +
[in]workerUCP worker.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+
+
+
ucs_status_ptr_t ucp_worker_flush_nb(ucp_worker_h worker, unsigned flags, ucp_send_callback_t cb)
Flush outstanding AMO and RMA operations on the worker.
+
@ UCS_OK
Definition: status.h:47
+
struct ucp_worker * ucp_worker_h
UCP Worker.
Definition: ucp_def.h:246
+
unsigned ucp_worker_progress(ucp_worker_h worker)
Progress all communications on a specific worker.
+
void ucp_request_release(void *request)
+
@ UCS_INPROGRESS
Definition: status.h:50
+
ucs_status_t
Status codes.
Definition: status.h:45
+
ucs_status_t ucp_request_check_status(void *request)
Check the status of non-blocking request.
+ + + + diff --git a/api/v1.13/html/group___u_c_p___w_o_r_k_e_r.js b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r.js new file mode 100644 index 00000000000..9bc8f8c109c --- /dev/null +++ b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r.js @@ -0,0 +1,158 @@ +var group___u_c_p___w_o_r_k_e_r = +[ + [ "ucp_worker_attr", "group___u_c_p___w_o_r_k_e_r.html#structucp__worker__attr", [ + [ "field_mask", "group___u_c_p___w_o_r_k_e_r.html#af0f34f82bba00221aa22ec54fa5efc0f", null ], + [ "thread_mode", "group___u_c_p___w_o_r_k_e_r.html#abf2b8b0c74946fbd1791a21369236678", null ], + [ "address_flags", "group___u_c_p___w_o_r_k_e_r.html#a6c288e285b8c870ec576f1a939519799", null ], + [ "address", "group___u_c_p___w_o_r_k_e_r.html#a0863e78ee73ef351311c54d95b6c8fa5", null ], + [ "address_length", "group___u_c_p___w_o_r_k_e_r.html#a7b0ad8e7e5c8d4c4c4931e769ca0fe6f", null ], + [ "max_am_header", "group___u_c_p___w_o_r_k_e_r.html#a7678aa8d4fb18b0d6e2a0276b03e2cb4", null ], + [ "name", "group___u_c_p___w_o_r_k_e_r.html#a3123aa88fefa33c972da4c2bda3bebee", null ], + [ "max_debug_string", "group___u_c_p___w_o_r_k_e_r.html#a79406f6545efcaefffaa34ca99bfdc04", null ] + ] ], + [ "ucp_worker_params", "group___u_c_p___w_o_r_k_e_r.html#structucp__worker__params", [ + [ "field_mask", "group___u_c_p___w_o_r_k_e_r.html#a33863ec848e47f79d2e14181fe2aa921", null ], + [ "thread_mode", "group___u_c_p___w_o_r_k_e_r.html#a790642ea681ddd2b0935ad62f70e4ef1", null ], + [ "cpu_mask", "group___u_c_p___w_o_r_k_e_r.html#afc8f70f3ff12f36ea34ad40ff12de61e", null ], + [ "events", "group___u_c_p___w_o_r_k_e_r.html#a89b9add865222b57caee81874704ba89", null ], + [ "user_data", "group___u_c_p___w_o_r_k_e_r.html#a2c277d353e134219265887c4f5339159", null ], + [ "event_fd", "group___u_c_p___w_o_r_k_e_r.html#aaeaf0e7ec196ed72ee2b52183f8d1d7d", null ], + [ "flags", "group___u_c_p___w_o_r_k_e_r.html#adbd9725024f5138a693196f11dab124c", null ], + [ "name", "group___u_c_p___w_o_r_k_e_r.html#a7ea9a6700ec1393aaa95c4b1e1df04e1", null ], + [ "am_alignment", "group___u_c_p___w_o_r_k_e_r.html#aab378fafe0b474381edbe25023910eb4", null ], + [ "client_id", "group___u_c_p___w_o_r_k_e_r.html#a41afbbfba922c2bdc4f35e2c4ecfcaa4", null ] + ] ], + [ "ucp_worker_address_attr", "group___u_c_p___w_o_r_k_e_r.html#structucp__worker__address__attr", [ + [ "field_mask", "group___u_c_p___w_o_r_k_e_r.html#a596a9aee8bfbd1c232c6d63549c75f08", null ], + [ "worker_uid", "group___u_c_p___w_o_r_k_e_r.html#a682d3477655dc66072e03530d95239f2", null ] + ] ], + [ "ucp_listener_attr", "group___u_c_p___w_o_r_k_e_r.html#structucp__listener__attr", [ + [ "field_mask", "group___u_c_p___w_o_r_k_e_r.html#aaaa6353f56fd585d7c83c363380703f4", null ], + [ "sockaddr", "group___u_c_p___w_o_r_k_e_r.html#affcc213cd4305412937974eefb95bc32", null ] + ] ], + [ "ucp_conn_request_attr", "group___u_c_p___w_o_r_k_e_r.html#structucp__conn__request__attr", [ + [ "field_mask", "group___u_c_p___w_o_r_k_e_r.html#ad6a97d8268992c34631ac773a6c2148b", null ], + [ "client_address", "group___u_c_p___w_o_r_k_e_r.html#a8ca1dc70d395335dc9f8fe20e9de1a0d", null ], + [ "client_id", "group___u_c_p___w_o_r_k_e_r.html#aff4d88d6fd3b2613e058bbcf43d0815b", null ] + ] ], + [ "ucp_listener_params", "group___u_c_p___w_o_r_k_e_r.html#structucp__listener__params", [ + [ "field_mask", "group___u_c_p___w_o_r_k_e_r.html#afb01e3b0d3c0a04cef0cde4f849fcc1d", null ], + [ "sockaddr", "group___u_c_p___w_o_r_k_e_r.html#a88be57709393e7bf27d10d8a5238b544", null ], + [ "accept_handler", "group___u_c_p___w_o_r_k_e_r.html#a17487f0e8e3102519d7b512c77efdb1f", null ], + [ "conn_handler", "group___u_c_p___w_o_r_k_e_r.html#a0694aacde5fff09dc75e556e8116098a", null ] + ] ], + [ "ucp_am_handler_param", "group___u_c_p___w_o_r_k_e_r.html#structucp__am__handler__param", [ + [ "field_mask", "group___u_c_p___w_o_r_k_e_r.html#a8f31d53e411769961286865cb9332f6f", null ], + [ "id", "group___u_c_p___w_o_r_k_e_r.html#ad0c6157f387e18cb4d92a37a638274af", null ], + [ "flags", "group___u_c_p___w_o_r_k_e_r.html#a061115b2dc01fb803ae8082bd41f8730", null ], + [ "cb", "group___u_c_p___w_o_r_k_e_r.html#acd54cdefba3f3f5e145dfe2360485659", null ], + [ "arg", "group___u_c_p___w_o_r_k_e_r.html#ae1670a4926d8528fb1ec1cd3f461f13a", null ] + ] ], + [ "ucp_am_recv_param", "group___u_c_p___w_o_r_k_e_r.html#structucp__am__recv__param", [ + [ "recv_attr", "group___u_c_p___w_o_r_k_e_r.html#a53a8777a31faf7e65289bcc1d710fb19", null ], + [ "reply_ep", "group___u_c_p___w_o_r_k_e_r.html#a5e4629812b7b7737beb6f7f7332b7d7f", null ] + ] ], + [ "ucp_listener_accept_handler", "group___u_c_p___w_o_r_k_e_r.html#structucp__listener__accept__handler", [ + [ "cb", "group___u_c_p___w_o_r_k_e_r.html#a3017ef77fb807d87b60667df14f6c0b0", null ], + [ "arg", "group___u_c_p___w_o_r_k_e_r.html#a05ba12e5d6e6c2b3caef35975644ce85", null ] + ] ], + [ "ucp_listener_conn_handler", "group___u_c_p___w_o_r_k_e_r.html#structucp__listener__conn__handler", [ + [ "cb", "group___u_c_p___w_o_r_k_e_r.html#a55ac5ba9e07ca64d55e22730038a4018", null ], + [ "arg", "group___u_c_p___w_o_r_k_e_r.html#ae84882c5fbe486b118460662afe395ec", null ] + ] ], + [ "ucp_worker_attr_t", "group___u_c_p___w_o_r_k_e_r.html#gad29a316a83f74775060023852aeec763", null ], + [ "ucp_worker_params_t", "group___u_c_p___w_o_r_k_e_r.html#ga06d7269d208e74bbf09fda6b4d3a7109", null ], + [ "ucp_worker_address_attr_t", "group___u_c_p___w_o_r_k_e_r.html#ga70e28a0293df12979a6cedd7878ac8d3", null ], + [ "ucp_listener_attr_t", "group___u_c_p___w_o_r_k_e_r.html#gaa8d7abc94888383e95d19067a78ecb1e", null ], + [ "ucp_conn_request_attr_t", "group___u_c_p___w_o_r_k_e_r.html#ga001f8208d0682245878457d65f629091", null ], + [ "ucp_listener_params_t", "group___u_c_p___w_o_r_k_e_r.html#ga440ab104a3ed59271948a28d6eb1f224", null ], + [ "ucp_am_handler_param_t", "group___u_c_p___w_o_r_k_e_r.html#ga1e2efca405d525b094ad49e38d80269b", null ], + [ "ucp_listener_accept_handler_t", "group___u_c_p___w_o_r_k_e_r.html#ga6b4950841b36dfddd268fcb2cce2a52c", null ], + [ "ucp_am_recv_param_t", "group___u_c_p___w_o_r_k_e_r.html#ga435d870d0afb413f0bc780809f1db2ef", null ], + [ "ucp_address_t", "group___u_c_p___w_o_r_k_e_r.html#ga7d24d2759c1375bf4d2d639e3b701956", null ], + [ "ucp_listener_h", "group___u_c_p___w_o_r_k_e_r.html#gac0496f7102c43cf339cc760b9e5724a2", null ], + [ "ucp_worker_h", "group___u_c_p___w_o_r_k_e_r.html#ga5fd52efba31d20fc52055bb19270729f", null ], + [ "ucp_listener_accept_callback_t", "group___u_c_p___w_o_r_k_e_r.html#ga9a1d61f9a3c1fd97c008dd77ae86c02c", null ], + [ "ucp_listener_conn_callback_t", "group___u_c_p___w_o_r_k_e_r.html#ga389a8cfa253f87eb9d8cc7b8d4747c82", null ], + [ "ucp_listener_conn_handler_t", "group___u_c_p___w_o_r_k_e_r.html#gaec337bd9fcab44386c01f76699010b63", null ], + [ "ucp_wakeup_event_t", "group___u_c_p___w_o_r_k_e_r.html#ga10aa3ad0bd9107c6bd4161c07eb50fe3", null ], + [ "ucp_worker_params_field", "group___u_c_p___w_o_r_k_e_r.html#gadbfc8fd5eaa65351d1617f2f158b80f6", [ + [ "UCP_WORKER_PARAM_FIELD_THREAD_MODE", "group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a651598f7340d42cafb0876d918c83ec8", null ], + [ "UCP_WORKER_PARAM_FIELD_CPU_MASK", "group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a0ba499461804b26850d6a530609e228d", null ], + [ "UCP_WORKER_PARAM_FIELD_EVENTS", "group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6ac756667325d053bd1cc11cccf853b0c9", null ], + [ "UCP_WORKER_PARAM_FIELD_USER_DATA", "group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a1243d403aeceab36eee6d9cb985e8eb0", null ], + [ "UCP_WORKER_PARAM_FIELD_EVENT_FD", "group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6ae743c2d23a0d7b0a9a8c6362a7611139", null ], + [ "UCP_WORKER_PARAM_FIELD_FLAGS", "group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a4a43ec7752c45629a3fc229a31d33617", null ], + [ "UCP_WORKER_PARAM_FIELD_NAME", "group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a57069c65941e47f35bea0478ddf0a829", null ], + [ "UCP_WORKER_PARAM_FIELD_AM_ALIGNMENT", "group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a68376de940e85a5ee4ffa6359c5ee2bc", null ], + [ "UCP_WORKER_PARAM_FIELD_CLIENT_ID", "group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a20b21817e31db3e2ef52b507abbfa0bb", null ] + ] ], + [ "ucp_worker_flags_t", "group___u_c_p___w_o_r_k_e_r.html#ga11a37476d021e1ad36c1b727373212b4", [ + [ "UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK", "group___u_c_p___w_o_r_k_e_r.html#gga11a37476d021e1ad36c1b727373212b4a367a4eddbf55c75a186584fef73a484a", null ] + ] ], + [ "ucp_listener_params_field", "group___u_c_p___w_o_r_k_e_r.html#ga36d95269fcce844261494cbd4f5e26fc", [ + [ "UCP_LISTENER_PARAM_FIELD_SOCK_ADDR", "group___u_c_p___w_o_r_k_e_r.html#gga36d95269fcce844261494cbd4f5e26fca0eed5ab19654fabc0afceb5b439c6f05", null ], + [ "UCP_LISTENER_PARAM_FIELD_ACCEPT_HANDLER", "group___u_c_p___w_o_r_k_e_r.html#gga36d95269fcce844261494cbd4f5e26fca3cdf187536d998c115377f8de396ac66", null ], + [ "UCP_LISTENER_PARAM_FIELD_CONN_HANDLER", "group___u_c_p___w_o_r_k_e_r.html#gga36d95269fcce844261494cbd4f5e26fca6f28cd3c96e0ada4fafc63d6f67e48bc", null ] + ] ], + [ "ucp_worker_address_flags_t", "group___u_c_p___w_o_r_k_e_r.html#gab1ec638cc4a7498a85017d132492d195", [ + [ "UCP_WORKER_ADDRESS_FLAG_NET_ONLY", "group___u_c_p___w_o_r_k_e_r.html#ggab1ec638cc4a7498a85017d132492d195af9fe9ee3edc7fe21c889437941bb4117", null ] + ] ], + [ "ucp_worker_attr_field", "group___u_c_p___w_o_r_k_e_r.html#gacf03ee299a48c2f9c776516cc82c7194", [ + [ "UCP_WORKER_ATTR_FIELD_THREAD_MODE", "group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194a6d3178929ef9e6570999384991fbd42d", null ], + [ "UCP_WORKER_ATTR_FIELD_ADDRESS", "group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194a0dde53e12c0ab222ddcf2a52984fddd2", null ], + [ "UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS", "group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194a9b007ce57d2935817f86b4c4c6aad8c9", null ], + [ "UCP_WORKER_ATTR_FIELD_MAX_AM_HEADER", "group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194a4ad76742671a6282274e48dc904f145e", null ], + [ "UCP_WORKER_ATTR_FIELD_NAME", "group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194a806d5f1afd1e673b78888588b03ae95e", null ], + [ "UCP_WORKER_ATTR_FIELD_MAX_INFO_STRING", "group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194aa92fba4ea095cc171b1153b88684213d", null ] + ] ], + [ "ucp_worker_address_attr_field", "group___u_c_p___w_o_r_k_e_r.html#gaadc74e7e271c4e181263115b08bf71c8", [ + [ "UCP_WORKER_ADDRESS_ATTR_FIELD_UID", "group___u_c_p___w_o_r_k_e_r.html#ggaadc74e7e271c4e181263115b08bf71c8af5d5293830102fa30e1e26cfbdde0772", null ] + ] ], + [ "ucp_listener_attr_field", "group___u_c_p___w_o_r_k_e_r.html#ga54059507b51041359aedffbe75635720", [ + [ "UCP_LISTENER_ATTR_FIELD_SOCKADDR", "group___u_c_p___w_o_r_k_e_r.html#gga54059507b51041359aedffbe75635720a5a58fea3f5a4daa6b055306a6798ec26", null ] + ] ], + [ "ucp_conn_request_attr_field", "group___u_c_p___w_o_r_k_e_r.html#ga31119b42b06b185822699697bd7a1018", [ + [ "UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ADDR", "group___u_c_p___w_o_r_k_e_r.html#gga31119b42b06b185822699697bd7a1018a98d3bca4557571d8ccb56ae2d29b2ad6", null ], + [ "UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ID", "group___u_c_p___w_o_r_k_e_r.html#gga31119b42b06b185822699697bd7a1018a2dbcf2ed5576bf2721ca550d34361f1d", null ] + ] ], + [ "ucp_am_cb_flags", "group___u_c_p___w_o_r_k_e_r.html#ga41d5b7b408c7546c7cb8b38d72f8653f", [ + [ "UCP_AM_FLAG_WHOLE_MSG", "group___u_c_p___w_o_r_k_e_r.html#gga41d5b7b408c7546c7cb8b38d72f8653fab8e0a400e8017b571682b853c8ff0559", null ], + [ "UCP_AM_FLAG_PERSISTENT_DATA", "group___u_c_p___w_o_r_k_e_r.html#gga41d5b7b408c7546c7cb8b38d72f8653faa15bbd02f0d9e0afd2e979b89669fbe2", null ] + ] ], + [ "ucp_send_am_flags", "group___u_c_p___w_o_r_k_e_r.html#ga583228e89cd5c882025ed04c76106aa6", [ + [ "UCP_AM_SEND_FLAG_REPLY", "group___u_c_p___w_o_r_k_e_r.html#gga583228e89cd5c882025ed04c76106aa6ace99c327865c6f2294f800099d467b16", null ], + [ "UCP_AM_SEND_FLAG_EAGER", "group___u_c_p___w_o_r_k_e_r.html#gga583228e89cd5c882025ed04c76106aa6af29f97eb0938984f627be7989c35079c", null ], + [ "UCP_AM_SEND_FLAG_RNDV", "group___u_c_p___w_o_r_k_e_r.html#gga583228e89cd5c882025ed04c76106aa6a3174d72844f5488bee9e0b35c75f68e5", null ], + [ "UCP_AM_SEND_REPLY", "group___u_c_p___w_o_r_k_e_r.html#gga583228e89cd5c882025ed04c76106aa6a1794c5ef851a147688d783532f1ec7bb", null ] + ] ], + [ "ucp_wakeup_event_types", "group___u_c_p___w_o_r_k_e_r.html#ga66be8946dcd33051d40ceca65ba28e22", [ + [ "UCP_WAKEUP_RMA", "group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a80fc6d63077023d905d9f3adfb37c50a", null ], + [ "UCP_WAKEUP_AMO", "group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a1f8891a39fe63593947811936a9af8f7", null ], + [ "UCP_WAKEUP_TAG_SEND", "group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a136d0a608b0dcceb731d3022f1cb0e91", null ], + [ "UCP_WAKEUP_TAG_RECV", "group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a15bd79b8acc9815513dccf43fc350435", null ], + [ "UCP_WAKEUP_TX", "group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22ad70899effbabed3294c35b9b0f2a747b", null ], + [ "UCP_WAKEUP_RX", "group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a182a353c533fc335e638e41fdaf7c6b5", null ], + [ "UCP_WAKEUP_EDGE", "group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a474ecc6ca013d28f71ade5d85aafd1c8", null ] + ] ], + [ "ucp_worker_create", "group___u_c_p___w_o_r_k_e_r.html#ga0aec01ed3dad646ca6cd3814b13054b1", null ], + [ "ucp_worker_destroy", "group___u_c_p___w_o_r_k_e_r.html#ga6b6c5bf97d16e7fc4b7c815875e92676", null ], + [ "ucp_worker_query", "group___u_c_p___w_o_r_k_e_r.html#gaab678930b792e328eb4f0a17654e5e42", null ], + [ "ucp_worker_print_info", "group___u_c_p___w_o_r_k_e_r.html#gab746c6cccbfe8d25a892eb415bcedd97", null ], + [ "ucp_worker_get_address", "group___u_c_p___w_o_r_k_e_r.html#ga41aaa5fb8fbd3de50a39b1fda12977cc", null ], + [ "ucp_worker_release_address", "group___u_c_p___w_o_r_k_e_r.html#ga94260829739496267d2c8d86414b863d", null ], + [ "ucp_worker_address_query", "group___u_c_p___w_o_r_k_e_r.html#ga0fac7f3d7bf9970e837732557e4277b0", null ], + [ "ucp_worker_progress", "group___u_c_p___w_o_r_k_e_r.html#ga340784a8528d4932916651460dc481c0", null ], + [ "ucp_stream_worker_poll", "group___u_c_p___w_o_r_k_e_r.html#gaacff2409268fc6620d9a2bca4fa01950", null ], + [ "ucp_listener_create", "group___u_c_p___w_o_r_k_e_r.html#ga7a8943f89a7b49c1f1abc562fb5178ad", null ], + [ "ucp_listener_destroy", "group___u_c_p___w_o_r_k_e_r.html#gae45c609cd659bdd0e205d30627b7af21", null ], + [ "ucp_listener_query", "group___u_c_p___w_o_r_k_e_r.html#ga785a8cc6adab6c01bb2354a38bcd9928", null ], + [ "ucp_conn_request_query", "group___u_c_p___w_o_r_k_e_r.html#ga440c99f2462ba8201280687a76fd8569", null ], + [ "ucp_listener_reject", "group___u_c_p___w_o_r_k_e_r.html#ga1f1620fdbae11ea076875fd6ac644241", null ], + [ "ucp_worker_set_am_handler", "group___u_c_p___w_o_r_k_e_r.html#gab8e272749e7a396643caf8775889df4e", null ], + [ "ucp_worker_set_am_recv_handler", "group___u_c_p___w_o_r_k_e_r.html#ga410d5e90c2abc6997924cbf7dee4a1f3", null ], + [ "ucp_worker_fence", "group___u_c_p___w_o_r_k_e_r.html#ga05b3b5887475966631c62119d64c6182", null ], + [ "ucp_worker_flush_nb", "group___u_c_p___w_o_r_k_e_r.html#gac461d1034a3313612243a5829b7e3847", null ], + [ "ucp_worker_flush_nbx", "group___u_c_p___w_o_r_k_e_r.html#ga57fedddf88d4b777f5c16b39b5fcf52e", null ], + [ "ucp_worker_flush", "group___u_c_p___w_o_r_k_e_r.html#gae20b8bc9fbbde208ea266490bde4cbcb", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__am__handler__param.js b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__am__handler__param.js new file mode 100644 index 00000000000..33cb7f1b25e --- /dev/null +++ b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__am__handler__param.js @@ -0,0 +1,8 @@ +var group___u_c_p___w_o_r_k_e_r_structucp__am__handler__param = +[ + [ "field_mask", "group___u_c_p___w_o_r_k_e_r.html#a8f31d53e411769961286865cb9332f6f", null ], + [ "id", "group___u_c_p___w_o_r_k_e_r.html#ad0c6157f387e18cb4d92a37a638274af", null ], + [ "flags", "group___u_c_p___w_o_r_k_e_r.html#a061115b2dc01fb803ae8082bd41f8730", null ], + [ "cb", "group___u_c_p___w_o_r_k_e_r.html#acd54cdefba3f3f5e145dfe2360485659", null ], + [ "arg", "group___u_c_p___w_o_r_k_e_r.html#ae1670a4926d8528fb1ec1cd3f461f13a", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__am__recv__param.js b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__am__recv__param.js new file mode 100644 index 00000000000..801c160dd67 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__am__recv__param.js @@ -0,0 +1,5 @@ +var group___u_c_p___w_o_r_k_e_r_structucp__am__recv__param = +[ + [ "recv_attr", "group___u_c_p___w_o_r_k_e_r.html#a53a8777a31faf7e65289bcc1d710fb19", null ], + [ "reply_ep", "group___u_c_p___w_o_r_k_e_r.html#a5e4629812b7b7737beb6f7f7332b7d7f", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__conn__request__attr.js b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__conn__request__attr.js new file mode 100644 index 00000000000..62261d0ede3 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__conn__request__attr.js @@ -0,0 +1,6 @@ +var group___u_c_p___w_o_r_k_e_r_structucp__conn__request__attr = +[ + [ "field_mask", "group___u_c_p___w_o_r_k_e_r.html#ad6a97d8268992c34631ac773a6c2148b", null ], + [ "client_address", "group___u_c_p___w_o_r_k_e_r.html#a8ca1dc70d395335dc9f8fe20e9de1a0d", null ], + [ "client_id", "group___u_c_p___w_o_r_k_e_r.html#aff4d88d6fd3b2613e058bbcf43d0815b", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__listener__accept__handler.js b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__listener__accept__handler.js new file mode 100644 index 00000000000..31c8a78984f --- /dev/null +++ b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__listener__accept__handler.js @@ -0,0 +1,5 @@ +var group___u_c_p___w_o_r_k_e_r_structucp__listener__accept__handler = +[ + [ "cb", "group___u_c_p___w_o_r_k_e_r.html#a3017ef77fb807d87b60667df14f6c0b0", null ], + [ "arg", "group___u_c_p___w_o_r_k_e_r.html#a05ba12e5d6e6c2b3caef35975644ce85", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__listener__attr.js b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__listener__attr.js new file mode 100644 index 00000000000..fc4318d531a --- /dev/null +++ b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__listener__attr.js @@ -0,0 +1,5 @@ +var group___u_c_p___w_o_r_k_e_r_structucp__listener__attr = +[ + [ "field_mask", "group___u_c_p___w_o_r_k_e_r.html#aaaa6353f56fd585d7c83c363380703f4", null ], + [ "sockaddr", "group___u_c_p___w_o_r_k_e_r.html#affcc213cd4305412937974eefb95bc32", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__listener__conn__handler.js b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__listener__conn__handler.js new file mode 100644 index 00000000000..86bf53b0d7f --- /dev/null +++ b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__listener__conn__handler.js @@ -0,0 +1,5 @@ +var group___u_c_p___w_o_r_k_e_r_structucp__listener__conn__handler = +[ + [ "cb", "group___u_c_p___w_o_r_k_e_r.html#a55ac5ba9e07ca64d55e22730038a4018", null ], + [ "arg", "group___u_c_p___w_o_r_k_e_r.html#ae84882c5fbe486b118460662afe395ec", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__listener__params.js b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__listener__params.js new file mode 100644 index 00000000000..4c5199a2c5a --- /dev/null +++ b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__listener__params.js @@ -0,0 +1,7 @@ +var group___u_c_p___w_o_r_k_e_r_structucp__listener__params = +[ + [ "field_mask", "group___u_c_p___w_o_r_k_e_r.html#afb01e3b0d3c0a04cef0cde4f849fcc1d", null ], + [ "sockaddr", "group___u_c_p___w_o_r_k_e_r.html#a88be57709393e7bf27d10d8a5238b544", null ], + [ "accept_handler", "group___u_c_p___w_o_r_k_e_r.html#a17487f0e8e3102519d7b512c77efdb1f", null ], + [ "conn_handler", "group___u_c_p___w_o_r_k_e_r.html#a0694aacde5fff09dc75e556e8116098a", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__worker__address__attr.js b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__worker__address__attr.js new file mode 100644 index 00000000000..aab098d0c70 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__worker__address__attr.js @@ -0,0 +1,5 @@ +var group___u_c_p___w_o_r_k_e_r_structucp__worker__address__attr = +[ + [ "field_mask", "group___u_c_p___w_o_r_k_e_r.html#a596a9aee8bfbd1c232c6d63549c75f08", null ], + [ "worker_uid", "group___u_c_p___w_o_r_k_e_r.html#a682d3477655dc66072e03530d95239f2", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__worker__attr.js b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__worker__attr.js new file mode 100644 index 00000000000..c004a460cbc --- /dev/null +++ b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__worker__attr.js @@ -0,0 +1,11 @@ +var group___u_c_p___w_o_r_k_e_r_structucp__worker__attr = +[ + [ "field_mask", "group___u_c_p___w_o_r_k_e_r.html#af0f34f82bba00221aa22ec54fa5efc0f", null ], + [ "thread_mode", "group___u_c_p___w_o_r_k_e_r.html#abf2b8b0c74946fbd1791a21369236678", null ], + [ "address_flags", "group___u_c_p___w_o_r_k_e_r.html#a6c288e285b8c870ec576f1a939519799", null ], + [ "address", "group___u_c_p___w_o_r_k_e_r.html#a0863e78ee73ef351311c54d95b6c8fa5", null ], + [ "address_length", "group___u_c_p___w_o_r_k_e_r.html#a7b0ad8e7e5c8d4c4c4931e769ca0fe6f", null ], + [ "max_am_header", "group___u_c_p___w_o_r_k_e_r.html#a7678aa8d4fb18b0d6e2a0276b03e2cb4", null ], + [ "name", "group___u_c_p___w_o_r_k_e_r.html#a3123aa88fefa33c972da4c2bda3bebee", null ], + [ "max_debug_string", "group___u_c_p___w_o_r_k_e_r.html#a79406f6545efcaefffaa34ca99bfdc04", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__worker__params.js b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__worker__params.js new file mode 100644 index 00000000000..a852ea03a81 --- /dev/null +++ b/api/v1.13/html/group___u_c_p___w_o_r_k_e_r_structucp__worker__params.js @@ -0,0 +1,13 @@ +var group___u_c_p___w_o_r_k_e_r_structucp__worker__params = +[ + [ "field_mask", "group___u_c_p___w_o_r_k_e_r.html#a33863ec848e47f79d2e14181fe2aa921", null ], + [ "thread_mode", "group___u_c_p___w_o_r_k_e_r.html#a790642ea681ddd2b0935ad62f70e4ef1", null ], + [ "cpu_mask", "group___u_c_p___w_o_r_k_e_r.html#afc8f70f3ff12f36ea34ad40ff12de61e", null ], + [ "events", "group___u_c_p___w_o_r_k_e_r.html#a89b9add865222b57caee81874704ba89", null ], + [ "user_data", "group___u_c_p___w_o_r_k_e_r.html#a2c277d353e134219265887c4f5339159", null ], + [ "event_fd", "group___u_c_p___w_o_r_k_e_r.html#aaeaf0e7ec196ed72ee2b52183f8d1d7d", null ], + [ "flags", "group___u_c_p___w_o_r_k_e_r.html#adbd9725024f5138a693196f11dab124c", null ], + [ "name", "group___u_c_p___w_o_r_k_e_r.html#a7ea9a6700ec1393aaa95c4b1e1df04e1", null ], + [ "am_alignment", "group___u_c_p___w_o_r_k_e_r.html#aab378fafe0b474381edbe25023910eb4", null ], + [ "client_id", "group___u_c_p___w_o_r_k_e_r.html#a41afbbfba922c2bdc4f35e2c4ecfcaa4", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_s___a_p_i.html b/api/v1.13/html/group___u_c_s___a_p_i.html new file mode 100644 index 00000000000..c37038284dd --- /dev/null +++ b/api/v1.13/html/group___u_c_s___a_p_i.html @@ -0,0 +1,114 @@ + + + + + + + +UCX: Unified Communication Services (UCS) API + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Unified Communication Services (UCS) API
+
+
+ +

This section describes UCS API. +More...

+ + + + +

+Modules

 UCS Communication Resource
 
+

Detailed Description

+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_s___a_p_i.js b/api/v1.13/html/group___u_c_s___a_p_i.js new file mode 100644 index 00000000000..d23689b855e --- /dev/null +++ b/api/v1.13/html/group___u_c_s___a_p_i.js @@ -0,0 +1,4 @@ +var group___u_c_s___a_p_i = +[ + [ "UCS Communication Resource", "group___u_c_s___r_e_s_o_u_r_c_e.html", "group___u_c_s___r_e_s_o_u_r_c_e" ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_s___r_e_s_o_u_r_c_e.html b/api/v1.13/html/group___u_c_s___r_e_s_o_u_r_c_e.html new file mode 100644 index 00000000000..236f990f6c1 --- /dev/null +++ b/api/v1.13/html/group___u_c_s___r_e_s_o_u_r_c_e.html @@ -0,0 +1,766 @@ + + + + + + + +UCX: UCS Communication Resource + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + +

+Data Structures

struct  ucs_sock_addr
 
+ + + + + + + + + + + + + +

+Typedefs

typedef void(* ucs_async_event_cb_t) (int id, ucs_event_set_types_t events, void *arg)
 
typedef struct ucs_sock_addr ucs_sock_addr_t
 
typedef enum ucs_memory_type ucs_memory_type_t
 Memory types. More...
 
typedef unsigned long ucs_time_t
 
typedef void * ucs_status_ptr_t
 Status pointer. More...
 
+ + + + + + + + + + + + +

+Enumerations

enum  ucs_callbackq_flags { UCS_CALLBACKQ_FLAG_FAST = UCS_BIT(0), +UCS_CALLBACKQ_FLAG_ONESHOT = UCS_BIT(1) + }
 
enum  ucs_memory_type {
+  UCS_MEMORY_TYPE_HOST, +UCS_MEMORY_TYPE_CUDA, +UCS_MEMORY_TYPE_CUDA_MANAGED, +UCS_MEMORY_TYPE_ROCM, +
+  UCS_MEMORY_TYPE_ROCM_MANAGED, +UCS_MEMORY_TYPE_LAST, +UCS_MEMORY_TYPE_UNKNOWN = UCS_MEMORY_TYPE_LAST +
+ }
 Memory types. More...
 
enum  ucs_status_t {
+  UCS_OK = 0, +UCS_INPROGRESS = 1, +UCS_ERR_NO_MESSAGE = -1, +UCS_ERR_NO_RESOURCE = -2, +
+  UCS_ERR_IO_ERROR = -3, +UCS_ERR_NO_MEMORY = -4, +UCS_ERR_INVALID_PARAM = -5, +UCS_ERR_UNREACHABLE = -6, +
+  UCS_ERR_INVALID_ADDR = -7, +UCS_ERR_NOT_IMPLEMENTED = -8, +UCS_ERR_MESSAGE_TRUNCATED = -9, +UCS_ERR_NO_PROGRESS = -10, +
+  UCS_ERR_BUFFER_TOO_SMALL = -11, +UCS_ERR_NO_ELEM = -12, +UCS_ERR_SOME_CONNECTS_FAILED = -13, +UCS_ERR_NO_DEVICE = -14, +
+  UCS_ERR_BUSY = -15, +UCS_ERR_CANCELED = -16, +UCS_ERR_SHMEM_SEGMENT = -17, +UCS_ERR_ALREADY_EXISTS = -18, +
+  UCS_ERR_OUT_OF_RANGE = -19, +UCS_ERR_TIMED_OUT = -20, +UCS_ERR_EXCEEDS_LIMIT = -21, +UCS_ERR_UNSUPPORTED = -22, +
+  UCS_ERR_REJECTED = -23, +UCS_ERR_NOT_CONNECTED = -24, +UCS_ERR_CONNECTION_RESET = -25, +UCS_ERR_FIRST_LINK_FAILURE = -40, +
+  UCS_ERR_LAST_LINK_FAILURE = -59, +UCS_ERR_FIRST_ENDPOINT_FAILURE = -60, +UCS_ERR_ENDPOINT_TIMEOUT = -80, +UCS_ERR_LAST_ENDPOINT_FAILURE = -89, +
+  UCS_ERR_LAST = -100 +
+ }
 Status codes. More...
 
enum  ucs_thread_mode_t { UCS_THREAD_MODE_SINGLE, +UCS_THREAD_MODE_SERIALIZED, +UCS_THREAD_MODE_MULTI, +UCS_THREAD_MODE_LAST + }
 Thread sharing mode. More...
 
+ + + + + + + + + + + + + + + + + +

+Functions

ucs_status_t ucs_async_set_event_handler (ucs_async_mode_t mode, int event_fd, ucs_event_set_types_t events, ucs_async_event_cb_t cb, void *arg, ucs_async_context_t *async)
 
ucs_status_t ucs_async_add_timer (ucs_async_mode_t mode, ucs_time_t interval, ucs_async_event_cb_t cb, void *arg, ucs_async_context_t *async, int *timer_id_p)
 
ucs_status_t ucs_async_remove_handler (int id, int sync)
 
ucs_status_t ucs_async_modify_handler (int fd, ucs_event_set_types_t events)
 
ucs_status_t ucs_async_context_create (ucs_async_mode_t mode, ucs_async_context_t **async_p)
 Create an asynchronous execution context. More...
 
void ucs_async_context_destroy (ucs_async_context_t *async)
 Destroy the asynchronous execution context. More...
 
void ucs_async_poll (ucs_async_context_t *async)
 
+

Detailed Description

+

This section describes a concept of the Communication Resource and routines associated with the concept.

+

Data Structure Documentation

+ +

◆ ucs_sock_addr

+ +
+
+ + + + +
struct ucs_sock_addr
+
+

BSD socket address specification.

+
+ + + + + + + +
Data Fields
+const struct sockaddr * +addr +

Pointer to socket address

+
+socklen_t +addrlen +

Address length

+
+ +
+
+

Typedef Documentation

+ +

◆ ucs_async_event_cb_t

+ +
+
+ + + + +
typedef void(* ucs_async_event_cb_t) (int id, ucs_event_set_types_t events, void *arg)
+
+

Async event callback.

+
Parameters
+ + + + +
idEvent id (timer or file descriptor).
eventsThe events that triggered the callback.
argUser-defined argument.
+
+
+ +
+
+ +

◆ ucs_sock_addr_t

+ +
+
+ + + + +
typedef struct ucs_sock_addr ucs_sock_addr_t
+
+

BSD socket address specification.

+ +
+
+ +

◆ ucs_memory_type_t

+ +
+
+ + + + +
typedef enum ucs_memory_type ucs_memory_type_t
+
+

List of supported memory types.

+ +
+
+ +

◆ ucs_time_t

+ +
+
+ + + + +
typedef unsigned long ucs_time_t
+
+

UCS time units. These are not necessarily aligned with metric time units. MUST compare short time values with UCS_SHORT_TIME_CMP to handle wrap-around.

+ +
+
+ +

◆ ucs_status_ptr_t

+ +
+
+ + + + +
typedef void* ucs_status_ptr_t
+
+

A pointer can represent one of these values:

    +
  • NULL / UCS_OK
  • +
  • Error code pointer (UCS_ERR_xx)
  • +
  • Valid pointer
  • +
+ +
+
+

Enumeration Type Documentation

+ +

◆ ucs_callbackq_flags

+ +
+
+ + + + +
enum ucs_callbackq_flags
+
+

Callback flags

+ + + +
Enumerator
UCS_CALLBACKQ_FLAG_FAST 

Fast-path (best effort)

+
UCS_CALLBACKQ_FLAG_ONESHOT 

Call the callback only once (cannot be used with FAST)

+
+ +
+
+ +

◆ ucs_memory_type

+ +
+
+ + + + +
enum ucs_memory_type
+
+

List of supported memory types.

+ + + + + + + + +
Enumerator
UCS_MEMORY_TYPE_HOST 

Default system memory

+
UCS_MEMORY_TYPE_CUDA 

NVIDIA CUDA memory

+
UCS_MEMORY_TYPE_CUDA_MANAGED 

NVIDIA CUDA managed (or unified) memory

+
UCS_MEMORY_TYPE_ROCM 

AMD ROCM memory

+
UCS_MEMORY_TYPE_ROCM_MANAGED 

AMD ROCM managed system memory

+
UCS_MEMORY_TYPE_LAST 
UCS_MEMORY_TYPE_UNKNOWN 
+ +
+
+ +

◆ ucs_status_t

+ +
+
+ + + + +
enum ucs_status_t
+
+
Note
In order to evaluate the necessary steps to recover from a certain error, all error codes which can be returned by the external API are grouped by the largest entity permanently effected by the error. Each group ranges between its UCS_ERR_FIRST_<name> and UCS_ERR_LAST_<name> enum values. For example, if a link fails it may be sufficient to destroy (and possibly replace) it, in contrast to an endpoint-level error.
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
UCS_OK 
UCS_INPROGRESS 
UCS_ERR_NO_MESSAGE 
UCS_ERR_NO_RESOURCE 
UCS_ERR_IO_ERROR 
UCS_ERR_NO_MEMORY 
UCS_ERR_INVALID_PARAM 
UCS_ERR_UNREACHABLE 
UCS_ERR_INVALID_ADDR 
UCS_ERR_NOT_IMPLEMENTED 
UCS_ERR_MESSAGE_TRUNCATED 
UCS_ERR_NO_PROGRESS 
UCS_ERR_BUFFER_TOO_SMALL 
UCS_ERR_NO_ELEM 
UCS_ERR_SOME_CONNECTS_FAILED 
UCS_ERR_NO_DEVICE 
UCS_ERR_BUSY 
UCS_ERR_CANCELED 
UCS_ERR_SHMEM_SEGMENT 
UCS_ERR_ALREADY_EXISTS 
UCS_ERR_OUT_OF_RANGE 
UCS_ERR_TIMED_OUT 
UCS_ERR_EXCEEDS_LIMIT 
UCS_ERR_UNSUPPORTED 
UCS_ERR_REJECTED 
UCS_ERR_NOT_CONNECTED 
UCS_ERR_CONNECTION_RESET 
UCS_ERR_FIRST_LINK_FAILURE 
UCS_ERR_LAST_LINK_FAILURE 
UCS_ERR_FIRST_ENDPOINT_FAILURE 
UCS_ERR_ENDPOINT_TIMEOUT 
UCS_ERR_LAST_ENDPOINT_FAILURE 
UCS_ERR_LAST 
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ ucs_thread_mode_t

+ +
+
+ + + + +
enum ucs_thread_mode_t
+
+

Specifies thread sharing mode of an object.

+ + + + + +
Enumerator
UCS_THREAD_MODE_SINGLE 

Only the master thread can access (i.e. the thread that initialized the context; multiple threads may exist and never access)

+
UCS_THREAD_MODE_SERIALIZED 

Multiple threads can access, but only one at a time

+
UCS_THREAD_MODE_MULTI 

Multiple threads can access concurrently

+
UCS_THREAD_MODE_LAST 
+ +
+
+

Function Documentation

+ +

◆ ucs_async_set_event_handler()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucs_async_set_event_handler (ucs_async_mode_t mode,
int event_fd,
ucs_event_set_types_t events,
ucs_async_event_cb_t cb,
void * arg,
ucs_async_context_t * async 
)
+
+

Register a file descriptor for monitoring (call handler upon events). Every fd can have only one handler.

+
Parameters
+ + + + + + + +
modeThread or signal.
event_fdFile descriptor to set handler for.
eventsEvents to wait on (UCS_EVENT_SET_EVxxx bits).
cbCallback function to execute.
argArgument to callback.
asyncAsync context to which events are delivered. If NULL, safety is up to the user.
+
+
+
Returns
Error code as defined by ucs_status_t.
+ +
+
+ +

◆ ucs_async_add_timer()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t ucs_async_add_timer (ucs_async_mode_t mode,
ucs_time_t interval,
ucs_async_event_cb_t cb,
void * arg,
ucs_async_context_t * async,
int * timer_id_p 
)
+
+

Add timer handler.

+
Parameters
+ + + + + + + +
modeThread or signal.
intervalTimer interval.
cbCallback function to execute.
argArgument to callback.
asyncAsync context to which events are delivered. If NULL, safety is up to the user.
timer_id_pFilled with timer id.
+
+
+
Returns
Error code as defined by ucs_status_t.
+ +
+
+ +

◆ ucs_async_remove_handler()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucs_async_remove_handler (int id,
int sync 
)
+
+

Remove an event handler (Timer or event file).

+
Parameters
+ + + +
idTimer/FD to remove.
syncIf nonzero, wait until the handler for this event is not running anymore. If called from the context of the callback, the handler will be removed immediately after the current callback returns.
+
+
+
Returns
Error code as defined by ucs_status_t.
+ +
+
+ +

◆ ucs_async_modify_handler()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucs_async_modify_handler (int fd,
ucs_event_set_types_t events 
)
+
+

Modify events mask for an existing event handler (event file).

+
Parameters
+ + + +
fdFile descriptor modify events for.
eventsNew set of events to wait on (UCS_EVENT_SET_EVxxx bits).
+
+
+
Returns
Error code as defined by ucs_status_t.
+ +
+
+ +

◆ ucs_async_context_create()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t ucs_async_context_create (ucs_async_mode_t mode,
ucs_async_context_t ** async_p 
)
+
+

Allocate and initialize an asynchronous execution context. This can be used to ensure safe event delivery.

+
Parameters
+ + + +
modeIndicates whether to use signals or polling threads for waiting.
async_pEvent context pointer to initialize.
+
+
+
Returns
Error code as defined by ucs_status_t.
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ ucs_async_context_destroy()

+ +
+
+ + + + + + + + +
void ucs_async_context_destroy (ucs_async_context_t * async)
+
+

Clean up the async context, and release system resources if possible. The context memory released.

+
Parameters
+ + +
asyncAsynchronous context to clean up.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ ucs_async_poll()

+ +
+
+ + + + + + + + +
void ucs_async_poll (ucs_async_context_t * async)
+
+

Poll on async context.

+
Parameters
+ + +
asyncAsync context to poll on. NULL polls on all.
+
+
+ +
+
+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_s___r_e_s_o_u_r_c_e.js b/api/v1.13/html/group___u_c_s___r_e_s_o_u_r_c_e.js new file mode 100644 index 00000000000..709109e607e --- /dev/null +++ b/api/v1.13/html/group___u_c_s___r_e_s_o_u_r_c_e.js @@ -0,0 +1,73 @@ +var group___u_c_s___r_e_s_o_u_r_c_e = +[ + [ "ucs_sock_addr", "group___u_c_s___r_e_s_o_u_r_c_e.html#structucs__sock__addr", [ + [ "addr", "group___u_c_s___r_e_s_o_u_r_c_e.html#a6294db86dc9327058b8a31cb4af87edb", null ], + [ "addrlen", "group___u_c_s___r_e_s_o_u_r_c_e.html#ac86eaa6362c3345d05c75bb4508ff2f1", null ] + ] ], + [ "ucs_async_event_cb_t", "group___u_c_s___r_e_s_o_u_r_c_e.html#ga6175fd675274497a9d714623a6ffba6f", null ], + [ "ucs_sock_addr_t", "group___u_c_s___r_e_s_o_u_r_c_e.html#ga66409ecb6655d099e1375e1225475601", null ], + [ "ucs_memory_type_t", "group___u_c_s___r_e_s_o_u_r_c_e.html#ga0da130a6b3524f3f7642b76f698903c7", null ], + [ "ucs_time_t", "group___u_c_s___r_e_s_o_u_r_c_e.html#ga69fbc58f4523686b459ee0fff60b5197", null ], + [ "ucs_status_ptr_t", "group___u_c_s___r_e_s_o_u_r_c_e.html#gaf4381d25f2fb0cf02f996f3e0729ed62", null ], + [ "ucs_callbackq_flags", "group___u_c_s___r_e_s_o_u_r_c_e.html#gaa693580c739b1ba94bd6218d00222110", [ + [ "UCS_CALLBACKQ_FLAG_FAST", "group___u_c_s___r_e_s_o_u_r_c_e.html#ggaa693580c739b1ba94bd6218d00222110a05c5239629fdbfb4dc63a2b354b93e93", null ], + [ "UCS_CALLBACKQ_FLAG_ONESHOT", "group___u_c_s___r_e_s_o_u_r_c_e.html#ggaa693580c739b1ba94bd6218d00222110aabec96aecc786be2edb8f16c5034c493", null ] + ] ], + [ "ucs_memory_type", "group___u_c_s___r_e_s_o_u_r_c_e.html#ga5cfcc524f5dc586101a3e7caff8d982d", [ + [ "UCS_MEMORY_TYPE_HOST", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982da4bebe1325d9a3be9b5821bec4f78a55f", null ], + [ "UCS_MEMORY_TYPE_CUDA", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982dafc4cb4732ebd0539e364bb6a4466c2fc", null ], + [ "UCS_MEMORY_TYPE_CUDA_MANAGED", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982dab61ccfc729e22de60f4831cc60ef1e16", null ], + [ "UCS_MEMORY_TYPE_ROCM", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982da84a165376983da6abbdf0e9cc7d3d546", null ], + [ "UCS_MEMORY_TYPE_ROCM_MANAGED", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982dabc097618d75594ac6df460592561cd77", null ], + [ "UCS_MEMORY_TYPE_LAST", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982da6105aba9983dc25cbf7cbf4d03f655d7", null ], + [ "UCS_MEMORY_TYPE_UNKNOWN", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982dab0e5609f442bf33d5447c6e8b5928215", null ] + ] ], + [ "ucs_status_t", "group___u_c_s___r_e_s_o_u_r_c_e.html#ga88ca72d7294772e7d2edb70a2df15558", [ + [ "UCS_OK", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a1a7fbae02ac33fb94f519c7c773f419a", null ], + [ "UCS_INPROGRESS", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a77aa02620851779729e4ad6ceb41f84a", null ], + [ "UCS_ERR_NO_MESSAGE", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a1bbd2445646883a1ef758fe2ef75e586", null ], + [ "UCS_ERR_NO_RESOURCE", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a83fc93632e7b3e3251410985aab27edc", null ], + [ "UCS_ERR_IO_ERROR", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aaaf39ceea715057fdec5736443e0265b", null ], + [ "UCS_ERR_NO_MEMORY", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a9919ffd4eaf870612c4aa63df65ae0a6", null ], + [ "UCS_ERR_INVALID_PARAM", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558ab5a5c5278c83f957a096444de28db597", null ], + [ "UCS_ERR_UNREACHABLE", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558ab56647f308360ef22316ed42a700e057", null ], + [ "UCS_ERR_INVALID_ADDR", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aaebc6a3a7f1626b431f80ff66e9a4922", null ], + [ "UCS_ERR_NOT_IMPLEMENTED", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a623f715116a8d8986c737bf626e956b4", null ], + [ "UCS_ERR_MESSAGE_TRUNCATED", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aef3defd5d754266db882e079fad7c544", null ], + [ "UCS_ERR_NO_PROGRESS", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aa3e6111410197f82888c6527258a5149", null ], + [ "UCS_ERR_BUFFER_TOO_SMALL", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a2ab3b7e6c60cb0afe80c2e11cc39122f", null ], + [ "UCS_ERR_NO_ELEM", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558ab67faa1abcd824b5bb47a094491524ba", null ], + [ "UCS_ERR_SOME_CONNECTS_FAILED", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aa74d2a7cf7aeeaaaff6724bf0d700743", null ], + [ "UCS_ERR_NO_DEVICE", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558af42564cbfb39953294f80d782404a3bf", null ], + [ "UCS_ERR_BUSY", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a331d8719f76965a4514684c570110105", null ], + [ "UCS_ERR_CANCELED", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a446ce3cf260eab2465e9f7adfbad1f11", null ], + [ "UCS_ERR_SHMEM_SEGMENT", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a5cfb884e5be55df1f4acf19990f4029d", null ], + [ "UCS_ERR_ALREADY_EXISTS", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a8295b85b654e3145ee08a94714832112", null ], + [ "UCS_ERR_OUT_OF_RANGE", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a7ce30c5ce3f9b06ed9d51a618dc76920", null ], + [ "UCS_ERR_TIMED_OUT", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a28655a75087757c2b6c28adcae5562c7", null ], + [ "UCS_ERR_EXCEEDS_LIMIT", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a45d1cd8512f1ba4391f91b0bc399f1fb", null ], + [ "UCS_ERR_UNSUPPORTED", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a252c38290855ceaf849c04b7fa52dc23", null ], + [ "UCS_ERR_REJECTED", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a7ebfa416cd741e37ec1a0371feaaa10a", null ], + [ "UCS_ERR_NOT_CONNECTED", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a19ed4a30ff1b25ffdc00adeb8cd211fa", null ], + [ "UCS_ERR_CONNECTION_RESET", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a3845462922a8704ddca8be0dafc47cd5", null ], + [ "UCS_ERR_FIRST_LINK_FAILURE", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a8356f94996c7759a785f8d508ff58779", null ], + [ "UCS_ERR_LAST_LINK_FAILURE", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a9e4aac3283309260e9b8f34bca72209c", null ], + [ "UCS_ERR_FIRST_ENDPOINT_FAILURE", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a2441db0c09803ed41453968577e29446", null ], + [ "UCS_ERR_ENDPOINT_TIMEOUT", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558adc9adfec2d408b4efd95be36dcb119cf", null ], + [ "UCS_ERR_LAST_ENDPOINT_FAILURE", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aa54339cfd8cefc96aa4e9d5d0b824284", null ], + [ "UCS_ERR_LAST", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a359c2fe5ffba5911f340ec8a750917bb", null ] + ] ], + [ "ucs_thread_mode_t", "group___u_c_s___r_e_s_o_u_r_c_e.html#ga40e9f363c389e702ad9920f5d52525ce", [ + [ "UCS_THREAD_MODE_SINGLE", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga40e9f363c389e702ad9920f5d52525ceabc2f71e39a3527f7abe6a1c47f0a5a25", null ], + [ "UCS_THREAD_MODE_SERIALIZED", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga40e9f363c389e702ad9920f5d52525cea95d2ddb2144f8cfebfe305be13bd6776", null ], + [ "UCS_THREAD_MODE_MULTI", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga40e9f363c389e702ad9920f5d52525cea8f8e252ce479d99c7cdc708321534904", null ], + [ "UCS_THREAD_MODE_LAST", "group___u_c_s___r_e_s_o_u_r_c_e.html#gga40e9f363c389e702ad9920f5d52525ceaf7b465a8a13f216fd6c35a828a8c7986", null ] + ] ], + [ "ucs_async_set_event_handler", "group___u_c_s___r_e_s_o_u_r_c_e.html#ga4bd1833c4a212330cbdff7605858819c", null ], + [ "ucs_async_add_timer", "group___u_c_s___r_e_s_o_u_r_c_e.html#ga11a624df0bff9513f87b273506a8f711", null ], + [ "ucs_async_remove_handler", "group___u_c_s___r_e_s_o_u_r_c_e.html#ga7253f7d2762b8d288e78d573f9948aef", null ], + [ "ucs_async_modify_handler", "group___u_c_s___r_e_s_o_u_r_c_e.html#ga46ac2384234000408d56065a8e43fc5a", null ], + [ "ucs_async_context_create", "group___u_c_s___r_e_s_o_u_r_c_e.html#ga8c3ad862fef1d35af708628d778a5a5b", null ], + [ "ucs_async_context_destroy", "group___u_c_s___r_e_s_o_u_r_c_e.html#ga65db07fbee18ab2bd46a738c89ccc8f7", null ], + [ "ucs_async_poll", "group___u_c_s___r_e_s_o_u_r_c_e.html#ga41fb5f0e0719d9b6d2c07358c6a9e6ae", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_s___r_e_s_o_u_r_c_e_structucs__sock__addr.js b/api/v1.13/html/group___u_c_s___r_e_s_o_u_r_c_e_structucs__sock__addr.js new file mode 100644 index 00000000000..678b4b9c9df --- /dev/null +++ b/api/v1.13/html/group___u_c_s___r_e_s_o_u_r_c_e_structucs__sock__addr.js @@ -0,0 +1,5 @@ +var group___u_c_s___r_e_s_o_u_r_c_e_structucs__sock__addr = +[ + [ "addr", "group___u_c_s___r_e_s_o_u_r_c_e.html#a6294db86dc9327058b8a31cb4af87edb", null ], + [ "addrlen", "group___u_c_s___r_e_s_o_u_r_c_e.html#ac86eaa6362c3345d05c75bb4508ff2f1", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___a_m.html b/api/v1.13/html/group___u_c_t___a_m.html new file mode 100644 index 00000000000..5370c652346 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___a_m.html @@ -0,0 +1,630 @@ + + + + + + + +UCX: UCT Active messages + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + + + +

+Typedefs

typedef ucs_status_t(* uct_am_callback_t) (void *arg, void *data, size_t length, unsigned flags)
 Callback to process incoming active message. More...
 
typedef void(* uct_am_tracer_t) (void *arg, uct_am_trace_type_t type, uint8_t id, const void *data, size_t length, char *buffer, size_t max)
 Callback to trace active messages. More...
 
+ + + + + + + +

+Enumerations

enum  uct_msg_flags { UCT_SEND_FLAG_SIGNALED = UCS_BIT(0), +UCT_SEND_FLAG_PEER_CHECK = UCS_BIT(1) + }
 Flags for active message send operation. More...
 
enum  uct_am_trace_type {
+  UCT_AM_TRACE_TYPE_SEND, +UCT_AM_TRACE_TYPE_RECV, +UCT_AM_TRACE_TYPE_SEND_DROP, +UCT_AM_TRACE_TYPE_RECV_DROP, +
+  UCT_AM_TRACE_TYPE_LAST +
+ }
 Trace types for active message tracer. More...
 
+ + + + + + + + + + + + + + + + + + + + +

+Functions

ucs_status_t uct_iface_set_am_handler (uct_iface_h iface, uint8_t id, uct_am_callback_t cb, void *arg, uint32_t flags)
 Set active message handler for the interface. More...
 
ucs_status_t uct_iface_set_am_tracer (uct_iface_h iface, uct_am_tracer_t tracer, void *arg)
 Set active message tracer for the interface. More...
 
void uct_iface_release_desc (void *desc)
 Release AM descriptor. More...
 
ucs_status_t uct_ep_am_short (uct_ep_h ep, uint8_t id, uint64_t header, const void *payload, unsigned length)
 
ucs_status_t uct_ep_am_short_iov (uct_ep_h ep, uint8_t id, const uct_iov_t *iov, size_t iovcnt)
 Short io-vector send operation. More...
 
ssize_t uct_ep_am_bcopy (uct_ep_h ep, uint8_t id, uct_pack_callback_t pack_cb, void *arg, unsigned flags)
 
ucs_status_t uct_ep_am_zcopy (uct_ep_h ep, uint8_t id, const void *header, unsigned header_length, const uct_iov_t *iov, size_t iovcnt, unsigned flags, uct_completion_t *comp)
 Send active message while avoiding local memory copy. More...
 
+

Detailed Description

+

Defines active message functions.

+

Typedef Documentation

+ +

◆ uct_am_callback_t

+ +
+
+ + + + +
typedef ucs_status_t(* uct_am_callback_t) (void *arg, void *data, size_t length, unsigned flags)
+
+

When the callback is called, flags indicates how data should be handled. If flags contain UCT_CB_PARAM_FLAG_DESC value, it means data is part of a descriptor which must be released later by uct_iface_release_desc by the user if the callback returns UCS_INPROGRESS.

+
Parameters
+ + + + + +
[in]argUser-defined argument.
[in]dataPoints to the received data. This may be a part of a descriptor which may be released later.
[in]lengthLength of data.
[in]flagsMask with uct_cb_param_flags
+
+
+
Note
This callback could be set and released by uct_iface_set_am_handler function.
+
Return values
+ + + +
UCS_OK- descriptor was consumed, and can be released by the caller.
UCS_INPROGRESS- descriptor is owned by the callee, and would be released later. Supported only if flags contain UCT_CB_PARAM_FLAG_DESC value. Otherwise, this is an error.
+
+
+ +
+
+ +

◆ uct_am_tracer_t

+ +
+
+ + + + +
typedef void(* uct_am_tracer_t) (void *arg, uct_am_trace_type_t type, uint8_t id, const void *data, size_t length, char *buffer, size_t max)
+
+

Writes a string which represents active message contents into 'buffer'.

+
Parameters
+ + + + + + + + +
[in]argUser-defined argument.
[in]typeMessage type.
[in]idActive message id.
[in]dataPoints to the received data.
[in]lengthLength of data.
[out]bufferFilled with a debug information string.
[in]maxMaximal length of the string.
+
+
+ +
+
+

Enumeration Type Documentation

+ +

◆ uct_msg_flags

+ +
+
+ + + + +
enum uct_msg_flags
+
+ + + +
Enumerator
UCT_SEND_FLAG_SIGNALED 

Trigger UCT_EVENT_RECV_SIG event on remote side. Make best effort attempt to avoid triggering UCT_EVENT_RECV event. Ignored if not supported by interface.

+
UCT_SEND_FLAG_PEER_CHECK 

Forces checking connectivity to a peer. If the connection is not alive, an error callback will be invoked. If the flag is not set, there is no guarantee that a connectivity error could be detected.
+

+
+ +
+
+ +

◆ uct_am_trace_type

+ +
+
+ + + + +
enum uct_am_trace_type
+
+ + + + + + +
Enumerator
UCT_AM_TRACE_TYPE_SEND 
UCT_AM_TRACE_TYPE_RECV 
UCT_AM_TRACE_TYPE_SEND_DROP 
UCT_AM_TRACE_TYPE_RECV_DROP 
UCT_AM_TRACE_TYPE_LAST 
+ +
+
+

Function Documentation

+ +

◆ uct_iface_set_am_handler()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_iface_set_am_handler (uct_iface_h iface,
uint8_t id,
uct_am_callback_t cb,
void * arg,
uint32_t flags 
)
+
+

Only one handler can be set of each active message ID, and setting a handler replaces the previous value. If cb == NULL, the current handler is removed.

+
Parameters
+ + + + + + +
[in]ifaceInterface to set the active message handler for.
[in]idActive message id. Must be 0..UCT_AM_ID_MAX-1.
[in]cbActive message callback. NULL to clear.
[in]argActive message argument.
[in]flagsRequired callback flags
+
+
+
Returns
error code if the interface does not support active messages or requested callback flags
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_iface_set_am_tracer()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_iface_set_am_tracer (uct_iface_h iface,
uct_am_tracer_t tracer,
void * arg 
)
+
+

Sets a function which dumps active message debug information to a buffer, which is printed every time an active message is sent or received, when data tracing is on. Without the tracer, only transport-level information is printed.

+
Parameters
+ + + + +
[in]ifaceInterface to set the active message tracer for.
[in]tracerActive message tracer. NULL to clear.
[in]argTracer custom argument.
+
+
+ +
+
+ +

◆ uct_iface_release_desc()

+ +
+
+ + + + + + + + +
void uct_iface_release_desc (void * desc)
+
+

Release active message descriptor desc, which was passed to the active message callback, and owned by the callee.

+
Parameters
+ + +
[in]descDescriptor to release.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_ep_am_short()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_am_short (uct_ep_h ep,
uint8_t id,
uint64_t header,
const void * payload,
unsigned length 
)
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_ep_am_short_iov()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_am_short_iov (uct_ep_h ep,
uint8_t id,
const uct_iov_tiov,
size_t iovcnt 
)
+
+

This routine sends a message using short protocol. The input data in iov array of uct_iov_t structures is sent to remote side to contiguous buffer keeping the order of the data in the array.

+
Parameters
+ + + + + +
[in]epDestination endpoint handle.
[in]idActive message id. Must be in range 0..UCT_AM_ID_MAX-1.
[in]iovPoints to an array of uct_iov_t structures. The iov pointer must be a valid address of an array of uct_iov_t structures. A particular structure pointer must be a valid address. A NULL terminated array is not required. stride and count fields in uct_iov_t structure are ignored in current implementation. The total size of the data buffers in the array is limited by uct_iface_attr::cap::am::max_short.
[in]iovcntSize of the iov data uct_iov_t structures array. If iovcnt is zero, the data is considered empty. iovcnt is limited by uct_iface_attr::cap::am::max_iov.
+
+
+
Returns
UCS_OK Operation completed successfully.
+
+UCS_ERR_NO_RESOURCE Could not start the operation due to lack of send resources.
+
+otherwise Error code.
+ +
+
+ +

◆ uct_ep_am_bcopy()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ssize_t uct_ep_am_bcopy (uct_ep_h ep,
uint8_t id,
uct_pack_callback_t pack_cb,
void * arg,
unsigned flags 
)
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_ep_am_zcopy()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_am_zcopy (uct_ep_h ep,
uint8_t id,
const void * header,
unsigned header_length,
const uct_iov_tiov,
size_t iovcnt,
unsigned flags,
uct_completion_tcomp 
)
+
+

The input data in iov array of uct_iov_t structures sent to remote side ("gather output"). Buffers in iov are processed in array order. This means that the function complete iov[0] before proceeding to iov[1], and so on.

+
Parameters
+ + + + + + + + + +
[in]epDestination endpoint handle.
[in]idActive message id. Must be in range 0..UCT_AM_ID_MAX-1.
[in]headerActive message header.
[in]header_lengthActive message header length in bytes.
[in]iovPoints to an array of uct_iov_t structures. The iov pointer must be a valid address of an array of uct_iov_t structures. A particular structure pointer must be a valid address. A NULL terminated array is not required.
[in]iovcntSize of the iov data uct_iov_t structures array. If iovcnt is zero, the data is considered empty. iovcnt is limited by uct_iface_attr::cap::am::max_iov.
[in]flagsActive message flags, see uct_msg_flags.
[in]compCompletion handle as defined by uct_completion_t.
+
+
+
Returns
UCS_OK Operation completed successfully.
+
+UCS_INPROGRESS Some communication operations are still in progress. If non-NULL comp is provided, it will be updated upon completion of these operations.
+
+UCS_ERR_NO_RESOURCE Could not start the operation due to lack of send resources.
+
Note
If the operation returns UCS_INPROGRESS, the memory buffers pointed to by iov array must not be modified until the operation is completed by comp. header can be released or changed.
+
Examples
uct_hello_world.c.
+
+ +
+
+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_t___a_m.js b/api/v1.13/html/group___u_c_t___a_m.js new file mode 100644 index 00000000000..dcb28aba019 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___a_m.js @@ -0,0 +1,23 @@ +var group___u_c_t___a_m = +[ + [ "uct_am_callback_t", "group___u_c_t___a_m.html#gaeeaac1f152fc82d237e286a663e83d04", null ], + [ "uct_am_tracer_t", "group___u_c_t___a_m.html#gae089079bf0edee87f4f8be3edc0164cb", null ], + [ "uct_msg_flags", "group___u_c_t___a_m.html#ga139e5d124e16d412200bf64bdbccab1c", [ + [ "UCT_SEND_FLAG_SIGNALED", "group___u_c_t___a_m.html#gga139e5d124e16d412200bf64bdbccab1ca5af3a2c43c1e989a4f21f97188f38b06", null ], + [ "UCT_SEND_FLAG_PEER_CHECK", "group___u_c_t___a_m.html#gga139e5d124e16d412200bf64bdbccab1ca222442e08a093d34d6266e810346f4d8", null ] + ] ], + [ "uct_am_trace_type", "group___u_c_t___a_m.html#gacbe4c7fdcaf25cd7bd004a3c2d54f067", [ + [ "UCT_AM_TRACE_TYPE_SEND", "group___u_c_t___a_m.html#ggacbe4c7fdcaf25cd7bd004a3c2d54f067aef58a6db54a952e5e34edd91325a83ed", null ], + [ "UCT_AM_TRACE_TYPE_RECV", "group___u_c_t___a_m.html#ggacbe4c7fdcaf25cd7bd004a3c2d54f067a02b0b980c43b7d66823bb0169d03f98f", null ], + [ "UCT_AM_TRACE_TYPE_SEND_DROP", "group___u_c_t___a_m.html#ggacbe4c7fdcaf25cd7bd004a3c2d54f067a70335ae779aaa99685d6842f9e85a6db", null ], + [ "UCT_AM_TRACE_TYPE_RECV_DROP", "group___u_c_t___a_m.html#ggacbe4c7fdcaf25cd7bd004a3c2d54f067aa2125f63177d657998f381a60e60e8fd", null ], + [ "UCT_AM_TRACE_TYPE_LAST", "group___u_c_t___a_m.html#ggacbe4c7fdcaf25cd7bd004a3c2d54f067a74589340125a9634d4f1cba73da0b0a1", null ] + ] ], + [ "uct_iface_set_am_handler", "group___u_c_t___a_m.html#ga81dd3f74f8dc8c2c950d932fca0f799e", null ], + [ "uct_iface_set_am_tracer", "group___u_c_t___a_m.html#gaed13079973d867e4bb18be3696216a3a", null ], + [ "uct_iface_release_desc", "group___u_c_t___a_m.html#gac894ed0c24a3481f316945a462d67921", null ], + [ "uct_ep_am_short", "group___u_c_t___a_m.html#ga0d170165e2d16dccbe45588ebad181f3", null ], + [ "uct_ep_am_short_iov", "group___u_c_t___a_m.html#ga54b4c1f0426349ac9fc498736c53c0e7", null ], + [ "uct_ep_am_bcopy", "group___u_c_t___a_m.html#gae29dad6b69beaf21c19255906742e14d", null ], + [ "uct_ep_am_zcopy", "group___u_c_t___a_m.html#gae79d303f72e688df6d49bc44823c2210", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___a_m_o.html b/api/v1.13/html/group___u_c_t___a_m_o.html new file mode 100644 index 00000000000..726155fddfc --- /dev/null +++ b/api/v1.13/html/group___u_c_t___a_m_o.html @@ -0,0 +1,447 @@ + + + + + + + +UCX: UCT Atomic operations + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + + + + + + + + + +

+Functions

ucs_status_t uct_ep_atomic_cswap64 (uct_ep_h ep, uint64_t compare, uint64_t swap, uint64_t remote_addr, uct_rkey_t rkey, uint64_t *result, uct_completion_t *comp)
 
ucs_status_t uct_ep_atomic_cswap32 (uct_ep_h ep, uint32_t compare, uint32_t swap, uint64_t remote_addr, uct_rkey_t rkey, uint32_t *result, uct_completion_t *comp)
 
ucs_status_t uct_ep_atomic32_post (uct_ep_h ep, uct_atomic_op_t opcode, uint32_t value, uint64_t remote_addr, uct_rkey_t rkey)
 
ucs_status_t uct_ep_atomic64_post (uct_ep_h ep, uct_atomic_op_t opcode, uint64_t value, uint64_t remote_addr, uct_rkey_t rkey)
 
ucs_status_t uct_ep_atomic32_fetch (uct_ep_h ep, uct_atomic_op_t opcode, uint32_t value, uint32_t *result, uint64_t remote_addr, uct_rkey_t rkey, uct_completion_t *comp)
 
ucs_status_t uct_ep_atomic64_fetch (uct_ep_h ep, uct_atomic_op_t opcode, uint64_t value, uint64_t *result, uint64_t remote_addr, uct_rkey_t rkey, uct_completion_t *comp)
 
+

Detailed Description

+

Defines atomic operations.

+

Function Documentation

+ +

◆ uct_ep_atomic_cswap64()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_atomic_cswap64 (uct_ep_h ep,
uint64_t compare,
uint64_t swap,
uint64_t remote_addr,
uct_rkey_t rkey,
uint64_t * result,
uct_completion_tcomp 
)
+
+ +
+
+ +

◆ uct_ep_atomic_cswap32()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_atomic_cswap32 (uct_ep_h ep,
uint32_t compare,
uint32_t swap,
uint64_t remote_addr,
uct_rkey_t rkey,
uint32_t * result,
uct_completion_tcomp 
)
+
+ +
+
+ +

◆ uct_ep_atomic32_post()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_atomic32_post (uct_ep_h ep,
uct_atomic_op_t opcode,
uint32_t value,
uint64_t remote_addr,
uct_rkey_t rkey 
)
+
+ +
+
+ +

◆ uct_ep_atomic64_post()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_atomic64_post (uct_ep_h ep,
uct_atomic_op_t opcode,
uint64_t value,
uint64_t remote_addr,
uct_rkey_t rkey 
)
+
+ +
+
+ +

◆ uct_ep_atomic32_fetch()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_atomic32_fetch (uct_ep_h ep,
uct_atomic_op_t opcode,
uint32_t value,
uint32_t * result,
uint64_t remote_addr,
uct_rkey_t rkey,
uct_completion_tcomp 
)
+
+ +
+
+ +

◆ uct_ep_atomic64_fetch()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_atomic64_fetch (uct_ep_h ep,
uct_atomic_op_t opcode,
uint64_t value,
uint64_t * result,
uint64_t remote_addr,
uct_rkey_t rkey,
uct_completion_tcomp 
)
+
+ +
+
+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_t___a_m_o.js b/api/v1.13/html/group___u_c_t___a_m_o.js new file mode 100644 index 00000000000..a92dfa2aa61 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___a_m_o.js @@ -0,0 +1,9 @@ +var group___u_c_t___a_m_o = +[ + [ "uct_ep_atomic_cswap64", "group___u_c_t___a_m_o.html#ga84362057b7249456e00c00844fc60290", null ], + [ "uct_ep_atomic_cswap32", "group___u_c_t___a_m_o.html#ga8c93ec75fb32dd52cda9cbe628b1077f", null ], + [ "uct_ep_atomic32_post", "group___u_c_t___a_m_o.html#ga81f59547148ece219e188d4196932e9f", null ], + [ "uct_ep_atomic64_post", "group___u_c_t___a_m_o.html#ga0e702db435215d222e12186cdcdf737c", null ], + [ "uct_ep_atomic32_fetch", "group___u_c_t___a_m_o.html#ga2d4fba85b9c7e5d70f09579bddbd91c6", null ], + [ "uct_ep_atomic64_fetch", "group___u_c_t___a_m_o.html#gae13c6bff2a3e26a133a3d17253fa3428", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___a_p_i.html b/api/v1.13/html/group___u_c_t___a_p_i.html new file mode 100644 index 00000000000..39f574ffa41 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___a_p_i.html @@ -0,0 +1,128 @@ + + + + + + + +UCX: Unified Communication Transport (UCT) API + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Unified Communication Transport (UCT) API
+
+
+ +

This section describes UCT API. +More...

+ + + + + + + + + + + + + + + + + + +

+Modules

 UCT Communication Resource
 
 UCT Communication Context
 
 UCT Memory Domain
 
 UCT Active messages
 
 UCT Remote memory access operations
 
 UCT Atomic operations
 
 UCT Tag matching operations
 
 UCT client-server operations
 
+

Detailed Description

+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_t___a_p_i.js b/api/v1.13/html/group___u_c_t___a_p_i.js new file mode 100644 index 00000000000..011c25f90a8 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___a_p_i.js @@ -0,0 +1,11 @@ +var group___u_c_t___a_p_i = +[ + [ "UCT Communication Resource", "group___u_c_t___r_e_s_o_u_r_c_e.html", "group___u_c_t___r_e_s_o_u_r_c_e" ], + [ "UCT Communication Context", "group___u_c_t___c_o_n_t_e_x_t.html", "group___u_c_t___c_o_n_t_e_x_t" ], + [ "UCT Memory Domain", "group___u_c_t___m_d.html", "group___u_c_t___m_d" ], + [ "UCT Active messages", "group___u_c_t___a_m.html", "group___u_c_t___a_m" ], + [ "UCT Remote memory access operations", "group___u_c_t___r_m_a.html", "group___u_c_t___r_m_a" ], + [ "UCT Atomic operations", "group___u_c_t___a_m_o.html", "group___u_c_t___a_m_o" ], + [ "UCT Tag matching operations", "group___u_c_t___t_a_g.html", "group___u_c_t___t_a_g" ], + [ "UCT client-server operations", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r" ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html new file mode 100644 index 00000000000..4949275f46b --- /dev/null +++ b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html @@ -0,0 +1,1642 @@ + + + + + + + +UCX: UCT client-server operations + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  uct_ep_connect_params
 Parameters for connecting a UCT endpoint by uct_ep_connect. More...
 
struct  uct_cm_attr
 Connection manager attributes, capabilities and limitations. More...
 
struct  uct_listener_attr
 UCT listener attributes, capabilities and limitations. More...
 
struct  uct_listener_params
 Parameters for creating a listener object uct_listener_h by uct_listener_create. More...
 
struct  uct_cm_ep_priv_data_pack_args
 Arguments to the client-server private data pack callback. More...
 
struct  uct_cm_ep_resolve_args
 Arguments to the client-server resolved callback. More...
 
struct  uct_cm_remote_data
 Data received from the remote peer. More...
 
struct  uct_cm_listener_conn_request_args
 Arguments to the listener's connection request callback. More...
 
struct  uct_cm_ep_client_connect_args
 Arguments to the client's connect callback. More...
 
struct  uct_cm_ep_server_conn_notify_args
 Arguments to the server's notify callback. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef struct uct_cm_ep_priv_data_pack_args uct_cm_ep_priv_data_pack_args_t
 Arguments to the client-server private data pack callback. More...
 
typedef struct uct_cm_ep_resolve_args uct_cm_ep_resolve_args_t
 Arguments to the client-server resolved callback. More...
 
typedef struct uct_cm_remote_data uct_cm_remote_data_t
 Data received from the remote peer. More...
 
typedef struct uct_cm_listener_conn_request_args uct_cm_listener_conn_request_args_t
 Arguments to the listener's connection request callback. More...
 
typedef struct uct_cm_ep_client_connect_args uct_cm_ep_client_connect_args_t
 Arguments to the client's connect callback. More...
 
typedef struct uct_cm_ep_server_conn_notify_args uct_cm_ep_server_conn_notify_args_t
 Arguments to the server's notify callback. More...
 
typedef void(* uct_sockaddr_conn_request_callback_t) (uct_iface_h iface, void *arg, uct_conn_request_h conn_request, const void *conn_priv_data, size_t length)
 Callback to process an incoming connection request on the server side. More...
 
typedef void(* uct_cm_listener_conn_request_callback_t) (uct_listener_h listener, void *arg, const uct_cm_listener_conn_request_args_t *conn_req_args)
 Callback to process an incoming connection request on the server side listener in a connection manager. More...
 
typedef void(* uct_cm_ep_server_conn_notify_callback_t) (uct_ep_h ep, void *arg, const uct_cm_ep_server_conn_notify_args_t *connect_args)
 Callback to process an incoming connection establishment acknowledgment on the server side listener, from the client, which indicates that the client side is connected. The callback also notifies the server side of a local error on a not-yet-connected endpoint. More...
 
typedef void(* uct_cm_ep_client_connect_callback_t) (uct_ep_h ep, void *arg, const uct_cm_ep_client_connect_args_t *connect_args)
 Callback to process an incoming connection response on the client side from the server or handle a local error on a not-yet-connected endpoint. More...
 
typedef void(* uct_ep_disconnect_cb_t) (uct_ep_h ep, void *arg)
 Callback to handle the disconnection of the remote peer. More...
 
typedef ssize_t(* uct_cm_ep_priv_data_pack_callback_t) (void *arg, const uct_cm_ep_priv_data_pack_args_t *pack_args, void *priv_data)
 Callback to fill the user's private data in a client-server flow. More...
 
typedef ucs_status_t(* uct_cm_ep_resolve_callback_t) (void *user_data, const uct_cm_ep_resolve_args_t *resolve_args)
 Callback to notify that the client side endpoint is bound to a local device. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  uct_cm_attr_field { UCT_CM_ATTR_FIELD_MAX_CONN_PRIV = UCS_BIT(0) + }
 UCT connection manager attributes field mask. More...
 
enum  uct_listener_attr_field { UCT_LISTENER_ATTR_FIELD_SOCKADDR = UCS_BIT(0) + }
 UCT listener attributes field mask. More...
 
enum  uct_listener_params_field { UCT_LISTENER_PARAM_FIELD_BACKLOG = UCS_BIT(0), +UCT_LISTENER_PARAM_FIELD_CONN_REQUEST_CB = UCS_BIT(1), +UCT_LISTENER_PARAM_FIELD_USER_DATA = UCS_BIT(2) + }
 UCT listener created by uct_listener_create parameters field mask. More...
 
enum  uct_ep_connect_params_field { UCT_EP_CONNECT_PARAM_FIELD_PRIVATE_DATA = UCS_BIT(0), +UCT_EP_CONNECT_PARAM_FIELD_PRIVATE_DATA_LENGTH = UCS_BIT(1) + }
 UCT endpoint connected by uct_ep_connect parameters field mask. More...
 
enum  uct_cm_ep_priv_data_pack_args_field { UCT_CM_EP_PRIV_DATA_PACK_ARGS_FIELD_DEVICE_NAME = UCS_BIT(0) + }
 Client-Server private data pack callback arguments field mask. More...
 
enum  uct_cm_ep_resolve_args_field { UCT_CM_EP_RESOLVE_ARGS_FIELD_DEV_NAME = UCS_BIT(0), +UCT_CM_EP_RESOLVE_ARGS_FIELD_STATUS = UCS_BIT(1) + }
 Client-Server resolve callback arguments field mask. More...
 
enum  uct_cm_remote_data_field { UCT_CM_REMOTE_DATA_FIELD_DEV_ADDR = UCS_BIT(0), +UCT_CM_REMOTE_DATA_FIELD_DEV_ADDR_LENGTH = UCS_BIT(1), +UCT_CM_REMOTE_DATA_FIELD_CONN_PRIV_DATA = UCS_BIT(2), +UCT_CM_REMOTE_DATA_FIELD_CONN_PRIV_DATA_LENGTH = UCS_BIT(3) + }
 Remote data attributes field mask. More...
 
enum  uct_cm_listener_conn_request_args_field { UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_DEV_NAME = UCS_BIT(0), +UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_CONN_REQUEST = UCS_BIT(1), +UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_REMOTE_DATA = UCS_BIT(2), +UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_CLIENT_ADDR = UCS_BIT(3) + }
 Listener's connection request callback arguments field mask. More...
 
enum  uct_cm_ep_client_connect_args_field { UCT_CM_EP_CLIENT_CONNECT_ARGS_FIELD_REMOTE_DATA = UCS_BIT(0), +UCT_CM_EP_CLIENT_CONNECT_ARGS_FIELD_STATUS = UCS_BIT(1) + }
 Field mask flags for client-side connection established callback. More...
 
enum  uct_cm_ep_server_conn_notify_args_field { UCT_CM_EP_SERVER_CONN_NOTIFY_ARGS_FIELD_STATUS = UCS_BIT(0) + }
 Field mask flags for server-side connection established notification callback. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ucs_status_t uct_iface_accept (uct_iface_h iface, uct_conn_request_h conn_request)
 Accept connection request. More...
 
ucs_status_t uct_iface_reject (uct_iface_h iface, uct_conn_request_h conn_request)
 Reject connection request. Will invoke an error handler uct_error_handler_t on the remote transport interface, if set. More...
 
ucs_status_t uct_ep_connect (uct_ep_h ep, const uct_ep_connect_params_t *params)
 Connect a client side endpoint after it is bound to a local network device, i.e. uct_ep_params_t::cm_resolve_cb was invoked. More...
 
ucs_status_t uct_ep_disconnect (uct_ep_h ep, unsigned flags)
 Initiate a disconnection of an endpoint connected to a sockaddr by a connection manager uct_cm_h. More...
 
ucs_status_t uct_cm_open (uct_component_h component, uct_worker_h worker, const uct_cm_config_t *config, uct_cm_h *cm_p)
 Open a connection manager. More...
 
void uct_cm_close (uct_cm_h cm)
 Close a connection manager. More...
 
ucs_status_t uct_cm_query (uct_cm_h cm, uct_cm_attr_t *cm_attr)
 Get connection manager attributes. More...
 
ucs_status_t uct_cm_config_read (uct_component_h component, const char *env_prefix, const char *filename, uct_cm_config_t **config_p)
 Read the configuration for a connection manager. More...
 
ucs_status_t uct_cm_client_ep_conn_notify (uct_ep_h ep)
 Notify the server about client-side connection establishment. More...
 
ucs_status_t uct_listener_create (uct_cm_h cm, const struct sockaddr *saddr, socklen_t socklen, const uct_listener_params_t *params, uct_listener_h *listener_p)
 Create a new transport listener object. More...
 
void uct_listener_destroy (uct_listener_h listener)
 Destroy a transport listener. More...
 
ucs_status_t uct_listener_reject (uct_listener_h listener, uct_conn_request_h conn_request)
 Reject a connection request. More...
 
ucs_status_t uct_listener_query (uct_listener_h listener, uct_listener_attr_t *listener_attr)
 Get attributes specific to a particular listener. More...
 
+

Detailed Description

+

Defines client-server operations. The client-server API allows the connection establishment between an active side - a client, and its peer - the passive side - a server. The connection can be established through a UCT transport that supports listening and connecting via IP address and port (listening can also be on INADDR_ANY).

+

The following is a general overview of the operations on the server side:

+

Connecting: uct_cm_open Open a connection manager. uct_listener_create Create a listener on the CM and start listening on a given IP,port / INADDR_ANY. uct_cm_listener_conn_request_callback_t This callback is invoked by the UCT transport to handle an incoming connection request from a client. Accept or reject the client's connection request. uct_ep_create Connect to the client by creating an endpoint if the request is accepted. The server creates a new endpoint for every connection request that it accepts. uct_cm_ep_server_conn_notify_callback_t This callback is invoked by the UCT transport to handle the connection notification from the client.

Note
The private data which the server should send to the client can be either provided directly to uct_ep_create, or filled by uct_cm_ep_priv_data_pack_callback_t provided to uct_ep_create.
+
+In order to reject a connection request, can either call uct_listener_reject or return failure status as defined by ucs_status_t from uct_cm_ep_priv_data_pack_callback_t.
+

Disconnecting: uct_ep_disconnect Disconnect the server's endpoint from the client. Can be called when initiating a disconnect or when receiving a disconnect notification from the remote side. uct_ep_disconnect_cb_t This callback is invoked by the UCT transport when the client side calls uct_ep_disconnect as well. uct_ep_destroy Destroy the endpoint connected to the remote peer. If this function is called before the endpoint was disconnected, the uct_ep_disconnect_cb_t will not be invoked.

+

Destroying the server's resources: uct_listener_destroy Destroy the listener object. uct_cm_close Close the connection manager.

+

The following is a general overview of the operations on the client side:

+

Connecting: uct_cm_open Open a connection manager. uct_ep_create Create an endpoint for establishing a connection to the server. uct_cm_ep_resolve_callback_t This callback is invoked on the client side of the connection manager, after the remote server address was resolved to the local device to be used for connection establishment. uct_ep_connect This function should be called on the client side, in order to send private data and resume connection establishment, following an address-resolved notification via uct_cm_ep_resolve_callback_t. uct_cm_ep_client_connect_callback_t This callback is invoked by the UCT transport to handle a connection response from the server. After invoking this callback, the UCT transport will finalize the client's connection to the server. uct_cm_client_ep_conn_notify After the client's connection establishment is completed, the client should call this function in which it sends a notification message to the server stating that it (the client) is connected. The notification message that is sent depends on the transport's implementation.

+

Disconnecting: uct_ep_disconnect Disconnect the client's endpoint from the server. Can be called when initiating a disconnect or when receiving a disconnect notification from the remote side. uct_ep_disconnect_cb_t This callback is invoked by the UCT transport when the server side calls uct_ep_disconnect as well. uct_ep_destroy Destroy the endpoint connected to the remote peer.

+

Destroying the client's resources: uct_cm_close Close the connection manager.

+

Data Structure Documentation

+ +

◆ uct_ep_connect_params

+ +
+
+ + + + +
struct uct_ep_connect_params
+
+
+ + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from uct_ep_connect_params_field. Fields not specified by this mask will be ignored.

+
+const void * +private_data +

User's private data to be passed from client to server.

+
+size_t +private_data_length +

Length of uct_ep_connect_params::private_data, the maximal allowed value is indicated by the uct_cm_attr::max_conn_priv.

+
+ +
+
+ +

◆ uct_cm_attr

+ +
+
+ + + + +
struct uct_cm_attr
+
+
+ + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from uct_cm_attr_field. Fields not specified by this mask will be ignored.

+
+size_t +max_conn_priv +

Max size of the connection manager's private data used for connection establishment with sockaddr.

+
+ +
+
+ +

◆ uct_listener_attr

+ +
+
+ + + + +
struct uct_listener_attr
+
+
+ + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from uct_listener_attr_field. Fields not specified by this mask will be ignored.

+
+struct sockaddr_storage +sockaddr +

Sockaddr on which this listener is listening.

+
+ +
+
+ +

◆ uct_listener_params

+ +
+
+ + + + +
struct uct_listener_params
+
+
+ + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from uct_listener_params_field. Fields not specified by this mask will be ignored.

+
+int +backlog +

Backlog of incoming connection requests. If specified, must be a positive value. If not specified, each CM component will use its maximal allowed value, based on the system's setting.

+
+uct_cm_listener_conn_request_callback_t +conn_request_cb +

Callback function for handling incoming connection requests.

+
+void * +user_data +

User data associated with the listener.

+
+ +
+
+ +

◆ uct_cm_ep_priv_data_pack_args

+ +
+
+ + + + +
struct uct_cm_ep_priv_data_pack_args
+
+

Used with the client-server API on a connection manager.

+
+ + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from uct_cm_ep_priv_data_pack_args_field. Fields not specified by this mask should not be accessed by the callback.

+
+char +dev_name[UCT_DEVICE_NAME_MAX] +

Device name. This routine may fill the user's private data according to the given device name. The device name that is passed to this routine, corresponds to uct_tl_resource_desc_t::dev_name as returned from uct_md_query_tl_resources.

+
+ +
+
+ +

◆ uct_cm_ep_resolve_args

+ +
+
+ + + + +
struct uct_cm_ep_resolve_args
+
+

Used with the client-server API on a connection manager.

+
+ + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from uct_cm_ep_resolve_args_field. Fields not specified by this mask should not be accessed by the callback.

+
+char +dev_name[UCT_DEVICE_NAME_MAX] +

Device name indicates the device that the endpoint was bound to during address and route resolution. The device name that is passed to this callback corresponds to uct_tl_resource_desc_t::dev_name as returned from uct_md_query_tl_resources.

+
+ucs_status_t +status +

Indicates address resolution status: UCS_OK - address of the remote server was resolved successfully. UCS_ERR_UNREACHABLE - the remote server is unreachable. Otherwise - indicates an internal connection establishment error on the local (client) side.

+
+ +
+
+ +

◆ uct_cm_remote_data

+ +
+
+ + + + +
struct uct_cm_remote_data
+
+

The remote peer's device address, the data received from it and their lengths. Used with the client-server API on a connection manager.

+
+ + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from uct_cm_remote_data_field. Fields not specified by this mask will be ignored.

+
+const uct_device_addr_t * +dev_addr +

Device address of the remote peer.

+
+size_t +dev_addr_length +

Length of the remote device address.

+
+const void * +conn_priv_data +

Pointer to the received data. This is the private data that was passed to uct_ep_params_t::sockaddr_pack_cb.

+
+size_t +conn_priv_data_length +

Length of the received data from the peer.

+
+ +
+
+ +

◆ uct_cm_listener_conn_request_args

+ +
+
+ + + + +
struct uct_cm_listener_conn_request_args
+
+

The local device name, connection request handle and the data the client sent. Used with the client-server API on a connection manager.

+
+ + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from uct_cm_listener_conn_request_args_field. Fields not specified by this mask should not be accessed by the callback.

+
+char +dev_name[UCT_DEVICE_NAME_MAX] +

Local device name which handles the incoming connection request.

+
+uct_conn_request_h +conn_request +

Connection request handle. Can be passed to this callback from the transport and will be used by it to accept or reject the connection request from the client.

+
+const uct_cm_remote_data_t * +remote_data +

Remote data from the client.

+
+ucs_sock_addr_t +client_address +

Client's address.

+
+ +
+
+ +

◆ uct_cm_ep_client_connect_args

+ +
+
+ + + + +
struct uct_cm_ep_client_connect_args
+
+

Used with the client-server API on a connection manager.

+
+ + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from uct_cm_ep_client_connect_args_field. Fields not specified by this mask should not be accessed by the callback.

+
+const uct_cm_remote_data_t * +remote_data +

Remote data from the server.

+
+ucs_status_t +status +

Indicates the connection establishment response from the remote server: UCS_OK - the remote server accepted the connection request. UCS_ERR_REJECTED - the remote server rejected the connection request. UCS_ERR_CONNECTION_RESET - the server's connection was reset during the connection establishment to the client. Otherwise - indicates an internal connection establishment error on the local (client) side.

+
+ +
+
+ +

◆ uct_cm_ep_server_conn_notify_args

+ +
+
+ + + + +
struct uct_cm_ep_server_conn_notify_args
+
+

Used with the client-server API on a connection manager.

+
+ + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from uct_cm_ep_server_conn_notify_args_field. Fields not specified by this mask should not be accessed by the callback.

+
+ucs_status_t +status +

Indicates the client's ucs_status_t status: UCS_OK - the client completed its connection establishment and called uct_cm_client_ep_conn_notify UCS_ERR_CONNECTION_RESET - the client's connection was reset during the connection establishment to the server. Otherwise - indicates an internal connection establishment error on the local (server) side.

+
+ +
+
+

Typedef Documentation

+ +

◆ uct_cm_ep_priv_data_pack_args_t

+ +
+
+

Used with the client-server API on a connection manager.

+ +
+
+ +

◆ uct_cm_ep_resolve_args_t

+ +
+
+

Used with the client-server API on a connection manager.

+ +
+
+ +

◆ uct_cm_remote_data_t

+ +
+
+ + + + +
typedef struct uct_cm_remote_data uct_cm_remote_data_t
+
+

The remote peer's device address, the data received from it and their lengths. Used with the client-server API on a connection manager.

+ +
+
+ +

◆ uct_cm_listener_conn_request_args_t

+ +
+
+

The local device name, connection request handle and the data the client sent. Used with the client-server API on a connection manager.

+ +
+
+ +

◆ uct_cm_ep_client_connect_args_t

+ +
+
+

Used with the client-server API on a connection manager.

+ +
+
+ +

◆ uct_cm_ep_server_conn_notify_args_t

+ +
+
+

Used with the client-server API on a connection manager.

+ +
+
+ +

◆ uct_sockaddr_conn_request_callback_t

+ +
+
+ + + + +
typedef void(* uct_sockaddr_conn_request_callback_t) (uct_iface_h iface, void *arg, uct_conn_request_h conn_request, const void *conn_priv_data, size_t length)
+
+

This callback routine will be invoked on the server side upon receiving an incoming connection request. It should be set by the server side while initializing an interface. Incoming data is placed inside the conn_priv_data buffer. This callback has to be thread safe. Other than communication progress routines, it is allowed to call other UCT communication routines from this callback.

+
Parameters
+ + + + + + +
[in]ifaceTransport interface.
[in]argUser defined argument for this callback.
[in]conn_requestTransport level connection request. The user should accept or reject the request by calling uct_iface_accept or uct_iface_reject routines respectively. conn_request should not be used outside the scope of this callback.
[in]conn_priv_dataPoints to the received data. This is the private data that was passed to the uct_ep_params_t::sockaddr_pack_cb on the client side.
[in]lengthLength of the received data.
+
+
+ +
+
+ +

◆ uct_cm_listener_conn_request_callback_t

+ +
+
+ + + + +
typedef void(* uct_cm_listener_conn_request_callback_t) (uct_listener_h listener, void *arg, const uct_cm_listener_conn_request_args_t *conn_req_args)
+
+

This callback routine will be invoked on the server side upon receiving an incoming connection request. It should be set by the server side while initializing a listener in a connection manager. This callback has to be thread safe. Other than communication progress routines, it is allowed to call other UCT communication routines from this callback.

+
Parameters
+ + + + +
[in]listenerTransport listener.
[in]argUser argument for this callback as defined in uct_listener_params_t::user_data
[in]conn_req_argsListener's arguments to handle the connection request from the client.
+
+
+ +
+
+ +

◆ uct_cm_ep_server_conn_notify_callback_t

+ +
+
+ + + + +
typedef void(* uct_cm_ep_server_conn_notify_callback_t) (uct_ep_h ep, void *arg, const uct_cm_ep_server_conn_notify_args_t *connect_args)
+
+

This callback routine will be invoked on the server side upon receiving an incoming connection establishment acknowledgment from the client, which is sent from it once the client is connected to the server. Used to connect the server side to the client or handle an error from it - depending on the status field. This callback will also be invoked in the event of an internal local error with a failed uct_cm_ep_server_conn_notify_args::status if the endpoint was not connected yet. This callback has to be thread safe. Other than communication progress routines, it is permissible to call other UCT communication routines from this callback.

+
Parameters
+ + + + +
[in]epTransport endpoint.
[in]argUser argument for this callback as defined in uct_ep_params_t::user_data
[in]connect_argsServer's connect callback arguments.
+
+
+ +
+
+ +

◆ uct_cm_ep_client_connect_callback_t

+ +
+
+ + + + +
typedef void(* uct_cm_ep_client_connect_callback_t) (uct_ep_h ep, void *arg, const uct_cm_ep_client_connect_args_t *connect_args)
+
+

This callback routine will be invoked on the client side upon receiving an incoming connection response from the server. Used to connect the client side to the server or handle an error from it - depending on the status field. This callback will also be invoked in the event of an internal local error with a failed uct_cm_ep_client_connect_args::status if the endpoint was not connected yet. This callback has to be thread safe. Other than communication progress routines, it is permissible to call other UCT communication routines from this callback.

+
Parameters
+ + + + +
[in]epTransport endpoint.
[in]argUser argument for this callback as defined in uct_ep_params_t::user_data.
[in]connect_argsClient's connect callback arguments
+
+
+ +
+
+ +

◆ uct_ep_disconnect_cb_t

+ +
+
+ + + + +
typedef void(* uct_ep_disconnect_cb_t) (uct_ep_h ep, void *arg)
+
+

This callback routine will be invoked on the client and server sides upon a disconnect of the remote peer. It will disconnect the given endpoint from the remote peer. This callback won't be invoked if the endpoint was not connected to the remote peer yet. This callback has to be thread safe. Other than communication progress routines, it is permissible to call other UCT communication routines from this callback.

+
Parameters
+ + + +
[in]epTransport endpoint to disconnect.
[in]argUser argument for this callback as defined in uct_ep_params_t::user_data.
+
+
+ +
+
+ +

◆ uct_cm_ep_priv_data_pack_callback_t

+ +
+
+ + + + +
typedef ssize_t(* uct_cm_ep_priv_data_pack_callback_t) (void *arg, const uct_cm_ep_priv_data_pack_args_t *pack_args, void *priv_data)
+
+

This callback routine will be invoked on the client side, before sending the transport's connection request to the server, or on the server side before sending a connection response to the client. This callback routine can be set when creating an endpoint. The user's private data should be placed inside the priv_data buffer to be sent to the remote side. The maximal allowed length of the private data is indicated by the field max_conn_priv inside uct_iface_attr or inside uct_cm_attr when using a connection manager. Communication progress routines should not be called from this callback. It is allowed to call other UCT communication routines from this callback.

+
Parameters
+ + + + +
[in]argUser defined argument for this callback.
[in]pack_argsHandle for the the private data packing.
[out]priv_dataUser's private data to be passed to the remote side.
+
+
+
Returns
Negative value indicates an error according to ucs_status_t. On success, a non-negative value indicates actual number of bytes written to the priv_data buffer.
+ +
+
+ +

◆ uct_cm_ep_resolve_callback_t

+ +
+
+ + + + +
typedef ucs_status_t(* uct_cm_ep_resolve_callback_t) (void *user_data, const uct_cm_ep_resolve_args_t *resolve_args)
+
+

This callback routine will be invoked, when the client side endpoint is bound to a local device. The callback routine can be set when creating an endpoint. Communication progress routines should not be called from this callback. It is allowed to call other UCT communication routines from this callback.

+
Parameters
+ + + +
[in]user_dataUser argument as defined in uct_ep_params_t::user_data.
[in]resolve_argsHandle for the extra arguments provided by the transport.
+
+
+
Returns
UCS_OK on success or error as defined in ucs_status_t.
+ +
+
+

Enumeration Type Documentation

+ +

◆ uct_cm_attr_field

+ +
+
+ + + + +
enum uct_cm_attr_field
+
+

The enumeration allows specifying which fields in uct_cm_attr_t are present, for backward compatibility support.

+ + +
Enumerator
UCT_CM_ATTR_FIELD_MAX_CONN_PRIV 

Enables uct_cm_attr::max_conn_priv

+
+ +
+
+ +

◆ uct_listener_attr_field

+ +
+
+ + + + +
enum uct_listener_attr_field
+
+

The enumeration allows specifying which fields in uct_listener_attr_t are present, for backward compatibility support.

+ + +
Enumerator
UCT_LISTENER_ATTR_FIELD_SOCKADDR 

Enables uct_listener_attr::sockaddr

+
+ +
+
+ +

◆ uct_listener_params_field

+ +
+
+ + + + +
enum uct_listener_params_field
+
+

The enumeration allows specifying which fields in uct_listener_params_t are present, for backward compatibility support.

+ + + + +
Enumerator
UCT_LISTENER_PARAM_FIELD_BACKLOG 

Enables uct_listener_params::backlog

+
UCT_LISTENER_PARAM_FIELD_CONN_REQUEST_CB 

Enables uct_listener_params::conn_request_cb

+
UCT_LISTENER_PARAM_FIELD_USER_DATA 

Enables uct_listener_params::user_data

+
+ +
+
+ +

◆ uct_ep_connect_params_field

+ +
+
+ + + + +
enum uct_ep_connect_params_field
+
+

The enumeration allows specifying which fields in uct_ep_connect_params_t are present, for backward compatibility support.

+ + + +
Enumerator
UCT_EP_CONNECT_PARAM_FIELD_PRIVATE_DATA 

Enables uct_ep_connect_params::private_data

+
UCT_EP_CONNECT_PARAM_FIELD_PRIVATE_DATA_LENGTH 

Enables uct_ep_connect_params::private_data_length

+
+ +
+
+ +

◆ uct_cm_ep_priv_data_pack_args_field

+ +
+
+

The enumeration allows specifying which fields in uct_cm_ep_priv_data_pack_args are present, for backward compatibility support.

+ + +
Enumerator
UCT_CM_EP_PRIV_DATA_PACK_ARGS_FIELD_DEVICE_NAME 

Enables uct_cm_ep_priv_data_pack_args::dev_name Indicates that dev_name field in uct_cm_ep_priv_data_pack_args_t is valid.

+
+ +
+
+ +

◆ uct_cm_ep_resolve_args_field

+ +
+
+

The enumeration allows specifying which fields in uct_cm_ep_resolve_args are present, for backward compatibility support.

+ + + +
Enumerator
UCT_CM_EP_RESOLVE_ARGS_FIELD_DEV_NAME 

Indicates that uct_cm_ep_resolve_args::dev_name is valid.

+
UCT_CM_EP_RESOLVE_ARGS_FIELD_STATUS 

Indicates that uct_cm_ep_resolve_args::status is valid.

+
+ +
+
+ +

◆ uct_cm_remote_data_field

+ +
+
+ + + + +
enum uct_cm_remote_data_field
+
+

The enumeration allows specifying which fields in uct_cm_remote_data are present, for backward compatibility support.

+ + + + + +
Enumerator
UCT_CM_REMOTE_DATA_FIELD_DEV_ADDR 

Enables uct_cm_remote_data::dev_addr

+
UCT_CM_REMOTE_DATA_FIELD_DEV_ADDR_LENGTH 

Enables uct_cm_remote_data::dev_addr_length

+
UCT_CM_REMOTE_DATA_FIELD_CONN_PRIV_DATA 

Enables uct_cm_remote_data::conn_priv_data

+
UCT_CM_REMOTE_DATA_FIELD_CONN_PRIV_DATA_LENGTH 

Enables uct_cm_remote_data::conn_priv_data_length

+
+ +
+
+ +

◆ uct_cm_listener_conn_request_args_field

+ +
+
+

The enumeration allows specifying which fields in uct_cm_listener_conn_request_args are present, for backward compatibility support.

+ + + + + +
Enumerator
UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_DEV_NAME 

Enables uct_cm_listener_conn_request_args::dev_name Indicates that dev_name field in uct_cm_listener_conn_request_args_t is valid.

+
UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_CONN_REQUEST 

Enables uct_cm_listener_conn_request_args::conn_request Indicates that conn_request field in uct_cm_listener_conn_request_args_t is valid.

+
UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_REMOTE_DATA 

Enables uct_cm_listener_conn_request_args::remote_data Indicates that remote_data field in uct_cm_listener_conn_request_args_t is valid.

+
UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_CLIENT_ADDR 

Enables uct_cm_listener_conn_request_args::client_address Indicates that client_address field in uct_cm_listener_conn_request_args_t is valid.

+
+ +
+
+ +

◆ uct_cm_ep_client_connect_args_field

+ +
+
+

The enumeration allows specifying which fields in uct_cm_ep_client_connect_args are present, for backward compatibility support.

+ + + +
Enumerator
UCT_CM_EP_CLIENT_CONNECT_ARGS_FIELD_REMOTE_DATA 

Enables uct_cm_ep_client_connect_args::remote_data

+
UCT_CM_EP_CLIENT_CONNECT_ARGS_FIELD_STATUS 

Enables uct_cm_ep_client_connect_args::status

+
+ +
+
+ +

◆ uct_cm_ep_server_conn_notify_args_field

+ +
+
+

The enumeration allows specifying which fields in uct_cm_ep_server_conn_notify_args are present, for backward compatibility support.

+ + +
Enumerator
UCT_CM_EP_SERVER_CONN_NOTIFY_ARGS_FIELD_STATUS 

Enables uct_cm_ep_server_conn_notify_args::status Indicates that status field in uct_cm_ep_server_conn_notify_args_t is valid.

+
+ +
+
+

Function Documentation

+ +

◆ uct_iface_accept()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_iface_accept (uct_iface_h iface,
uct_conn_request_h conn_request 
)
+
+
Parameters
+ + + +
[in]ifaceTransport interface which generated connection request conn_request.
[in]conn_requestConnection establishment request passed as parameter of uct_sockaddr_conn_request_callback_t.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ uct_iface_reject()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_iface_reject (uct_iface_h iface,
uct_conn_request_h conn_request 
)
+
+
Parameters
+ + + +
[in]ifaceInterface which generated connection establishment request conn_request.
[in]conn_requestConnection establishment request passed as parameter of uct_sockaddr_conn_request_callback_t.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ uct_ep_connect()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_connect (uct_ep_h ep,
const uct_ep_connect_params_tparams 
)
+
+

This non-blocking routine establishes connection of the client side endpoint and sends private data to the peer.

+
Parameters
+ + + +
[in]epEndpoint to connect.
[in]paramsParameters as defined in uct_ep_connect_params_t.
+
+
+
Returns
UCS_OK Operation has been initiated successfully. Other error codes as defined by ucs_status_t.
+ +
+
+ +

◆ uct_ep_disconnect()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_disconnect (uct_ep_h ep,
unsigned flags 
)
+
+

This non-blocking routine will send a disconnect notification on the endpoint, so that uct_ep_disconnect_cb_t will be called on the remote peer. The remote side should also call this routine when handling the initiator's disconnect. After a call to this function, the given endpoint may not be used for communications anymore. The uct_ep_flush / uct_iface_flush routines will guarantee that the disconnect notification is delivered to the remote peer. uct_ep_destroy should be called on this endpoint after invoking this routine and uct_ep_params::disconnect_cb was called.

+
Parameters
+ + + +
[in]epEndpoint to disconnect.
[in]flagsReserved for future use.
+
+
+
Returns
UCS_OK Operation has completed successfully. UCS_ERR_BUSY The ep is not connected yet (either uct_cm_ep_client_connect_callback_t or uct_cm_ep_server_conn_notify_callback_t was not invoked). UCS_INPROGRESS The disconnect request has been initiated, but the remote peer has not yet responded to this request, and consequently the registered callback uct_ep_disconnect_cb_t has not been invoked to handle the request. UCS_ERR_NOT_CONNECTED The ep is disconnected locally and remotely. Other error codes as defined by ucs_status_t .
+ +
+
+ +

◆ uct_cm_open()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_cm_open (uct_component_h component,
uct_worker_h worker,
const uct_cm_config_tconfig,
uct_cm_hcm_p 
)
+
+

Open a connection manager. All client server connection establishment operations are performed in the context of a specific connection manager.

Note
This is an alternative API for uct_iface_open_mode::UCT_IFACE_OPEN_MODE_SOCKADDR_SERVER and uct_iface_open_mode::UCT_IFACE_OPEN_MODE_SOCKADDR_CLIENT .
+
Parameters
+ + + + + +
[in]componentComponent on which to open the connection manager, as returned from uct_query_components.
[in]workerWorker on which to open the connection manager.
[in]configCM configuration options. Either obtained from uct_cm_config_read() function, or pointer to CM-specific structure that extends uct_cm_config_t.
[out]cm_pFilled with a handle to the connection manager.
+
+
+
Returns
Error code.
+ +
+
+ +

◆ uct_cm_close()

+ +
+
+ + + + + + + + +
void uct_cm_close (uct_cm_h cm)
+
+
Parameters
+ + +
[in]cmConnection manager to close.
+
+
+ +
+
+ +

◆ uct_cm_query()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_cm_query (uct_cm_h cm,
uct_cm_attr_tcm_attr 
)
+
+

This routine queries the cm for its attributes uct_cm_attr_t.

+
Parameters
+ + + +
[in]cmConnection manager to query.
[out]cm_attrFilled with connection manager attributes.
+
+
+ +
+
+ +

◆ uct_cm_config_read()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_cm_config_read (uct_component_h component,
const char * env_prefix,
const char * filename,
uct_cm_config_t ** config_p 
)
+
+
Parameters
+ + + + + +
[in]componentRead the configuration of the connection manager on this component.
[in]env_prefixIf non-NULL, search for environment variables starting with this UCT_<prefix>_. Otherwise, search for environment variables starting with just UCT_.
[in]filenameIf non-NULL, read configuration from this file. If the file does not exist, or exists but cannot be opened or read, it will be ignored.
[out]config_pFilled with a pointer to the configuration.
+
+
+
Returns
Error code.
+ +
+
+ +

◆ uct_cm_client_ep_conn_notify()

+ +
+
+ + + + + + + + +
ucs_status_t uct_cm_client_ep_conn_notify (uct_ep_h ep)
+
+

This routine should be called on the client side after the client completed establishing its connection to the server. The routine will send a notification message to the server indicating that the client is connected.

+
Parameters
+ + +
[in]epThe connected endpoint on the client side.
+
+
+
Returns
Error code.
+ +
+
+ +

◆ uct_listener_create()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_listener_create (uct_cm_h cm,
const struct sockaddr * saddr,
socklen_t socklen,
const uct_listener_params_tparams,
uct_listener_hlistener_p 
)
+
+

This routine creates a new listener on the given CM which will start listening on a given sockaddr.

+
Parameters
+ + + + + + +
[in]cmConnection manager on which to open the listener. This cm should not be closed as long as there are open listeners on it.
[in]saddrThe socket address to listen on.
[in]socklenThe saddr length.
[in]paramsUser defined uct_listener_params_t configurations for the listener_p.
[out]listener_pFilled with handle to the new listener.
+
+
+
Returns
Error code.
+ +
+
+ +

◆ uct_listener_destroy()

+ +
+
+ + + + + + + + +
void uct_listener_destroy (uct_listener_h listener)
+
+
Parameters
+ + +
[in]listenerListener to destroy.
+
+
+ +
+
+ +

◆ uct_listener_reject()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_listener_reject (uct_listener_h listener,
uct_conn_request_h conn_request 
)
+
+

This routine can be invoked on the server side. It rejects a connection request from the client.

+
Parameters
+ + + +
[in]listenerListener which will reject the connection request.
[in]conn_requestConnection establishment request passed as parameter of uct_cm_listener_conn_request_callback_t in uct_cm_listener_conn_request_args_t::conn_request.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+ +

◆ uct_listener_query()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_listener_query (uct_listener_h listener,
uct_listener_attr_tlistener_attr 
)
+
+

This routine queries the listener for its attributes uct_listener_attr_t.

+
Parameters
+ + + +
[in]listenerListener object to query.
[out]listener_attrFilled with attributes of the listener.
+
+
+
Returns
Error code as defined by ucs_status_t
+ +
+
+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.js b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.js new file mode 100644 index 00000000000..b2375a37e4e --- /dev/null +++ b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.js @@ -0,0 +1,121 @@ +var group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r = +[ + [ "uct_ep_connect_params", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__ep__connect__params", [ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a360893687dea33e2451afc89b89cf858", null ], + [ "private_data", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#affe9b0a217e8e706f08da5b2efee3665", null ], + [ "private_data_length", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a3db99efa74cecf7060aad87e73922572", null ] + ] ], + [ "uct_cm_attr", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__attr", [ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a384bf8b975a0d90b7117f4e393684e3d", null ], + [ "max_conn_priv", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#adb462d4f30c639f7fb5a8a7d9702ddcf", null ] + ] ], + [ "uct_listener_attr", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__listener__attr", [ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#abd499e7b852c6af527c8db5a010040b6", null ], + [ "sockaddr", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a8cc6f13deda40a11ae98cae547869342", null ] + ] ], + [ "uct_listener_params", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__listener__params", [ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a2106149ec63faa5e1aebe7c7b1f941d6", null ], + [ "backlog", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a31658aea3303489537ffd68ecbd52f9c", null ], + [ "conn_request_cb", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a84a1de42f58965886c5d457480be3b2d", null ], + [ "user_data", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a8a9d41566f96e942418c48139ccede90", null ] + ] ], + [ "uct_cm_ep_priv_data_pack_args", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__priv__data__pack__args", [ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a2c613c2ce5d4a428c87a0d83849875ca", null ], + [ "dev_name", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a10c637e00793a55862826870bfe6499d", null ] + ] ], + [ "uct_cm_ep_resolve_args", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__resolve__args", [ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#abca562cc9e4c45a606ae464815d6cf1a", null ], + [ "dev_name", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#af750fc4d3be08d8dcd81f452b1ba5ab4", null ], + [ "status", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#afc75b0697e4624831532a20013eb4c98", null ] + ] ], + [ "uct_cm_remote_data", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__remote__data", [ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#af27cfe2f1146f9e7f8481d192728640e", null ], + [ "dev_addr", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ada382f435e44b388e3e29b16a04c3808", null ], + [ "dev_addr_length", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a05768f24babff9b522b4845dc2672c55", null ], + [ "conn_priv_data", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a3557ea63ebf0f959c06ad78a592cd311", null ], + [ "conn_priv_data_length", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ad68a816000641cdaab8b7bae782c005d", null ] + ] ], + [ "uct_cm_listener_conn_request_args", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__listener__conn__request__args", [ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ad79f7025c8f43a961b3f8d0501b45188", null ], + [ "dev_name", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a718770a6c8d147fadd63490c029de6d2", null ], + [ "conn_request", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#aec2a2194a329ef66262756de423a3cb2", null ], + [ "remote_data", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a333308d1c7eda2e28111dbe05b288746", null ], + [ "client_address", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ab9e98cce78462e28a6593a891f2aa3bc", null ] + ] ], + [ "uct_cm_ep_client_connect_args", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__client__connect__args", [ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a07453861a47b7c717f6e89356f75398e", null ], + [ "remote_data", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#adebf71af7948cb58f3724d1b0c4151bb", null ], + [ "status", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ab34b457dd1e16034378445aeac010d4b", null ] + ] ], + [ "uct_cm_ep_server_conn_notify_args", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__server__conn__notify__args", [ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a96b97f088ce727e04b1de822227b3283", null ], + [ "status", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a0deb70821df070090ebef30cb70b66c2", null ] + ] ], + [ "uct_cm_ep_priv_data_pack_args_t", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga72c3431a351c6f4defb61368c0ec7806", null ], + [ "uct_cm_ep_resolve_args_t", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaab6b697d57f77c7e5ab8665cb66f138c", null ], + [ "uct_cm_remote_data_t", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga2458f8dde2369d49eec3453fb6722674", null ], + [ "uct_cm_listener_conn_request_args_t", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga7268a2ca363cb04b529026b99dd56da0", null ], + [ "uct_cm_ep_client_connect_args_t", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga933f702714bc1ebb3d172ef74f2cfdab", null ], + [ "uct_cm_ep_server_conn_notify_args_t", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gadfa5264d4edfe19fc3dd6d1ceed218d5", null ], + [ "uct_sockaddr_conn_request_callback_t", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga18a175c5b28386d6693a35ae432466ef", null ], + [ "uct_cm_listener_conn_request_callback_t", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga8c150a87e614379b42283be7e91b0dec", null ], + [ "uct_cm_ep_server_conn_notify_callback_t", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaaffce62ed4f37b665a71a88f37cbfec6", null ], + [ "uct_cm_ep_client_connect_callback_t", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gad221f8e9528614b0688ea3097cc0c2bc", null ], + [ "uct_ep_disconnect_cb_t", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaf1b75ee068dfa5fbf7194f999360197a", null ], + [ "uct_cm_ep_priv_data_pack_callback_t", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga4eb772a7b4af18ae62b546bcd85250ef", null ], + [ "uct_cm_ep_resolve_callback_t", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gad96e813463556ed4d5e9258b4ceee78d", null ], + [ "uct_cm_attr_field", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga2b308be867e1e13dcb7d941b07835431", [ + [ "UCT_CM_ATTR_FIELD_MAX_CONN_PRIV", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga2b308be867e1e13dcb7d941b07835431a2521b69fbc5dd8dff615878729572978", null ] + ] ], + [ "uct_listener_attr_field", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gad253d9c2e4116f9a137a2d2450afbe66", [ + [ "UCT_LISTENER_ATTR_FIELD_SOCKADDR", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggad253d9c2e4116f9a137a2d2450afbe66af566cba098163f464bdad7c392232c3f", null ] + ] ], + [ "uct_listener_params_field", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaf716bd7cdc636377ef78c258886693c7", [ + [ "UCT_LISTENER_PARAM_FIELD_BACKLOG", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaf716bd7cdc636377ef78c258886693c7aa2a3bbfd550dc87ed8bba5cf960068fa", null ], + [ "UCT_LISTENER_PARAM_FIELD_CONN_REQUEST_CB", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaf716bd7cdc636377ef78c258886693c7a8a9ba7427c813614e65f29c38225ab44", null ], + [ "UCT_LISTENER_PARAM_FIELD_USER_DATA", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaf716bd7cdc636377ef78c258886693c7af6172e01a7919f4afd27fa5e0aa0b794", null ] + ] ], + [ "uct_ep_connect_params_field", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaa821e2f4247cd5e72632e5ea7008e6e1", [ + [ "UCT_EP_CONNECT_PARAM_FIELD_PRIVATE_DATA", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaa821e2f4247cd5e72632e5ea7008e6e1a51f30ec2f30a63bdea6660a0ad61305e", null ], + [ "UCT_EP_CONNECT_PARAM_FIELD_PRIVATE_DATA_LENGTH", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaa821e2f4247cd5e72632e5ea7008e6e1accc8d70e4ee5ee60283e1b53456963e1", null ] + ] ], + [ "uct_cm_ep_priv_data_pack_args_field", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga405dee8e814ebc33f14c5f44e80d008c", [ + [ "UCT_CM_EP_PRIV_DATA_PACK_ARGS_FIELD_DEVICE_NAME", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga405dee8e814ebc33f14c5f44e80d008ca39e1834470a48aaaa5b9e6fbef11b5f1", null ] + ] ], + [ "uct_cm_ep_resolve_args_field", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga6c342b6c43e178b73f567bd0fb253e62", [ + [ "UCT_CM_EP_RESOLVE_ARGS_FIELD_DEV_NAME", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga6c342b6c43e178b73f567bd0fb253e62ab617fac24c5437d6acd095c84eb0a6a1", null ], + [ "UCT_CM_EP_RESOLVE_ARGS_FIELD_STATUS", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga6c342b6c43e178b73f567bd0fb253e62ad7cc5818b0812933a99f25378be77cb5", null ] + ] ], + [ "uct_cm_remote_data_field", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga3e023485a86ad4092497ffe58cddef37", [ + [ "UCT_CM_REMOTE_DATA_FIELD_DEV_ADDR", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga3e023485a86ad4092497ffe58cddef37af5ba4b8423006af3e3b0342b9cea533b", null ], + [ "UCT_CM_REMOTE_DATA_FIELD_DEV_ADDR_LENGTH", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga3e023485a86ad4092497ffe58cddef37a22ac6bf59b6b07381c25ba808254092b", null ], + [ "UCT_CM_REMOTE_DATA_FIELD_CONN_PRIV_DATA", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga3e023485a86ad4092497ffe58cddef37a86ed1d1f02236dd9467176b2130fba32", null ], + [ "UCT_CM_REMOTE_DATA_FIELD_CONN_PRIV_DATA_LENGTH", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga3e023485a86ad4092497ffe58cddef37a550619037bb2bad0ad2a46dfe68f6cc3", null ] + ] ], + [ "uct_cm_listener_conn_request_args_field", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga9e97a59a0593244e730734d592b642df", [ + [ "UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_DEV_NAME", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga9e97a59a0593244e730734d592b642dfab3c57e4db473538c60b5feaf094833d9", null ], + [ "UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_CONN_REQUEST", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga9e97a59a0593244e730734d592b642dfadf438afd4aa996a342ddb1e69894882b", null ], + [ "UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_REMOTE_DATA", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga9e97a59a0593244e730734d592b642dfab87a184e4a1684ba337aaff9547c2753", null ], + [ "UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_CLIENT_ADDR", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga9e97a59a0593244e730734d592b642dfae396fa228bfaf18e554eaa2e91f19333", null ] + ] ], + [ "uct_cm_ep_client_connect_args_field", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga6746759cc1850c6e260fca7e3de008ad", [ + [ "UCT_CM_EP_CLIENT_CONNECT_ARGS_FIELD_REMOTE_DATA", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga6746759cc1850c6e260fca7e3de008ada9657c720a60df0b6b89bd9b019ac01cc", null ], + [ "UCT_CM_EP_CLIENT_CONNECT_ARGS_FIELD_STATUS", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga6746759cc1850c6e260fca7e3de008ada21ad19d697d3ff1b5a3acb0fcb4a7cfc", null ] + ] ], + [ "uct_cm_ep_server_conn_notify_args_field", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaf1cffc53a9b63fb98a77503917f5fd79", [ + [ "UCT_CM_EP_SERVER_CONN_NOTIFY_ARGS_FIELD_STATUS", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaf1cffc53a9b63fb98a77503917f5fd79a84648af7a2470a6869bd8d05e894b0a5", null ] + ] ], + [ "uct_iface_accept", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaadcca33083e95033b161b4f5b1365dc9", null ], + [ "uct_iface_reject", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga31c30e35f43121d1715620931860dafe", null ], + [ "uct_ep_connect", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaec09721914083255f4856da1a9541880", null ], + [ "uct_ep_disconnect", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga97049050f63eab653949cceef8fe4ba0", null ], + [ "uct_cm_open", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaa388b4d447f77dbb9dcc45f4fff4e9b9", null ], + [ "uct_cm_close", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga2d4b7947a338ad8721390f8c292a4dfa", null ], + [ "uct_cm_query", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga4a47044a01e1cefbe7a1fd6a7e9a6857", null ], + [ "uct_cm_config_read", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaec01265a1d6fbbeef49ca3bdb5bbf2b4", null ], + [ "uct_cm_client_ep_conn_notify", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga45664fb4113fa1f2ddad4fc181e0d62a", null ], + [ "uct_listener_create", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gadb87c52696a73feae4e1d6e0b9a01911", null ], + [ "uct_listener_destroy", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga8f6a0c420fbca1b5fbe7c1d919757d3f", null ], + [ "uct_listener_reject", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaa8d1ea690c1600dc334ae6a014110d5e", null ], + [ "uct_listener_query", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gae8b7a5fbada262d0f312970f018a916e", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__attr.js b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__attr.js new file mode 100644 index 00000000000..b3779ea2ee2 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__attr.js @@ -0,0 +1,5 @@ +var group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__attr = +[ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a384bf8b975a0d90b7117f4e393684e3d", null ], + [ "max_conn_priv", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#adb462d4f30c639f7fb5a8a7d9702ddcf", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__client__connect__args.js b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__client__connect__args.js new file mode 100644 index 00000000000..16f84b7347e --- /dev/null +++ b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__client__connect__args.js @@ -0,0 +1,6 @@ +var group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__client__connect__args = +[ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a07453861a47b7c717f6e89356f75398e", null ], + [ "remote_data", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#adebf71af7948cb58f3724d1b0c4151bb", null ], + [ "status", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ab34b457dd1e16034378445aeac010d4b", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__priv__data__pack__args.js b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__priv__data__pack__args.js new file mode 100644 index 00000000000..21ee899ec5c --- /dev/null +++ b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__priv__data__pack__args.js @@ -0,0 +1,5 @@ +var group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__priv__data__pack__args = +[ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a2c613c2ce5d4a428c87a0d83849875ca", null ], + [ "dev_name", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a10c637e00793a55862826870bfe6499d", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__resolve__args.js b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__resolve__args.js new file mode 100644 index 00000000000..157908b115f --- /dev/null +++ b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__resolve__args.js @@ -0,0 +1,6 @@ +var group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__resolve__args = +[ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#abca562cc9e4c45a606ae464815d6cf1a", null ], + [ "dev_name", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#af750fc4d3be08d8dcd81f452b1ba5ab4", null ], + [ "status", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#afc75b0697e4624831532a20013eb4c98", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__server__conn__notify__args.js b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__server__conn__notify__args.js new file mode 100644 index 00000000000..89db85964cb --- /dev/null +++ b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__server__conn__notify__args.js @@ -0,0 +1,5 @@ +var group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__ep__server__conn__notify__args = +[ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a96b97f088ce727e04b1de822227b3283", null ], + [ "status", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a0deb70821df070090ebef30cb70b66c2", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__listener__conn__request__args.js b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__listener__conn__request__args.js new file mode 100644 index 00000000000..388c84c886a --- /dev/null +++ b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__listener__conn__request__args.js @@ -0,0 +1,8 @@ +var group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__listener__conn__request__args = +[ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ad79f7025c8f43a961b3f8d0501b45188", null ], + [ "dev_name", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a718770a6c8d147fadd63490c029de6d2", null ], + [ "conn_request", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#aec2a2194a329ef66262756de423a3cb2", null ], + [ "remote_data", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a333308d1c7eda2e28111dbe05b288746", null ], + [ "client_address", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ab9e98cce78462e28a6593a891f2aa3bc", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__remote__data.js b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__remote__data.js new file mode 100644 index 00000000000..a6649d3ab85 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__remote__data.js @@ -0,0 +1,8 @@ +var group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__cm__remote__data = +[ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#af27cfe2f1146f9e7f8481d192728640e", null ], + [ "dev_addr", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ada382f435e44b388e3e29b16a04c3808", null ], + [ "dev_addr_length", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a05768f24babff9b522b4845dc2672c55", null ], + [ "conn_priv_data", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a3557ea63ebf0f959c06ad78a592cd311", null ], + [ "conn_priv_data_length", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ad68a816000641cdaab8b7bae782c005d", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__ep__connect__params.js b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__ep__connect__params.js new file mode 100644 index 00000000000..6d78b798614 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__ep__connect__params.js @@ -0,0 +1,6 @@ +var group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__ep__connect__params = +[ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a360893687dea33e2451afc89b89cf858", null ], + [ "private_data", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#affe9b0a217e8e706f08da5b2efee3665", null ], + [ "private_data_length", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a3db99efa74cecf7060aad87e73922572", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__listener__attr.js b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__listener__attr.js new file mode 100644 index 00000000000..3f276c79f92 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__listener__attr.js @@ -0,0 +1,5 @@ +var group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__listener__attr = +[ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#abd499e7b852c6af527c8db5a010040b6", null ], + [ "sockaddr", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a8cc6f13deda40a11ae98cae547869342", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__listener__params.js b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__listener__params.js new file mode 100644 index 00000000000..1f47af577b5 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__listener__params.js @@ -0,0 +1,7 @@ +var group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r_structuct__listener__params = +[ + [ "field_mask", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a2106149ec63faa5e1aebe7c7b1f941d6", null ], + [ "backlog", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a31658aea3303489537ffd68ecbd52f9c", null ], + [ "conn_request_cb", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a84a1de42f58965886c5d457480be3b2d", null ], + [ "user_data", "group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a8a9d41566f96e942418c48139ccede90", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___c_o_n_t_e_x_t.html b/api/v1.13/html/group___u_c_t___c_o_n_t_e_x_t.html new file mode 100644 index 00000000000..bb9ed56eb73 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___c_o_n_t_e_x_t.html @@ -0,0 +1,471 @@ + + + + + + + +UCX: UCT Communication Context + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + +

+Enumerations

enum  uct_alloc_method_t {
+  UCT_ALLOC_METHOD_THP, +UCT_ALLOC_METHOD_MD, +UCT_ALLOC_METHOD_HEAP, +UCT_ALLOC_METHOD_MMAP, +
+  UCT_ALLOC_METHOD_HUGE, +UCT_ALLOC_METHOD_LAST, +UCT_ALLOC_METHOD_DEFAULT = UCT_ALLOC_METHOD_LAST +
+ }
 Memory allocation methods. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

ucs_status_t uct_worker_create (ucs_async_context_t *async, ucs_thread_mode_t thread_mode, uct_worker_h *worker_p)
 Create a worker object. More...
 
void uct_worker_destroy (uct_worker_h worker)
 Destroy a worker object. More...
 
void uct_worker_progress_register_safe (uct_worker_h worker, ucs_callback_t func, void *arg, unsigned flags, uct_worker_cb_id_t *id_p)
 Add a slow path callback function to a worker progress. More...
 
void uct_worker_progress_unregister_safe (uct_worker_h worker, uct_worker_cb_id_t *id_p)
 Remove a slow path callback function from worker's progress. More...
 
ucs_status_t uct_config_get (void *config, const char *name, char *value, size_t max)
 Get value by name from interface configuration (uct_iface_config_t), memory domain configuration (uct_md_config_t) or connection manager configuration (uct_cm_config_t). More...
 
ucs_status_t uct_config_modify (void *config, const char *name, const char *value)
 Modify interface configuration (uct_iface_config_t), memory domain configuration (uct_md_config_t) or connection manager configuration (uct_cm_config_t). More...
 
unsigned uct_worker_progress (uct_worker_h worker)
 Explicit progress for UCT worker. More...
 
+

Detailed Description

+

UCT context abstracts all the resources required for network communication. It is designed to enable either share or isolate resources for multiple programming models used by an application.

+

This section provides a detailed description of this concept and routines associated with it.

+

Enumeration Type Documentation

+ +

◆ uct_alloc_method_t

+ +
+
+ + + + +
enum uct_alloc_method_t
+
+ + + + + + + + +
Enumerator
UCT_ALLOC_METHOD_THP 

Allocate from OS using libc allocator with Transparent Huge Pages enabled

+
UCT_ALLOC_METHOD_MD 

Allocate using memory domain

+
UCT_ALLOC_METHOD_HEAP 

Allocate from heap using libc allocator

+
UCT_ALLOC_METHOD_MMAP 

Allocate from OS using mmap() syscall

+
UCT_ALLOC_METHOD_HUGE 

Allocate huge pages

+
UCT_ALLOC_METHOD_LAST 
UCT_ALLOC_METHOD_DEFAULT 

Use default method

+
+ +
+
+

Function Documentation

+ +

◆ uct_worker_create()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_worker_create (ucs_async_context_t * async,
ucs_thread_mode_t thread_mode,
uct_worker_hworker_p 
)
+
+

The worker represents a progress engine. Multiple progress engines can be created in an application, for example to be used by multiple threads. Transports can allocate separate communication resources for every worker, so that every worker can be progressed independently of others.

+
Parameters
+ + + + +
[in]asyncContext for async event handlers. Must not be NULL.
[in]thread_modeThread access mode to the worker and all interfaces and endpoints associated with it.
[out]worker_pFilled with a pointer to the worker object.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_worker_destroy()

+ +
+
+ + + + + + + + +
void uct_worker_destroy (uct_worker_h worker)
+
+
Parameters
+ + +
[in]workerWorker object to destroy.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_worker_progress_register_safe()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void uct_worker_progress_register_safe (uct_worker_h worker,
ucs_callback_t func,
void * arg,
unsigned flags,
uct_worker_cb_id_tid_p 
)
+
+

If *id_p is equal to UCS_CALLBACKQ_ID_NULL, this function will add a callback which will be invoked every time progress is made on the worker. *id_p will be updated with an id which refers to this callback and can be used in uct_worker_progress_unregister_safe to remove it from the progress path.

+
Parameters
+ + + + + + +
[in]workerHandle to the worker whose progress should invoke the callback.
[in]funcPointer to the callback function.
[in]argArgument for the callback function.
[in]flagsCallback flags, see ucs_callbackq_flags.
[in,out]id_pPoints to a location to store a callback identifier. If *id_p is equal to UCS_CALLBACKQ_ID_NULL, a callback will be added and *id_p will be replaced with a callback identifier which can be subsequently used to remove the callback. Otherwise, no callback will be added and *id_p will be left unchanged.
+
+
+
Note
This function is thread safe.
+ +
+
+ +

◆ uct_worker_progress_unregister_safe()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void uct_worker_progress_unregister_safe (uct_worker_h worker,
uct_worker_cb_id_tid_p 
)
+
+

If *id_p is not equal to UCS_CALLBACKQ_ID_NULL, remove a callback which was previously added by uct_worker_progress_register_safe. *id_p will be reset to UCS_CALLBACKQ_ID_NULL.

+
Parameters
+ + + +
[in]workerHandle to the worker whose progress should invoke the callback.
[in,out]id_pPoints to a callback identifier which indicates the callback to remove. If *id_p is not equal to UCS_CALLBACKQ_ID_NULL, the callback will be removed and *id_p will be reset to UCS_CALLBACKQ_ID_NULL. If *id_p is equal to UCS_CALLBACKQ_ID_NULL, no operation will be performed and *id_p will be left unchanged.
+
+
+
Note
This function is thread safe.
+ +
+
+ +

◆ uct_config_get()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_config_get (void * config,
const char * name,
char * value,
size_t max 
)
+
+
Parameters
+ + + + + +
[in]configConfiguration to get from.
[in]nameConfiguration variable name.
[out]valuePointer to get value. Should be allocated/freed by caller.
[in]maxAvailable memory space at value pointer.
+
+
+
Returns
UCS_OK if found, otherwise UCS_ERR_INVALID_PARAM or UCS_ERR_NO_ELEM if error.
+ +
+
+ +

◆ uct_config_modify()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_config_modify (void * config,
const char * name,
const char * value 
)
+
+
Parameters
+ + + + +
[in]configConfiguration to modify.
[in]nameConfiguration variable name.
[in]valueValue to set.
+
+
+
Returns
Error code.
+ +
+
+ +

◆ uct_worker_progress()

+ +
+
+ + + + + + + + +
unsigned uct_worker_progress (uct_worker_h worker)
+
+

This routine explicitly progresses any outstanding communication operations and active message requests.

+
Note
    +
  • In the current implementation, users MUST call this routine to receive the active message requests.
  • +
+
+
Parameters
+ + +
[in]workerHandle to worker.
+
+
+
Returns
Nonzero if any communication was progressed, zero otherwise.
+
Examples
uct_hello_world.c.
+
+ +
+
+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_t___c_o_n_t_e_x_t.js b/api/v1.13/html/group___u_c_t___c_o_n_t_e_x_t.js new file mode 100644 index 00000000000..17b2ad94572 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___c_o_n_t_e_x_t.js @@ -0,0 +1,19 @@ +var group___u_c_t___c_o_n_t_e_x_t = +[ + [ "uct_alloc_method_t", "group___u_c_t___c_o_n_t_e_x_t.html#ga019362c62f98ff7935b05c512eb0ab09", [ + [ "UCT_ALLOC_METHOD_THP", "group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09ae4e651614b0a020b351b94f4a589fd07", null ], + [ "UCT_ALLOC_METHOD_MD", "group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09a2036e15fb7da79b6cb7af6e8bda700c7", null ], + [ "UCT_ALLOC_METHOD_HEAP", "group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09ab026ce58725388c3dca9d1a5d152250c", null ], + [ "UCT_ALLOC_METHOD_MMAP", "group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09a496187eba67f49a27e0017a4290505cc", null ], + [ "UCT_ALLOC_METHOD_HUGE", "group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09ad542185f2c8f7a7ff89f3a1b0581439d", null ], + [ "UCT_ALLOC_METHOD_LAST", "group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09a3b9f6f050e19d2d85425d2c87d4bdbb8", null ], + [ "UCT_ALLOC_METHOD_DEFAULT", "group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09aee732738d1b13520beeefda125e40665", null ] + ] ], + [ "uct_worker_create", "group___u_c_t___c_o_n_t_e_x_t.html#ga6f21b4dd1dc16d55f4a8e6bf65f8757f", null ], + [ "uct_worker_destroy", "group___u_c_t___c_o_n_t_e_x_t.html#ga22608452cb78bb1d3c9253860025c4fd", null ], + [ "uct_worker_progress_register_safe", "group___u_c_t___c_o_n_t_e_x_t.html#ga358ed4a23be49a3c1ace5d78a0b2ee9c", null ], + [ "uct_worker_progress_unregister_safe", "group___u_c_t___c_o_n_t_e_x_t.html#ga2dcbb085b3f94e5a2b6771c4cc7bcbbf", null ], + [ "uct_config_get", "group___u_c_t___c_o_n_t_e_x_t.html#ga711e3a72f282ad7d11d2945ea2dd7b4c", null ], + [ "uct_config_modify", "group___u_c_t___c_o_n_t_e_x_t.html#ga00b51bffb44b91b256dd6d6e6e99f98f", null ], + [ "uct_worker_progress", "group___u_c_t___c_o_n_t_e_x_t.html#ga4ec9fae48afd24d7fa7c5537e76b54e5", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___m_d.html b/api/v1.13/html/group___u_c_t___m_d.html new file mode 100644 index 00000000000..35a0d21be17 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___m_d.html @@ -0,0 +1,1489 @@ + + + + + + + +UCX: UCT Memory Domain + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  uct_md_attr
 Memory domain attributes. More...
 
struct  uct_md_attr.cap
 
struct  uct_md_mem_attr
 Memory domain attributes. More...
 
struct  uct_allocated_memory
 Describes a memory allocated by UCT. More...
 
struct  uct_rkey_bundle
 Remote key with its type. More...
 
struct  uct_mem_alloc_params_t
 Parameters for allocating memory using uct_mem_alloc. More...
 
struct  uct_mem_alloc_params_t.mds
 
+ + + + + + + + + + + + + +

+Typedefs

typedef enum uct_md_mem_attr_field uct_md_mem_attr_field_t
 UCT MD memory attributes field mask. More...
 
typedef struct uct_md_mem_attr uct_md_mem_attr_t
 Memory domain attributes. More...
 
typedef struct uct_allocated_memory uct_allocated_memory_t
 Describes a memory allocated by UCT. More...
 
typedef struct uct_rkey_bundle uct_rkey_bundle_t
 Remote key with its type. More...
 
+ + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  uct_sockaddr_accessibility_t { UCT_SOCKADDR_ACC_LOCAL, +UCT_SOCKADDR_ACC_REMOTE + }
 Socket address accessibility type. More...
 
enum  {
+  UCT_MD_FLAG_ALLOC = UCS_BIT(0), +UCT_MD_FLAG_REG = UCS_BIT(1), +UCT_MD_FLAG_NEED_MEMH = UCS_BIT(2), +UCT_MD_FLAG_NEED_RKEY = UCS_BIT(3), +
+  UCT_MD_FLAG_ADVISE = UCS_BIT(4), +UCT_MD_FLAG_FIXED = UCS_BIT(5), +UCT_MD_FLAG_RKEY_PTR = UCS_BIT(6), +UCT_MD_FLAG_SOCKADDR = UCS_BIT(7), +
+  UCT_MD_FLAG_INVALIDATE = UCS_BIT(8) +
+ }
 Memory domain capability flags. More...
 
enum  uct_md_mem_flags {
+  UCT_MD_MEM_FLAG_NONBLOCK = UCS_BIT(0), +UCT_MD_MEM_FLAG_FIXED = UCS_BIT(1), +UCT_MD_MEM_FLAG_LOCK = UCS_BIT(2), +UCT_MD_MEM_FLAG_HIDE_ERRORS = UCS_BIT(3), +
+  UCT_MD_MEM_ACCESS_REMOTE_PUT = UCS_BIT(5), +UCT_MD_MEM_ACCESS_REMOTE_GET = UCS_BIT(6), +UCT_MD_MEM_ACCESS_REMOTE_ATOMIC = UCS_BIT(7), +UCT_MD_MEM_ACCESS_LOCAL_READ = UCS_BIT(8), +
+  UCT_MD_MEM_ACCESS_LOCAL_WRITE = UCS_BIT(9), +UCT_MD_MEM_ACCESS_ALL, +UCT_MD_MEM_ACCESS_RMA +
+ }
 Memory allocation/registration flags. More...
 
enum  uct_mem_advice_t { UCT_MADV_NORMAL = 0, +UCT_MADV_WILLNEED + }
 list of UCT memory use advice More...
 
enum  uct_md_mem_attr_field { UCT_MD_MEM_ATTR_FIELD_MEM_TYPE = UCS_BIT(0), +UCT_MD_MEM_ATTR_FIELD_SYS_DEV = UCS_BIT(1), +UCT_MD_MEM_ATTR_FIELD_BASE_ADDRESS = UCS_BIT(2), +UCT_MD_MEM_ATTR_FIELD_ALLOC_LENGTH = UCS_BIT(3) + }
 UCT MD memory attributes field mask. More...
 
enum  uct_mem_alloc_params_field_t {
+  UCT_MEM_ALLOC_PARAM_FIELD_FLAGS = UCS_BIT(0), +UCT_MEM_ALLOC_PARAM_FIELD_ADDRESS = UCS_BIT(1), +UCT_MEM_ALLOC_PARAM_FIELD_MEM_TYPE = UCS_BIT(2), +UCT_MEM_ALLOC_PARAM_FIELD_MDS = UCS_BIT(3), +
+  UCT_MEM_ALLOC_PARAM_FIELD_NAME = UCS_BIT(4) +
+ }
 UCT allocation parameters specification field mask. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ucs_status_t uct_md_mem_query (uct_md_h md, const void *address, size_t length, uct_md_mem_attr_t *mem_attr)
 Query attributes of a given pointer. More...
 
ucs_status_t uct_md_query (uct_md_h md, uct_md_attr_t *md_attr)
 Query for memory domain attributes. More...
 
ucs_status_t uct_md_mem_advise (uct_md_h md, uct_mem_h memh, void *addr, size_t length, uct_mem_advice_t advice)
 Give advice about the use of memory. More...
 
ucs_status_t uct_md_mem_reg (uct_md_h md, void *address, size_t length, unsigned flags, uct_mem_h *memh_p)
 Register memory for zero-copy sends and remote access. More...
 
ucs_status_t uct_md_mem_dereg (uct_md_h md, uct_mem_h memh)
 Undo the operation of uct_md_mem_reg(). More...
 
ucs_status_t uct_md_detect_memory_type (uct_md_h md, const void *addr, size_t length, ucs_memory_type_t *mem_type_p)
 Detect memory type. More...
 
ucs_status_t uct_mem_alloc (size_t length, const uct_alloc_method_t *methods, unsigned num_methods, const uct_mem_alloc_params_t *params, uct_allocated_memory_t *mem)
 Allocate memory for zero-copy communications and remote access. More...
 
ucs_status_t uct_mem_free (const uct_allocated_memory_t *mem)
 Release allocated memory. More...
 
ucs_status_t uct_md_config_read (uct_component_h component, const char *env_prefix, const char *filename, uct_md_config_t **config_p)
 Read the configuration for a memory domain. More...
 
int uct_md_is_sockaddr_accessible (uct_md_h md, const ucs_sock_addr_t *sockaddr, uct_sockaddr_accessibility_t mode)
 Check if remote sock address is accessible from the memory domain. More...
 
ucs_status_t uct_md_mkey_pack (uct_md_h md, uct_mem_h memh, void *rkey_buffer)
 Pack a remote key. More...
 
ucs_status_t uct_rkey_unpack (uct_component_h component, const void *rkey_buffer, uct_rkey_bundle_t *rkey_ob)
 Unpack a remote key. More...
 
ucs_status_t uct_rkey_ptr (uct_component_h component, uct_rkey_bundle_t *rkey_ob, uint64_t remote_addr, void **addr_p)
 Get a local pointer to remote memory. More...
 
ucs_status_t uct_rkey_release (uct_component_h component, const uct_rkey_bundle_t *rkey_ob)
 Release a remote key. More...
 
+

Detailed Description

+

The Memory Domain abstracts resources required for network communication, which typically includes memory, transport mechanisms, compute and network resources. It is an isolation mechanism that can be employed by the applications for isolating resources between multiple programming models. The attributes of the Memory Domain are defined by the structure uct_md_attr(). The communication and memory operations are defined in the context of Memory Domain.

+

Data Structure Documentation

+ +

◆ uct_md_attr

+ +
+
+ + + + +
struct uct_md_attr
+
+

This structure defines the attributes of a Memory Domain which includes maximum memory that can be allocated, credentials required for accessing the memory, CPU mask indicating the proximity of CPUs, and bitmaps indicating the types of memory (CPU/CUDA/ROCM) that can be detected, allocated and accessed.

+
Examples
uct_hello_world.c.
+
+
+ + + + + + + + + + + + + + + + +
Data Fields
+struct uct_md_attr +cap +
+ucs_linear_func_t +reg_cost +

Memory registration cost estimation (time,seconds) as a linear function of the buffer size.

+
+char +component_name[UCT_COMPONENT_NAME_MAX] +

Component name

+
+size_t +rkey_packed_size +

Size of buffer needed for packed rkey

+
+ucs_cpu_set_t +local_cpus +

Mask of CPUs near the resource

+
+ +
+
+ +

◆ uct_md_attr.cap

+ +
+
+ + + + +
struct uct_md_attr.cap
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +max_alloc +

Maximal allocation size

+
+size_t +max_reg +

Maximal registration size

+
+uint64_t +flags +

UCT_MD_FLAG_xx

+
+uint64_t +reg_mem_types +

Bitmap of memory types that Memory Domain can be registered with

+
+uint64_t +detect_mem_types +

Bitmap of memory types that Memory Domain can detect if address belongs to it

+
+uint64_t +alloc_mem_types +

Bitmap of memory types that Memory Domain can allocate memory on

+
+uint64_t +access_mem_types +

Memory types that Memory Domain can access

+
+ +
+
+ +

◆ uct_md_mem_attr

+ +
+
+ + + + +
struct uct_md_mem_attr
+
+

This structure defines the attributes of a memory pointer which may include the memory type of the pointer, and the system device that backs the pointer depending on the bit fields populated in field_mask.

+
+ + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from uct_md_mem_attr_field_t.

+
+ucs_memory_type_t +mem_type +

The type of memory. E.g. CPU/GPU memory or some other valid type. If the md does not support sys_dev query, then UCS_MEMORY_TYPE_UNKNOWN is returned.

+
+ucs_sys_device_t +sys_dev +

Index of the system device on which the buffer resides. eg: NUMA/GPU If the md does not support sys_dev query, then UCS_SYS_DEVICE_ID_UNKNOWN is returned.

+
+void * +base_address +

Base address of the allocation to which the provided buffer belongs to. If the md not support base address query, then the pointer passed to uct_md_mem_query is returned as is.

+
+size_t +alloc_length +

Length of the whole allocation to which the provided buffer belongs to. If the md not support querying allocation length, then the length passed to uct_md_mem_query is returned as is.

+
+ +
+
+ +

◆ uct_allocated_memory

+ +
+
+ + + + +
struct uct_allocated_memory
+
+

This structure describes the memory block which includes the address, size, and Memory Domain used for allocation. This structure is passed to interface and the memory is allocated by memory allocation functions uct_mem_alloc.

+
+ + + + + + + + + + + + + + + + + + + +
Data Fields
+void * +address +

Address of allocated memory

+
+size_t +length +

Real size of allocated memory

+
+uct_alloc_method_t +method +

Method used to allocate the memory

+
+ucs_memory_type_t +mem_type +

type of allocated memory

+
+uct_md_h +md +

if method==MD: MD used to allocate the memory

+
+uct_mem_h +memh +

if method==MD: MD memory handle

+
+ +
+
+ +

◆ uct_rkey_bundle

+ +
+
+ + + + +
struct uct_rkey_bundle
+
+

This structure describes the credentials (typically key) and information required to access the remote memory by the communication interfaces.

+
+ + + + + + + + + + +
Data Fields
+uct_rkey_t +rkey +

Remote key descriptor, passed to RMA functions

+
+void * +handle +

Handle, used internally for releasing the key

+
+void * +type +

Remote key type

+
+ +
+
+ +

◆ uct_mem_alloc_params_t

+ +
+
+ + + + +
struct uct_mem_alloc_params_t
+
+
+ + + + + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from uct_mem_alloc_params_field_t. Fields not specified in this mask will be ignored.

+
+unsigned +flags +

Memory allocation flags, see uct_md_mem_flags If UCT_MEM_ALLOC_PARAM_FIELD_FLAGS is not specified in field_mask, then (UCT_MD_MEM_ACCESS_LOCAL_READ | UCT_MD_MEM_ACCESS_LOCAL_WRITE) is used by default.

+
+void * +address +

If address is NULL, the underlying allocation routine will choose the address at which to create the mapping. If address is non-NULL and UCT_MD_MEM_FLAG_FIXED is not set, the address will be interpreted as a hint as to where to establish the mapping. If address is non-NULL and UCT_MD_MEM_FLAG_FIXED is set, then the specified address is interpreted as a requirement. In this case, if the mapping to the exact address cannot be made, the allocation request fails.

+
+ucs_memory_type_t +mem_type +

Type of memory to be allocated.

+
+struct uct_mem_alloc_params_t +mds +
+const char * +name +

Name of the allocated region, used to track memory usage for debugging and profiling. If UCT_MEM_ALLOC_PARAM_FIELD_NAME is not specified in field_mask, then "anonymous-uct_mem_alloc" is used by default.

+
+ +
+
+ +

◆ uct_mem_alloc_params_t.mds

+ +
+
+ + + + +
struct uct_mem_alloc_params_t.mds
+
+
+ + + + + + + +
Data Fields
+const uct_md_h * +mds +

Array of memory domains to attempt to allocate the memory with, for MD allocation method.

+
+unsigned +count +

Length of 'mds' array. May be empty, in such case 'mds' may be NULL, and MD allocation method will be skipped.

+
+ +
+
+

Typedef Documentation

+ +

◆ uct_md_mem_attr_field_t

+ +
+
+

The enumeration allows specifying which fields in uct_md_mem_attr_t are present.

+ +
+
+ +

◆ uct_md_mem_attr_t

+ +
+
+ + + + +
typedef struct uct_md_mem_attr uct_md_mem_attr_t
+
+

This structure defines the attributes of a memory pointer which may include the memory type of the pointer, and the system device that backs the pointer depending on the bit fields populated in field_mask.

+ +
+
+ +

◆ uct_allocated_memory_t

+ +
+
+ + + + +
typedef struct uct_allocated_memory uct_allocated_memory_t
+
+

This structure describes the memory block which includes the address, size, and Memory Domain used for allocation. This structure is passed to interface and the memory is allocated by memory allocation functions uct_mem_alloc.

+ +
+
+ +

◆ uct_rkey_bundle_t

+ +
+
+ + + + +
typedef struct uct_rkey_bundle uct_rkey_bundle_t
+
+

This structure describes the credentials (typically key) and information required to access the remote memory by the communication interfaces.

+ +
+
+

Enumeration Type Documentation

+ +

◆ uct_sockaddr_accessibility_t

+ +
+
+ + + +
Enumerator
UCT_SOCKADDR_ACC_LOCAL 

Check if local address exists. Address should belong to a local network interface

+
UCT_SOCKADDR_ACC_REMOTE 

Check if remote address can be reached. Address is routable from one of the local network interfaces

+
+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ + + + + + + + + + +
Enumerator
UCT_MD_FLAG_ALLOC 

MD supports memory allocation

+
UCT_MD_FLAG_REG 

MD supports memory registration

+
UCT_MD_FLAG_NEED_MEMH 

The transport needs a valid local memory handle for zero-copy operations

+
UCT_MD_FLAG_NEED_RKEY 

The transport needs a valid remote memory key for remote memory operations

+
UCT_MD_FLAG_ADVISE 

MD supports memory advice

+
UCT_MD_FLAG_FIXED 

MD supports memory allocation with fixed address

+
UCT_MD_FLAG_RKEY_PTR 

MD supports direct access to remote memory via a pointer that is returned by uct_rkey_ptr

+
UCT_MD_FLAG_SOCKADDR 

MD support for client-server connection establishment via sockaddr

+
UCT_MD_FLAG_INVALIDATE 

MD supports memory invalidation

+
+ +
+
+ +

◆ uct_md_mem_flags

+ +
+
+ + + + +
enum uct_md_mem_flags
+
+ + + + + + + + + + + + +
Enumerator
UCT_MD_MEM_FLAG_NONBLOCK 

Hint to perform non-blocking allocation/registration: page mapping may be deferred until it is accessed by the CPU or a transport.

+
UCT_MD_MEM_FLAG_FIXED 

Place the mapping at exactly defined address

+
UCT_MD_MEM_FLAG_LOCK 

Registered memory should be locked. May incur extra cost for registration, but memory access is usually faster.

+
UCT_MD_MEM_FLAG_HIDE_ERRORS 

Hide errors on memory registration. In some cases registration failure is not an error (e. g. for merged memory regions).

+
UCT_MD_MEM_ACCESS_REMOTE_PUT 

enable remote put access

+
UCT_MD_MEM_ACCESS_REMOTE_GET 

enable remote get access

+
UCT_MD_MEM_ACCESS_REMOTE_ATOMIC 

enable remote atomic access

+
UCT_MD_MEM_ACCESS_LOCAL_READ 

enable local read access

+
UCT_MD_MEM_ACCESS_LOCAL_WRITE 

enable local write access

+
UCT_MD_MEM_ACCESS_ALL 

enable local and remote access for all operations

+
UCT_MD_MEM_ACCESS_RMA 

enable local and remote access for put and get operations

+
+ +
+
+ +

◆ uct_mem_advice_t

+ +
+
+ + + + +
enum uct_mem_advice_t
+
+ + + +
Enumerator
UCT_MADV_NORMAL 

No special treatment

+
UCT_MADV_WILLNEED 

can be used on the memory mapped with UCT_MD_MEM_FLAG_NONBLOCK to speed up memory mapping and to avoid page faults when the memory is accessed for the first time.

+
+ +
+
+ +

◆ uct_md_mem_attr_field

+ +
+
+ + + + +
enum uct_md_mem_attr_field
+
+

The enumeration allows specifying which fields in uct_md_mem_attr_t are present.

+ + + + + +
Enumerator
UCT_MD_MEM_ATTR_FIELD_MEM_TYPE 

Indicate if memory type is populated. E.g. CPU/GPU

+
UCT_MD_MEM_ATTR_FIELD_SYS_DEV 

Indicate if details of system device backing the pointer are populated. E.g. NUMA/GPU

+
UCT_MD_MEM_ATTR_FIELD_BASE_ADDRESS 

Request base address of the allocation to which the buffer belongs.

+
UCT_MD_MEM_ATTR_FIELD_ALLOC_LENGTH 

Request the whole length of the allocation to which the buffer belongs.

+
+ +
+
+ +

◆ uct_mem_alloc_params_field_t

+ +
+
+

The enumeration allows specifying which fields in uct_mem_alloc_params_t are present.

+ + + + + + +
Enumerator
UCT_MEM_ALLOC_PARAM_FIELD_FLAGS 

Enables uct_mem_alloc_params_t::flags

+
UCT_MEM_ALLOC_PARAM_FIELD_ADDRESS 

Enables uct_mem_alloc_params_t::address

+
UCT_MEM_ALLOC_PARAM_FIELD_MEM_TYPE 

Enables uct_mem_alloc_params_t::mem_type

+
UCT_MEM_ALLOC_PARAM_FIELD_MDS 

Enables uct_mem_alloc_params_t::mds

+
UCT_MEM_ALLOC_PARAM_FIELD_NAME 

Enables uct_mem_alloc_params_t::name

+
+ +
+
+

Function Documentation

+ +

◆ uct_md_mem_query()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_md_mem_query (uct_md_h md,
const void * address,
size_t length,
uct_md_mem_attr_tmem_attr 
)
+
+

Return attributes such as memory type, base address, allocation length, and system device for the given pointer of specific length.

+
Parameters
+ + + + + +
[in]mdMemory domain to run the query on. This function returns an error if the md does not recognize the pointer.
[in]addressThe address of the pointer. Must be non-NULL else UCS_ERR_INVALID_PARAM error is returned.
[in]lengthLength of the memory region to examine. Must be nonzero else UCS_ERR_INVALID_PARAM error is returned.
[in,out]mem_attrIf successful, filled with ptr attributes.
+
+
+
Returns
UCS_OK if at least one attribute is successfully queried otherwise an error code as defined by ucs_status_t is returned.
+ +
+
+ +

◆ uct_md_query()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_md_query (uct_md_h md,
uct_md_attr_tmd_attr 
)
+
+
Parameters
+ + + +
[in]mdMemory domain to query.
[out]md_attrFilled with memory domain attributes.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_md_mem_advise()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_md_mem_advise (uct_md_h md,
uct_mem_h memh,
void * addr,
size_t length,
uct_mem_advice_t advice 
)
+
+

This routine advises the UCT about how to handle memory range beginning at address and size of length bytes. This call does not influence the semantics of the application, but may influence its performance. The advice may be ignored.

+
Parameters
+ + + + + + +
[in]mdMemory domain memory was allocated or registered on.
[in]memhMemory handle, as returned from uct_mem_alloc
[in]addrMemory base address. Memory range must belong to the memh
[in]lengthLength of memory to advise. Must be >0.
[in]adviceMemory use advice as defined in the uct_mem_advice_t list
+
+
+ +
+
+ +

◆ uct_md_mem_reg()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_md_mem_reg (uct_md_h md,
void * address,
size_t length,
unsigned flags,
uct_mem_hmemh_p 
)
+
+

Register memory on the memory domain. In order to use this function, MD must support UCT_MD_FLAG_REG flag.

+
Parameters
+ + + + + + +
[in]mdMemory domain to register memory on.
[out]addressMemory to register.
[in]lengthSize of memory to register. Must be >0.
[in]flagsMemory allocation flags, see uct_md_mem_flags.
[out]memh_pFilled with handle for allocated region.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_md_mem_dereg()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_md_mem_dereg (uct_md_h md,
uct_mem_h memh 
)
+
+
Parameters
+ + + +
[in]mdMemory domain which was used to register the memory.
[in]memhLocal access key to memory region.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_md_detect_memory_type()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_md_detect_memory_type (uct_md_h md,
const void * addr,
size_t length,
ucs_memory_type_tmem_type_p 
)
+
+
Parameters
+ + + + + +
[in]mdMemory domain to detect memory type
[in]addrMemory address to detect.
[in]lengthSize of memory
[out]mem_type_pFilled with memory type of the address range if function succeeds
+
+
+
Returns
UCS_OK If memory type is successfully detected UCS_ERR_INVALID_ADDR If failed to detect memory type
+ +
+
+ +

◆ uct_mem_alloc()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_mem_alloc (size_t length,
const uct_alloc_method_tmethods,
unsigned num_methods,
const uct_mem_alloc_params_tparams,
uct_allocated_memory_tmem 
)
+
+

Allocate potentially registered memory.

+
Parameters
+ + + + + + +
[in]lengthThe minimal size to allocate. The actual size may be larger, for example because of alignment restrictions. Must be >0.
[in]methodsArray of memory allocation methods to attempt. Each of the provided allocation methods will be tried in array order, to perform the allocation, until one succeeds. Whenever the MD method is encountered, each of the provided MDs will be tried in array order, to allocate the memory, until one succeeds, or they are exhausted. In this case the next allocation method from the initial list will be attempted.
[in]num_methodsLength of 'methods' array.
[in]paramsMemory allocation characteristics, see uct_mem_alloc_params_t.
[out]memIn case of success, filled with information about the allocated memory. uct_allocated_memory_t
+
+
+ +
+
+ +

◆ uct_mem_free()

+ +
+
+ + + + + + + + +
ucs_status_t uct_mem_free (const uct_allocated_memory_tmem)
+
+

Release the memory allocated by uct_mem_alloc.

+
Parameters
+ + +
[in]memDescription of allocated memory, as returned from uct_mem_alloc.
+
+
+ +
+
+ +

◆ uct_md_config_read()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_md_config_read (uct_component_h component,
const char * env_prefix,
const char * filename,
uct_md_config_t ** config_p 
)
+
+
Parameters
+ + + + + +
[in]componentRead the configuration of this component.
[in]env_prefixIf non-NULL, search for environment variables starting with this UCT_<prefix>_. Otherwise, search for environment variables starting with just UCT_.
[in]filenameIf non-NULL, read configuration from this file. If the file does not exist, it will be ignored.
[out]config_pFilled with a pointer to the configuration.
+
+
+
Returns
Error code.
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_md_is_sockaddr_accessible()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int uct_md_is_sockaddr_accessible (uct_md_h md,
const ucs_sock_addr_tsockaddr,
uct_sockaddr_accessibility_t mode 
)
+
+

This function checks if a remote sock address can be accessed from a local memory domain. Accessibility can be checked in local or remote mode.

+
Parameters
+ + + + +
[in]mdMemory domain to check accessibility from. This memory domain must support the UCT_MD_FLAG_SOCKADDR flag.
[in]sockaddrSocket address to check accessibility to.
[in]modeMode for checking accessibility, as defined in uct_sockaddr_accessibility_t. Indicates if accessibility is tested on the server side - for binding to the given sockaddr, or on the client side - for connecting to the given remote peer's sockaddr.
+
+
+
Returns
Nonzero if accessible, 0 if inaccessible.
+ +
+
+ +

◆ uct_md_mkey_pack()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_md_mkey_pack (uct_md_h md,
uct_mem_h memh,
void * rkey_buffer 
)
+
+
Parameters
+ + + + +
[in]mdHandle to memory domain.
[in]memhLocal key, whose remote key should be packed.
[out]rkey_bufferFilled with packed remote key.
+
+
+
Returns
Error code.
+ +
+
+ +

◆ uct_rkey_unpack()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_rkey_unpack (uct_component_h component,
const void * rkey_buffer,
uct_rkey_bundle_trkey_ob 
)
+
+
Parameters
+ + + + +
[in]componentComponent on which to unpack the remote key.
[in]rkey_bufferPacked remote key buffer.
[out]rkey_obFilled with the unpacked remote key and its type.
+
+
+
Note
The remote key must be unpacked with the same component that was used to pack it. For example, if a remote device address on the remote memory domain which was used to pack the key is reachable by a transport on a local component, then that component is eligible to unpack the key. If the remote key buffer cannot be unpacked with the given component, UCS_ERR_INVALID_PARAM will be returned.
+
Returns
Error code.
+ +
+
+ +

◆ uct_rkey_ptr()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_rkey_ptr (uct_component_h component,
uct_rkey_bundle_trkey_ob,
uint64_t remote_addr,
void ** addr_p 
)
+
+

This routine returns a local pointer to the remote memory described by the rkey bundle. The MD must support UCT_MD_FLAG_RKEY_PTR flag.

+
Parameters
+ + + + + +
[in]componentComponent on which to obtain the pointer to the remote key.
[in]rkey_obA remote key bundle as returned by the uct_rkey_unpack function.
[in]remote_addrA remote address within the memory area described by the rkey_ob.
[out]addr_pA pointer that can be used for direct access to the remote memory.
+
+
+
Note
The component used to obtain a local pointer to the remote memory must be the same component that was used to pack the remote key. See notes section for uct_rkey_unpack.
+
Returns
Error code if the remote memory cannot be accessed directly or the remote address is not valid.
+ +
+
+ +

◆ uct_rkey_release()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_rkey_release (uct_component_h component,
const uct_rkey_bundle_trkey_ob 
)
+
+
Parameters
+ + + +
[in]componentComponent which was used to unpack the remote key.
[in]rkey_obRemote key to release.
+
+
+ +
+
+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_t___m_d.js b/api/v1.13/html/group___u_c_t___m_d.js new file mode 100644 index 00000000000..19afdff872a --- /dev/null +++ b/api/v1.13/html/group___u_c_t___m_d.js @@ -0,0 +1,112 @@ +var group___u_c_t___m_d = +[ + [ "uct_md_attr", "group___u_c_t___m_d.html#structuct__md__attr", [ + [ "cap", "group___u_c_t___m_d.html#afc943a5af89c1028723bc0046092c067", null ], + [ "reg_cost", "group___u_c_t___m_d.html#aa8e4e4f1f063347094ea721a0ccb8952", null ], + [ "component_name", "group___u_c_t___m_d.html#a1f337f217f10d019529e79d9fe60af5c", null ], + [ "rkey_packed_size", "group___u_c_t___m_d.html#a95f941f6d800ef57a183d1f9c75a221c", null ], + [ "local_cpus", "group___u_c_t___m_d.html#aade634758ea5ea9fc7f64b17d66507d7", null ] + ] ], + [ "uct_md_attr.cap", "group___u_c_t___m_d.html#structuct__md__attr_8cap", [ + [ "max_alloc", "group___u_c_t___m_d.html#aaa6e5e31be347b4d78f8b7b8da29df67", null ], + [ "max_reg", "group___u_c_t___m_d.html#a5bcc2b523f735533ff4a0d45cf0ece14", null ], + [ "flags", "group___u_c_t___m_d.html#a4e5868d676cb634aa75b125a0f741abf", null ], + [ "reg_mem_types", "group___u_c_t___m_d.html#aac6dbc8bc7d7c4da5fbec837d19b3424", null ], + [ "detect_mem_types", "group___u_c_t___m_d.html#a4920c15760d7c80d94f2458a8db35982", null ], + [ "alloc_mem_types", "group___u_c_t___m_d.html#ab86d86005547ec04bdee8312bce06410", null ], + [ "access_mem_types", "group___u_c_t___m_d.html#aa44843ffc1f73fe1e700622ad6bc4ab5", null ] + ] ], + [ "uct_md_mem_attr", "group___u_c_t___m_d.html#structuct__md__mem__attr", [ + [ "field_mask", "group___u_c_t___m_d.html#a95cf319a4733fed89f7b52b66f82f84a", null ], + [ "mem_type", "group___u_c_t___m_d.html#a9b20dd26a01412d61bea8f5cc4ee02a2", null ], + [ "sys_dev", "group___u_c_t___m_d.html#aacc6d26ea7f15b8cd19cb9b10eb4603c", null ], + [ "base_address", "group___u_c_t___m_d.html#a18678799e605b7caa7cca03e6a5ba368", null ], + [ "alloc_length", "group___u_c_t___m_d.html#aea0d8373ac6c6d4a17eb15627a10b33f", null ] + ] ], + [ "uct_allocated_memory", "group___u_c_t___m_d.html#structuct__allocated__memory", [ + [ "address", "group___u_c_t___m_d.html#abd26b6aa42f6d176591f7028317bb887", null ], + [ "length", "group___u_c_t___m_d.html#ae867afdf079a09edbbb03134e9d32489", null ], + [ "method", "group___u_c_t___m_d.html#ac0c1c5a5cd287f176e81650816138a55", null ], + [ "mem_type", "group___u_c_t___m_d.html#ae6002ec224af4efa796246bfce7180fd", null ], + [ "md", "group___u_c_t___m_d.html#afdf7da800a504f0da8f59874d9b71823", null ], + [ "memh", "group___u_c_t___m_d.html#a4b9171caf237f0f2884d548c395e47ea", null ] + ] ], + [ "uct_rkey_bundle", "group___u_c_t___m_d.html#structuct__rkey__bundle", [ + [ "rkey", "group___u_c_t___m_d.html#a750c92c67b9203752b04894893b91bbc", null ], + [ "handle", "group___u_c_t___m_d.html#ab42e33b02da0cc7023495793fae7f569", null ], + [ "type", "group___u_c_t___m_d.html#ae9d6a73b93fa47d853ff2180fbd273b2", null ] + ] ], + [ "uct_mem_alloc_params_t", "group___u_c_t___m_d.html#structuct__mem__alloc__params__t", [ + [ "field_mask", "group___u_c_t___m_d.html#ab06683bb31a585ea60b85f6f0f3126c8", null ], + [ "flags", "group___u_c_t___m_d.html#a8180ccc5d99649919a9061c9ebb2504f", null ], + [ "address", "group___u_c_t___m_d.html#a5d1be32ed06a9f67bdf686d1c2ec71fc", null ], + [ "mem_type", "group___u_c_t___m_d.html#ac6a68b6fb669135688c594a58a6e3955", null ], + [ "mds", "group___u_c_t___m_d.html#af682cfb8bc431adcd242433fb61619ac", null ], + [ "name", "group___u_c_t___m_d.html#ad67ee098d7dff61b637e20d67dc184ec", null ] + ] ], + [ "uct_mem_alloc_params_t.mds", "group___u_c_t___m_d.html#structuct__mem__alloc__params__t_8mds", [ + [ "mds", "group___u_c_t___m_d.html#a60a114c91c41983174b484e188856fb3", null ], + [ "count", "group___u_c_t___m_d.html#ae2942a04780e223b215eb8b663cf5353", null ] + ] ], + [ "uct_md_mem_attr_field_t", "group___u_c_t___m_d.html#ga917d3c2d8def6607353178b53c159f79", null ], + [ "uct_md_mem_attr_t", "group___u_c_t___m_d.html#ga99d7da89ab336ca94345be7f887a5877", null ], + [ "uct_allocated_memory_t", "group___u_c_t___m_d.html#ga3a11b017769f9a1cc5c1be535a7782fe", null ], + [ "uct_rkey_bundle_t", "group___u_c_t___m_d.html#gae63a147f419ca82f65db6ae556ac3b0f", null ], + [ "uct_sockaddr_accessibility_t", "group___u_c_t___m_d.html#gacb560e35a1b169ca88792200817e219e", [ + [ "UCT_SOCKADDR_ACC_LOCAL", "group___u_c_t___m_d.html#ggacb560e35a1b169ca88792200817e219ea0f21e1dc1e98d3ee0291cc345bfe1fde", null ], + [ "UCT_SOCKADDR_ACC_REMOTE", "group___u_c_t___m_d.html#ggacb560e35a1b169ca88792200817e219ea4e0f66a27582dfec8698a77102fb368e", null ], + [ "UCT_MD_FLAG_ALLOC", "group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9eace1638df732eb289b9dd6255101c6532", null ], + [ "UCT_MD_FLAG_REG", "group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9eac2a33833ce3c103c3de54332c512eba7", null ], + [ "UCT_MD_FLAG_NEED_MEMH", "group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9ea8badc53da14cdd45fa70178483091e55", null ], + [ "UCT_MD_FLAG_NEED_RKEY", "group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9eafc6830135c641eecf0200f9990257e10", null ], + [ "UCT_MD_FLAG_ADVISE", "group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9ea489e86d8c4f7630c5b15ba37c11e8598", null ], + [ "UCT_MD_FLAG_FIXED", "group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9eae948128d19128010bff52f39b2ea8528", null ], + [ "UCT_MD_FLAG_RKEY_PTR", "group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9ea8e6750832a6a17fc5aff65c767d0e5b5", null ], + [ "UCT_MD_FLAG_SOCKADDR", "group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9ea1ef79afc094919112724f8eb82c2484b", null ], + [ "UCT_MD_FLAG_INVALIDATE", "group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9ea3b11ef8fb3fcf99c71ce1f91b03ecd2d", null ] + ] ], + [ "uct_md_mem_flags", "group___u_c_t___m_d.html#ga3b0345adc84e4b3224366502aca5e11a", [ + [ "UCT_MD_MEM_FLAG_NONBLOCK", "group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa156afde3449517fd4d518148df8e3e24", null ], + [ "UCT_MD_MEM_FLAG_FIXED", "group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aac91502fd80954a19287b56c82d8c15e8", null ], + [ "UCT_MD_MEM_FLAG_LOCK", "group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa177416f1bc52ecf58571f2320ea860f4", null ], + [ "UCT_MD_MEM_FLAG_HIDE_ERRORS", "group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aac9affab2e3fc8ce0237b8b7800731c49", null ], + [ "UCT_MD_MEM_ACCESS_REMOTE_PUT", "group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa107516b36500372eac7e05bdb71cf4a1", null ], + [ "UCT_MD_MEM_ACCESS_REMOTE_GET", "group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa4a699e49e99a57afab4fb7b4825e8a5e", null ], + [ "UCT_MD_MEM_ACCESS_REMOTE_ATOMIC", "group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa4478fefd476fe66f7a1721161e3773e1", null ], + [ "UCT_MD_MEM_ACCESS_LOCAL_READ", "group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aaec71b48ac78529034432e702ae2497af", null ], + [ "UCT_MD_MEM_ACCESS_LOCAL_WRITE", "group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa3da522cc5178d7330279de64c6d8a42d", null ], + [ "UCT_MD_MEM_ACCESS_ALL", "group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa8de9fc3e5e9a93abee846dbce6f51471", null ], + [ "UCT_MD_MEM_ACCESS_RMA", "group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa53c0d5770a5c69086d0aaa58e7398fa8", null ] + ] ], + [ "uct_mem_advice_t", "group___u_c_t___m_d.html#ga72172b231f5e9df777cb130b9f908397", [ + [ "UCT_MADV_NORMAL", "group___u_c_t___m_d.html#gga72172b231f5e9df777cb130b9f908397a44cc1f4e9d750610f872680ad83a5693", null ], + [ "UCT_MADV_WILLNEED", "group___u_c_t___m_d.html#gga72172b231f5e9df777cb130b9f908397af2f40857cea090977db8a5994b334594", null ] + ] ], + [ "uct_md_mem_attr_field", "group___u_c_t___m_d.html#gac4f1c9728c529e4f35eaf03bc14c6977", [ + [ "UCT_MD_MEM_ATTR_FIELD_MEM_TYPE", "group___u_c_t___m_d.html#ggac4f1c9728c529e4f35eaf03bc14c6977a873fb4c4b884a7598873badb63a8caf9", null ], + [ "UCT_MD_MEM_ATTR_FIELD_SYS_DEV", "group___u_c_t___m_d.html#ggac4f1c9728c529e4f35eaf03bc14c6977a1b869b2080c1ab765fa0b67a86dabb24", null ], + [ "UCT_MD_MEM_ATTR_FIELD_BASE_ADDRESS", "group___u_c_t___m_d.html#ggac4f1c9728c529e4f35eaf03bc14c6977a132548201e6dba2fca6b03385eed2356", null ], + [ "UCT_MD_MEM_ATTR_FIELD_ALLOC_LENGTH", "group___u_c_t___m_d.html#ggac4f1c9728c529e4f35eaf03bc14c6977a7f5f99bb05148218a1855f3f8344aabb", null ] + ] ], + [ "uct_mem_alloc_params_field_t", "group___u_c_t___m_d.html#ga3421ca55bc67f5752ca6164f678a7923", [ + [ "UCT_MEM_ALLOC_PARAM_FIELD_FLAGS", "group___u_c_t___m_d.html#gga3421ca55bc67f5752ca6164f678a7923ae179d3ffed3e53b0e2cda2d6a62280d3", null ], + [ "UCT_MEM_ALLOC_PARAM_FIELD_ADDRESS", "group___u_c_t___m_d.html#gga3421ca55bc67f5752ca6164f678a7923abcfd9def1c725531f11cbbcde9fedd6f", null ], + [ "UCT_MEM_ALLOC_PARAM_FIELD_MEM_TYPE", "group___u_c_t___m_d.html#gga3421ca55bc67f5752ca6164f678a7923a0f09a88dc239026aefa08e4597e0d9e6", null ], + [ "UCT_MEM_ALLOC_PARAM_FIELD_MDS", "group___u_c_t___m_d.html#gga3421ca55bc67f5752ca6164f678a7923a122274e877d32afcfafd10cde3c0b8e7", null ], + [ "UCT_MEM_ALLOC_PARAM_FIELD_NAME", "group___u_c_t___m_d.html#gga3421ca55bc67f5752ca6164f678a7923a97de3a2b66f4cd940a271df1b9632f83", null ] + ] ], + [ "uct_md_mem_query", "group___u_c_t___m_d.html#ga7d8cf921f8fd8fba4545c568d495bc8f", null ], + [ "uct_md_query", "group___u_c_t___m_d.html#gae7f6d3f902cff0370fe0f07f841898f1", null ], + [ "uct_md_mem_advise", "group___u_c_t___m_d.html#gaf5f8ef1c6302792c726b294c84ef06c6", null ], + [ "uct_md_mem_reg", "group___u_c_t___m_d.html#gadafbaee4d8462954361fd2a41c8069e0", null ], + [ "uct_md_mem_dereg", "group___u_c_t___m_d.html#gaf1e9ff0364ec4d2bb05c06a2fab67dd5", null ], + [ "uct_md_detect_memory_type", "group___u_c_t___m_d.html#gac69d1df8de5ff0b6422af01c3befe67f", null ], + [ "uct_mem_alloc", "group___u_c_t___m_d.html#ga3c91345959561cd033670a9ae527d52f", null ], + [ "uct_mem_free", "group___u_c_t___m_d.html#ga55be17fdb04dcf28373bef0ddf423e94", null ], + [ "uct_md_config_read", "group___u_c_t___m_d.html#ga8fd8d3ebc188c9016a179d5678c0a71f", null ], + [ "uct_md_is_sockaddr_accessible", "group___u_c_t___m_d.html#ga9d4cd6b6f3206610cbe83cab3eb1e90d", null ], + [ "uct_md_mkey_pack", "group___u_c_t___m_d.html#ga91cc404f53a9ef031c7bfbe886c0f414", null ], + [ "uct_rkey_unpack", "group___u_c_t___m_d.html#ga2927741255a1ab0efc82b965f4266efa", null ], + [ "uct_rkey_ptr", "group___u_c_t___m_d.html#ga0d9f92b5814f82afc67c9f4a7ba348e3", null ], + [ "uct_rkey_release", "group___u_c_t___m_d.html#gaea26840237c8c112e0c1505c1423cd30", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___m_d_structuct__allocated__memory.js b/api/v1.13/html/group___u_c_t___m_d_structuct__allocated__memory.js new file mode 100644 index 00000000000..9da55763ed8 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___m_d_structuct__allocated__memory.js @@ -0,0 +1,9 @@ +var group___u_c_t___m_d_structuct__allocated__memory = +[ + [ "address", "group___u_c_t___m_d.html#abd26b6aa42f6d176591f7028317bb887", null ], + [ "length", "group___u_c_t___m_d.html#ae867afdf079a09edbbb03134e9d32489", null ], + [ "method", "group___u_c_t___m_d.html#ac0c1c5a5cd287f176e81650816138a55", null ], + [ "mem_type", "group___u_c_t___m_d.html#ae6002ec224af4efa796246bfce7180fd", null ], + [ "md", "group___u_c_t___m_d.html#afdf7da800a504f0da8f59874d9b71823", null ], + [ "memh", "group___u_c_t___m_d.html#a4b9171caf237f0f2884d548c395e47ea", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___m_d_structuct__md__attr.js b/api/v1.13/html/group___u_c_t___m_d_structuct__md__attr.js new file mode 100644 index 00000000000..46951c6ad69 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___m_d_structuct__md__attr.js @@ -0,0 +1,8 @@ +var group___u_c_t___m_d_structuct__md__attr = +[ + [ "cap", "group___u_c_t___m_d.html#afc943a5af89c1028723bc0046092c067", null ], + [ "reg_cost", "group___u_c_t___m_d.html#aa8e4e4f1f063347094ea721a0ccb8952", null ], + [ "component_name", "group___u_c_t___m_d.html#a1f337f217f10d019529e79d9fe60af5c", null ], + [ "rkey_packed_size", "group___u_c_t___m_d.html#a95f941f6d800ef57a183d1f9c75a221c", null ], + [ "local_cpus", "group___u_c_t___m_d.html#aade634758ea5ea9fc7f64b17d66507d7", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___m_d_structuct__md__attr_8cap.js b/api/v1.13/html/group___u_c_t___m_d_structuct__md__attr_8cap.js new file mode 100644 index 00000000000..7d60643521c --- /dev/null +++ b/api/v1.13/html/group___u_c_t___m_d_structuct__md__attr_8cap.js @@ -0,0 +1,10 @@ +var group___u_c_t___m_d_structuct__md__attr_8cap = +[ + [ "max_alloc", "group___u_c_t___m_d.html#aaa6e5e31be347b4d78f8b7b8da29df67", null ], + [ "max_reg", "group___u_c_t___m_d.html#a5bcc2b523f735533ff4a0d45cf0ece14", null ], + [ "flags", "group___u_c_t___m_d.html#a4e5868d676cb634aa75b125a0f741abf", null ], + [ "reg_mem_types", "group___u_c_t___m_d.html#aac6dbc8bc7d7c4da5fbec837d19b3424", null ], + [ "detect_mem_types", "group___u_c_t___m_d.html#a4920c15760d7c80d94f2458a8db35982", null ], + [ "alloc_mem_types", "group___u_c_t___m_d.html#ab86d86005547ec04bdee8312bce06410", null ], + [ "access_mem_types", "group___u_c_t___m_d.html#aa44843ffc1f73fe1e700622ad6bc4ab5", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___m_d_structuct__md__mem__attr.js b/api/v1.13/html/group___u_c_t___m_d_structuct__md__mem__attr.js new file mode 100644 index 00000000000..55ce1e004ef --- /dev/null +++ b/api/v1.13/html/group___u_c_t___m_d_structuct__md__mem__attr.js @@ -0,0 +1,8 @@ +var group___u_c_t___m_d_structuct__md__mem__attr = +[ + [ "field_mask", "group___u_c_t___m_d.html#a95cf319a4733fed89f7b52b66f82f84a", null ], + [ "mem_type", "group___u_c_t___m_d.html#a9b20dd26a01412d61bea8f5cc4ee02a2", null ], + [ "sys_dev", "group___u_c_t___m_d.html#aacc6d26ea7f15b8cd19cb9b10eb4603c", null ], + [ "base_address", "group___u_c_t___m_d.html#a18678799e605b7caa7cca03e6a5ba368", null ], + [ "alloc_length", "group___u_c_t___m_d.html#aea0d8373ac6c6d4a17eb15627a10b33f", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___m_d_structuct__mem__alloc__params__t.js b/api/v1.13/html/group___u_c_t___m_d_structuct__mem__alloc__params__t.js new file mode 100644 index 00000000000..519cab7ffb8 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___m_d_structuct__mem__alloc__params__t.js @@ -0,0 +1,9 @@ +var group___u_c_t___m_d_structuct__mem__alloc__params__t = +[ + [ "field_mask", "group___u_c_t___m_d.html#ab06683bb31a585ea60b85f6f0f3126c8", null ], + [ "flags", "group___u_c_t___m_d.html#a8180ccc5d99649919a9061c9ebb2504f", null ], + [ "address", "group___u_c_t___m_d.html#a5d1be32ed06a9f67bdf686d1c2ec71fc", null ], + [ "mem_type", "group___u_c_t___m_d.html#ac6a68b6fb669135688c594a58a6e3955", null ], + [ "mds", "group___u_c_t___m_d.html#af682cfb8bc431adcd242433fb61619ac", null ], + [ "name", "group___u_c_t___m_d.html#ad67ee098d7dff61b637e20d67dc184ec", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___m_d_structuct__mem__alloc__params__t_8mds.js b/api/v1.13/html/group___u_c_t___m_d_structuct__mem__alloc__params__t_8mds.js new file mode 100644 index 00000000000..935770f00d5 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___m_d_structuct__mem__alloc__params__t_8mds.js @@ -0,0 +1,5 @@ +var group___u_c_t___m_d_structuct__mem__alloc__params__t_8mds = +[ + [ "mds", "group___u_c_t___m_d.html#a60a114c91c41983174b484e188856fb3", null ], + [ "count", "group___u_c_t___m_d.html#ae2942a04780e223b215eb8b663cf5353", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___m_d_structuct__rkey__bundle.js b/api/v1.13/html/group___u_c_t___m_d_structuct__rkey__bundle.js new file mode 100644 index 00000000000..2e938907b54 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___m_d_structuct__rkey__bundle.js @@ -0,0 +1,6 @@ +var group___u_c_t___m_d_structuct__rkey__bundle = +[ + [ "rkey", "group___u_c_t___m_d.html#a750c92c67b9203752b04894893b91bbc", null ], + [ "handle", "group___u_c_t___m_d.html#ab42e33b02da0cc7023495793fae7f569", null ], + [ "type", "group___u_c_t___m_d.html#ae9d6a73b93fa47d853ff2180fbd273b2", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e.html b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e.html new file mode 100644 index 00000000000..8768a5d9cd8 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e.html @@ -0,0 +1,4214 @@ + + + + + + + +UCX: UCT Communication Resource + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + + + +

+Modules

 UCT interface operations and capabilities
 List of capabilities supported by UCX API.
 
 UCT interface for asynchronous event capabilities
 List of capabilities supported by UCT iface event API.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  uct_md_resource_desc
 Memory domain resource descriptor. More...
 
struct  uct_component_attr
 UCT component attributes. More...
 
struct  uct_tl_resource_desc
 Communication resource descriptor. More...
 
struct  uct_iface_attr
 Interface attributes: capabilities and limitations. More...
 
struct  uct_iface_attr.cap
 
struct  uct_iface_attr.cap.put
 
struct  uct_iface_attr.cap.get
 
struct  uct_iface_attr.cap.am
 
struct  uct_iface_attr.cap.tag
 
struct  uct_iface_attr.cap.tag.recv
 
struct  uct_iface_attr.cap.tag.eager
 
struct  uct_iface_attr.cap.tag.rndv
 
struct  uct_iface_attr.cap.atomic32
 
struct  uct_iface_attr.cap.atomic64
 
struct  uct_iface_params
 Parameters used for interface creation. More...
 
union  uct_iface_params.mode
 
struct  uct_iface_params.mode.device
 
struct  uct_iface_params.mode.sockaddr
 
struct  uct_ep_params
 Parameters for creating a UCT endpoint by uct_ep_create. More...
 
struct  uct_completion
 Completion handle. More...
 
struct  uct_pending_req
 Pending request. More...
 
struct  uct_iov
 Structure for scatter-gather I/O. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef struct uct_md_resource_desc uct_md_resource_desc_t
 Memory domain resource descriptor. More...
 
typedef struct uct_component_attr uct_component_attr_t
 UCT component attributes. More...
 
typedef struct uct_tl_resource_desc uct_tl_resource_desc_t
 Communication resource descriptor. More...
 
typedef struct uct_component * uct_component_h
 
typedef struct uct_iface * uct_iface_h
 
typedef struct uct_iface_config uct_iface_config_t
 
typedef struct uct_md_config uct_md_config_t
 
typedef struct uct_cm_config uct_cm_config_t
 
typedef struct uct_ep * uct_ep_h
 
typedef void * uct_mem_h
 
typedef uintptr_t uct_rkey_t
 
typedef struct uct_md * uct_md_h
 Memory domain handler. More...
 
typedef struct uct_md_ops uct_md_ops_t
 
typedef void * uct_rkey_ctx_h
 
typedef struct uct_iface_attr uct_iface_attr_t
 
typedef struct uct_iface_params uct_iface_params_t
 
typedef struct uct_ep_attr uct_ep_attr_t
 
typedef struct uct_md_attr uct_md_attr_t
 
typedef struct uct_completion uct_completion_t
 
typedef struct uct_pending_req uct_pending_req_t
 
typedef struct uct_worker * uct_worker_h
 
typedef struct uct_md uct_md_t
 
typedef enum uct_am_trace_type uct_am_trace_type_t
 
typedef struct uct_device_addr uct_device_addr_t
 
typedef struct uct_iface_addr uct_iface_addr_t
 
typedef struct uct_ep_addr uct_ep_addr_t
 
typedef struct uct_ep_params uct_ep_params_t
 
typedef struct uct_ep_connect_params uct_ep_connect_params_t
 
typedef struct uct_cm_attr uct_cm_attr_t
 
typedef struct uct_cm uct_cm_t
 
typedef uct_cm_tuct_cm_h
 
typedef struct uct_listener_attr uct_listener_attr_t
 
typedef struct uct_listener * uct_listener_h
 
typedef struct uct_listener_params uct_listener_params_t
 
typedef struct uct_tag_context uct_tag_context_t
 
typedef uint64_t uct_tag_t
 
typedef int uct_worker_cb_id_t
 
typedef void * uct_conn_request_h
 
typedef struct uct_iov uct_iov_t
 Structure for scatter-gather I/O. More...
 
typedef void(* uct_completion_callback_t) (uct_completion_t *self)
 Callback to process send completion. More...
 
typedef ucs_status_t(* uct_pending_callback_t) (uct_pending_req_t *self)
 Callback to process pending requests. More...
 
typedef ucs_status_t(* uct_error_handler_t) (void *arg, uct_ep_h ep, ucs_status_t status)
 Callback to process peer failure. More...
 
typedef void(* uct_pending_purge_callback_t) (uct_pending_req_t *self, void *arg)
 Callback to purge pending requests. More...
 
typedef size_t(* uct_pack_callback_t) (void *dest, void *arg)
 Callback for producing data. More...
 
typedef void(* uct_unpack_callback_t) (void *arg, const void *data, size_t length)
 Callback for consuming data. More...
 
typedef void(* uct_async_event_cb_t) (void *arg, unsigned flags)
 Callback to process asynchronous events. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  uct_component_attr_field { UCT_COMPONENT_ATTR_FIELD_NAME = UCS_BIT(0), +UCT_COMPONENT_ATTR_FIELD_MD_RESOURCE_COUNT = UCS_BIT(1), +UCT_COMPONENT_ATTR_FIELD_MD_RESOURCES = UCS_BIT(2), +UCT_COMPONENT_ATTR_FIELD_FLAGS = UCS_BIT(3) + }
 UCT component attributes field mask. More...
 
enum  { UCT_COMPONENT_FLAG_CM = UCS_BIT(0) + }
 Capability flags of uct_component_h. More...
 
enum  uct_device_type_t {
+  UCT_DEVICE_TYPE_NET, +UCT_DEVICE_TYPE_SHM, +UCT_DEVICE_TYPE_ACC, +UCT_DEVICE_TYPE_SELF, +
+  UCT_DEVICE_TYPE_LAST +
+ }
 List of UCX device types. More...
 
enum  uct_iface_event_types { UCT_EVENT_SEND_COMP = UCS_BIT(0), +UCT_EVENT_RECV = UCS_BIT(1), +UCT_EVENT_RECV_SIG = UCS_BIT(2) + }
 Asynchronous event types. More...
 
enum  uct_flush_flags { UCT_FLUSH_FLAG_LOCAL = 0, +UCT_FLUSH_FLAG_CANCEL = UCS_BIT(0) + }
 Flush modifiers. More...
 
enum  uct_progress_types { UCT_PROGRESS_SEND = UCS_BIT(0), +UCT_PROGRESS_RECV = UCS_BIT(1), +UCT_PROGRESS_THREAD_SAFE = UCS_BIT(7) + }
 UCT progress types. More...
 
enum  uct_cb_flags { UCT_CB_FLAG_RESERVED = UCS_BIT(1), +UCT_CB_FLAG_ASYNC = UCS_BIT(2) + }
 Callback flags. More...
 
enum  uct_iface_open_mode { UCT_IFACE_OPEN_MODE_DEVICE = UCS_BIT(0), +UCT_IFACE_OPEN_MODE_SOCKADDR_SERVER = UCS_BIT(1), +UCT_IFACE_OPEN_MODE_SOCKADDR_CLIENT = UCS_BIT(2) + }
 Mode in which to open the interface. More...
 
enum  uct_iface_params_field {
+  UCT_IFACE_PARAM_FIELD_CPU_MASK = UCS_BIT(0), +UCT_IFACE_PARAM_FIELD_OPEN_MODE = UCS_BIT(1), +UCT_IFACE_PARAM_FIELD_DEVICE = UCS_BIT(2), +UCT_IFACE_PARAM_FIELD_SOCKADDR = UCS_BIT(3), +
+  UCT_IFACE_PARAM_FIELD_STATS_ROOT = UCS_BIT(4), +UCT_IFACE_PARAM_FIELD_RX_HEADROOM = UCS_BIT(5), +UCT_IFACE_PARAM_FIELD_ERR_HANDLER_ARG = UCS_BIT(6), +UCT_IFACE_PARAM_FIELD_ERR_HANDLER = UCS_BIT(7), +
+  UCT_IFACE_PARAM_FIELD_ERR_HANDLER_FLAGS = UCS_BIT(8), +UCT_IFACE_PARAM_FIELD_HW_TM_EAGER_ARG = UCS_BIT(9), +UCT_IFACE_PARAM_FIELD_HW_TM_EAGER_CB = UCS_BIT(10), +UCT_IFACE_PARAM_FIELD_HW_TM_RNDV_ARG = UCS_BIT(11), +
+  UCT_IFACE_PARAM_FIELD_HW_TM_RNDV_CB = UCS_BIT(12), +UCT_IFACE_PARAM_FIELD_ASYNC_EVENT_ARG = UCS_BIT(13), +UCT_IFACE_PARAM_FIELD_ASYNC_EVENT_CB = UCS_BIT(14), +UCT_IFACE_PARAM_FIELD_KEEPALIVE_INTERVAL = UCS_BIT(15), +
+  UCT_IFACE_PARAM_FIELD_AM_ALIGNMENT = UCS_BIT(16), +UCT_IFACE_PARAM_FIELD_AM_ALIGN_OFFSET = UCS_BIT(17), +UCT_IFACE_PARAM_FIELD_FEATURES = UCS_BIT(18) +
+ }
 UCT interface created by uct_iface_open parameters field mask. More...
 
enum  uct_ep_params_field {
+  UCT_EP_PARAM_FIELD_IFACE = UCS_BIT(0), +UCT_EP_PARAM_FIELD_USER_DATA = UCS_BIT(1), +UCT_EP_PARAM_FIELD_DEV_ADDR = UCS_BIT(2), +UCT_EP_PARAM_FIELD_IFACE_ADDR = UCS_BIT(3), +
+  UCT_EP_PARAM_FIELD_SOCKADDR = UCS_BIT(4), +UCT_EP_PARAM_FIELD_SOCKADDR_CB_FLAGS = UCS_BIT(5), +UCT_EP_PARAM_FIELD_SOCKADDR_PACK_CB = UCS_BIT(6), +UCT_EP_PARAM_FIELD_CM = UCS_BIT(7), +
+  UCT_EP_PARAM_FIELD_CONN_REQUEST = UCS_BIT(8), +UCT_EP_PARAM_FIELD_SOCKADDR_CONNECT_CB_CLIENT = UCS_BIT(9), +UCT_EP_PARAM_FIELD_SOCKADDR_NOTIFY_CB_SERVER = UCS_BIT(10), +UCT_EP_PARAM_FIELD_SOCKADDR_DISCONNECT_CB = UCS_BIT(11), +
+  UCT_EP_PARAM_FIELD_PATH_INDEX = UCS_BIT(12), +UCT_EP_PARAM_FIELD_CM_RESOLVE_CB = UCS_BIT(13), +UCT_EP_PARAM_FIELD_PRIV_DATA = UCS_BIT(14), +UCT_EP_PARAM_FIELD_PRIV_DATA_LENGTH = UCS_BIT(15), +
+  UCT_EP_PARAM_FIELD_LOCAL_SOCKADDR = UCS_BIT(16) +
+ }
 UCT endpoint created by uct_ep_create parameters field mask. More...
 
enum  uct_iface_feature {
+  UCT_IFACE_FEATURE_AM = UCS_BIT(0), +UCT_IFACE_FEATURE_PUT = UCS_BIT(1), +UCT_IFACE_FEATURE_GET = UCS_BIT(2), +UCT_IFACE_FEATURE_AMO32 = UCS_BIT(3), +
+  UCT_IFACE_FEATURE_AMO64 = UCS_BIT(4), +UCT_IFACE_FEATURE_TAG = UCS_BIT(5), +UCT_IFACE_FEATURE_LAST = UCS_BIT(6) +
+ }
 UCT interface configuration features. More...
 
enum  { UCT_TAG_RECV_CB_INLINE_DATA = UCS_BIT(0) + }
 flags of uct_tag_context. More...
 
enum  uct_cb_param_flags { UCT_CB_PARAM_FLAG_DESC = UCS_BIT(0), +UCT_CB_PARAM_FLAG_FIRST = UCS_BIT(1), +UCT_CB_PARAM_FLAG_MORE = UCS_BIT(2) + }
 Flags for active message and tag-matching offload callbacks (callback's parameters). More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ucs_status_t uct_query_components (uct_component_h **components_p, unsigned *num_components_p)
 Query for list of components. More...
 
void uct_release_component_list (uct_component_h *components)
 Release the list of components returned from uct_query_components. More...
 
ucs_status_t uct_component_query (uct_component_h component, uct_component_attr_t *component_attr)
 Get component attributes. More...
 
ucs_status_t uct_md_open (uct_component_h component, const char *md_name, const uct_md_config_t *config, uct_md_h *md_p)
 Open a memory domain. More...
 
void uct_md_close (uct_md_h md)
 Close a memory domain. More...
 
ucs_status_t uct_md_query_tl_resources (uct_md_h md, uct_tl_resource_desc_t **resources_p, unsigned *num_resources_p)
 Query for transport resources. More...
 
void uct_release_tl_resource_list (uct_tl_resource_desc_t *resources)
 Release the list of resources returned from uct_md_query_tl_resources. More...
 
ucs_status_t uct_md_iface_config_read (uct_md_h md, const char *tl_name, const char *env_prefix, const char *filename, uct_iface_config_t **config_p)
 Read transport-specific interface configuration. More...
 
void uct_config_release (void *config)
 Release configuration memory returned from uct_md_iface_config_read(), uct_md_config_read(), or from uct_cm_config_read(). More...
 
ucs_status_t uct_iface_open (uct_md_h md, uct_worker_h worker, const uct_iface_params_t *params, const uct_iface_config_t *config, uct_iface_h *iface_p)
 Open a communication interface. More...
 
void uct_iface_close (uct_iface_h iface)
 Close and destroy an interface. More...
 
ucs_status_t uct_iface_query (uct_iface_h iface, uct_iface_attr_t *iface_attr)
 Get interface attributes. More...
 
ucs_status_t uct_iface_get_device_address (uct_iface_h iface, uct_device_addr_t *addr)
 Get address of the device the interface is using. More...
 
ucs_status_t uct_iface_get_address (uct_iface_h iface, uct_iface_addr_t *addr)
 Get interface address. More...
 
int uct_iface_is_reachable (const uct_iface_h iface, const uct_device_addr_t *dev_addr, const uct_iface_addr_t *iface_addr)
 Check if remote iface address is reachable. More...
 
ucs_status_t uct_ep_check (const uct_ep_h ep, unsigned flags, uct_completion_t *comp)
 check if the destination endpoint is alive in respect to UCT library More...
 
ucs_status_t uct_iface_event_fd_get (uct_iface_h iface, int *fd_p)
 Obtain a notification file descriptor for polling. More...
 
ucs_status_t uct_iface_event_arm (uct_iface_h iface, unsigned events)
 Turn on event notification for the next event. More...
 
ucs_status_t uct_iface_mem_alloc (uct_iface_h iface, size_t length, unsigned flags, const char *name, uct_allocated_memory_t *mem)
 Allocate memory which can be used for zero-copy communications. More...
 
void uct_iface_mem_free (const uct_allocated_memory_t *mem)
 Release memory allocated with uct_iface_mem_alloc(). More...
 
ucs_status_t uct_ep_create (const uct_ep_params_t *params, uct_ep_h *ep_p)
 Create new endpoint. More...
 
void uct_ep_destroy (uct_ep_h ep)
 Destroy an endpoint. More...
 
ucs_status_t uct_ep_get_address (uct_ep_h ep, uct_ep_addr_t *addr)
 Get endpoint address. More...
 
ucs_status_t uct_ep_connect_to_ep (uct_ep_h ep, const uct_device_addr_t *dev_addr, const uct_ep_addr_t *ep_addr)
 Connect endpoint to a remote endpoint. More...
 
ucs_status_t uct_iface_flush (uct_iface_h iface, unsigned flags, uct_completion_t *comp)
 Flush outstanding communication operations on an interface. More...
 
ucs_status_t uct_iface_fence (uct_iface_h iface, unsigned flags)
 Ensures ordering of outstanding communications on the interface. Operations issued on the interface prior to this call are guaranteed to be completed before any subsequent communication operations to the same interface which follow the call to fence. More...
 
ucs_status_t uct_ep_pending_add (uct_ep_h ep, uct_pending_req_t *req, unsigned flags)
 Add a pending request to an endpoint. More...
 
void uct_ep_pending_purge (uct_ep_h ep, uct_pending_purge_callback_t cb, void *arg)
 Remove all pending requests from an endpoint. More...
 
ucs_status_t uct_ep_flush (uct_ep_h ep, unsigned flags, uct_completion_t *comp)
 Flush outstanding communication operations on an endpoint. More...
 
ucs_status_t uct_ep_fence (uct_ep_h ep, unsigned flags)
 Ensures ordering of outstanding communications on the endpoint. Operations issued on the endpoint prior to this call are guaranteed to be completed before any subsequent communication operations to the same endpoint which follow the call to fence. More...
 
void uct_iface_progress_enable (uct_iface_h iface, unsigned flags)
 Enable synchronous progress for the interface. More...
 
void uct_iface_progress_disable (uct_iface_h iface, unsigned flags)
 Disable synchronous progress for the interface. More...
 
unsigned uct_iface_progress (uct_iface_h iface)
 Perform a progress on an interface. More...
 
static UCS_F_ALWAYS_INLINE void uct_completion_update_status (uct_completion_t *comp, ucs_status_t status)
 Update status of UCT completion handle. More...
 
+

Detailed Description

+

This section describes a concept of the Communication Resource and routines associated with the concept.

+

Data Structure Documentation

+ +

◆ uct_md_resource_desc

+ +
+
+ + + + +
struct uct_md_resource_desc
+
+

This structure describes a memory domain resource.

+
+ + + + +
Data Fields
+char +md_name[UCT_MD_NAME_MAX] +

Memory domain name

+
+ +
+
+ +

◆ uct_component_attr

+ +
+
+ + + + +
struct uct_component_attr
+
+

This structure defines the attributes for UCT component. It is used for uct_component_query

+
Examples
uct_hello_world.c.
+
+
+ + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from uct_component_attr_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.

+
+char +name[UCT_COMPONENT_NAME_MAX] +

Component name

+
+unsigned +md_resource_count +

Number of memory-domain resources

+
+uct_md_resource_desc_t * +md_resources +

Array of memory domain resources. When used, it should be initialized prior to calling uct_component_query with a pointer to an array, which is large enough to hold all memory domain resource entries. After the call, this array will be filled with information about existing memory domain resources. In order to allocate this array, you can call uct_component_query twice: The first time would only obtain the amount of entries required, by specifying UCT_COMPONENT_ATTR_FIELD_MD_RESOURCE_COUNT in field_mask. Then the array could be allocated with the returned number of entries, and passed to a second call to uct_component_query, this time setting field_mask to UCT_COMPONENT_ATTR_FIELD_MD_RESOURCES.

+
+uint64_t +flags +

Flags as defined by UCT_COMPONENT_FLAG_xx.

+
+ +
+
+ +

◆ uct_tl_resource_desc

+ +
+
+ + + + +
struct uct_tl_resource_desc
+
+

Resource descriptor is an object representing the network resource. Resource descriptor could represent a stand-alone communication resource such as an HCA port, network interface, or multiple resources such as multiple network interfaces or communication ports. It could also represent virtual communication resources that are defined over a single physical network interface.

+
Examples
uct_hello_world.c.
+
+
+ + + + + + + + + + + + + +
Data Fields
+char +tl_name[UCT_TL_NAME_MAX] +

Transport name

+
+char +dev_name[UCT_DEVICE_NAME_MAX] +

Hardware device name

+
+uct_device_type_t +dev_type +

The device represented by this resource (e.g. UCT_DEVICE_TYPE_NET for a network interface)

+
+ucs_sys_device_t +sys_device +

The identifier associated with the device bus_id as captured in ucs_sys_bus_id_t struct

+
+ +
+
+ +

◆ uct_iface_attr

+ +
+
+ + + + +
struct uct_iface_attr
+
+
Examples
uct_hello_world.c.
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data Fields
+struct uct_iface_attr +cap +

Interface capabilities

+
+size_t +device_addr_len +

Size of device address

+
+size_t +iface_addr_len +

Size of interface address

+
+size_t +ep_addr_len +

Size of endpoint address

+
+size_t +max_conn_priv +

Max size of the iface's private data. used for connection establishment with sockaddr

+
+struct sockaddr_storage +listen_sockaddr +

Sockaddr on which this iface is listening.

+
+double +overhead +

Message overhead, seconds

+
+uct_ppn_bandwidth_t +bandwidth +

Bandwidth model

+
+ucs_linear_func_t +latency +

Latency as function of number of active endpoints

+
+uint8_t +priority +

Priority of device

+
+size_t +max_num_eps +

Maximum number of endpoints

+
+unsigned +dev_num_paths +

How many network paths can be utilized on the device used by this interface for optimal performance. Endpoints that connect to the same remote address but use different paths can potentially achieve higher total bandwidth compared to using only a single endpoint.

+
+ +
+
+ +

◆ uct_iface_attr.cap

+ +
+
+ + + + +
struct uct_iface_attr.cap
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Data Fields
+cap +put +

Attributes for PUT operations

+
+cap +get +

Attributes for GET operations

+
+cap +am +

Attributes for AM operations

+
+cap +tag +

Attributes for TAG operations

+
+cap +atomic32 +
+cap +atomic64 +

Attributes for atomic operations

+
+uint64_t +flags +

Flags from UCT interface operations and capabilities

+
+uint64_t +event_flags +

Flags from UCT interface for asynchronous event capabilities

+
+ +
+
+ +

◆ uct_iface_attr.cap.put

+ +
+
+ + + + +
struct uct_iface_attr.cap.put
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
Data Fields
+size_t +max_short +

Maximal size for put_short

+
+size_t +max_bcopy +

Maximal size for put_bcopy

+
+size_t +min_zcopy +

Minimal size for put_zcopy (total of uct_iov_t::length of the iov parameter)

+
+size_t +max_zcopy +

Maximal size for put_zcopy (total of uct_iov_t::length of the iov parameter)

+
+size_t +opt_zcopy_align +

Optimal alignment for zero-copy buffer address

+
+size_t +align_mtu +

MTU used for alignment

+
+size_t +max_iov +

Maximal iovcnt parameter in uct_ep_put_zcopy

+
+ +
+
+ +

◆ uct_iface_attr.cap.get

+ +
+
+ + + + +
struct uct_iface_attr.cap.get
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
Data Fields
+size_t +max_short +

Maximal size for get_short

+
+size_t +max_bcopy +

Maximal size for get_bcopy

+
+size_t +min_zcopy +

Minimal size for get_zcopy (total of uct_iov_t::length of the iov parameter)

+
+size_t +max_zcopy +

Maximal size for get_zcopy (total of uct_iov_t::length of the iov parameter)

+
+size_t +opt_zcopy_align +

Optimal alignment for zero-copy buffer address

+
+size_t +align_mtu +

MTU used for alignment

+
+size_t +max_iov +

Maximal iovcnt parameter in uct_ep_get_zcopy

+
+ +
+
+ +

◆ uct_iface_attr.cap.am

+ +
+
+ + + + +
struct uct_iface_attr.cap.am
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Data Fields
+size_t +max_short +

Total maximum size (incl. the header)

+
+size_t +max_bcopy +

Total maximum size (incl. the header)

+
+size_t +min_zcopy +

Minimal size for am_zcopy (incl. the header and total of uct_iov_t::length of the iov parameter)

+
+size_t +max_zcopy +

Total max. size (incl. the header and total of uct_iov_t::length of the iov parameter)

+
+size_t +opt_zcopy_align +

Optimal alignment for zero-copy buffer address

+
+size_t +align_mtu +

MTU used for alignment

+
+size_t +max_hdr +

Max. header size for zcopy

+
+size_t +max_iov +

Maximal iovcnt parameter in uct_ep_am_zcopy

+
+ +
+
+ +

◆ uct_iface_attr.cap.tag

+ +
+
+ + + + +
struct uct_iface_attr.cap.tag
+
+
+ + + + + + + + + + +
Data Fields
+tag +recv +
+tag +eager +

Attributes related to eager protocol

+
+tag +rndv +

Attributes related to rendezvous protocol

+
+ +
+
+ +

◆ uct_iface_attr.cap.tag.recv

+ +
+
+ + + + +
struct uct_iface_attr.cap.tag.recv
+
+
+ + + + + + + + + + + + + +
Data Fields
+size_t +min_recv +

Minimal allowed length of posted receive buffer

+
+size_t +max_zcopy +

Maximal allowed data length in uct_iface_tag_recv_zcopy

+
+size_t +max_iov +

Maximal iovcnt parameter in uct_iface_tag_recv_zcopy

+
+size_t +max_outstanding +

Maximal number of simultaneous receive operations

+
+ +
+
+ +

◆ uct_iface_attr.cap.tag.eager

+ +
+
+ + + + +
struct uct_iface_attr.cap.tag.eager
+
+
+ + + + + + + + + + + + + +
Data Fields
+size_t +max_short +

Maximal allowed data length in uct_ep_tag_eager_short

+
+size_t +max_bcopy +

Maximal allowed data length in uct_ep_tag_eager_bcopy

+
+size_t +max_zcopy +

Maximal allowed data length in uct_ep_tag_eager_zcopy

+
+size_t +max_iov +

Maximal iovcnt parameter in uct_ep_tag_eager_zcopy

+
+ +
+
+ +

◆ uct_iface_attr.cap.tag.rndv

+ +
+
+ + + + +
struct uct_iface_attr.cap.tag.rndv
+
+
+ + + + + + + + + + +
Data Fields
+size_t +max_zcopy +

Maximal allowed data length in uct_ep_tag_rndv_zcopy

+
+size_t +max_hdr +

Maximal allowed header length in uct_ep_tag_rndv_zcopy and uct_ep_tag_rndv_request

+
+size_t +max_iov +

Maximal iovcnt parameter in uct_ep_tag_rndv_zcopy

+
+ +
+
+ +

◆ uct_iface_attr.cap.atomic32

+ +
+
+ + + + +
struct uct_iface_attr.cap.atomic32
+
+
+ + + + + + + +
Data Fields
+uint64_t +op_flags +

Attributes for atomic-post operations

+
+uint64_t +fop_flags +

Attributes for atomic-fetch operations

+
+ +
+
+ +

◆ uct_iface_attr.cap.atomic64

+ +
+
+ + + + +
struct uct_iface_attr.cap.atomic64
+
+
+ + + + + + + +
Data Fields
+uint64_t +op_flags +

Attributes for atomic-post operations

+
+uint64_t +fop_flags +

Attributes for atomic-fetch operations

+
+ +
+
+ +

◆ uct_iface_params

+ +
+
+ + + + +
struct uct_iface_params
+
+

This structure should be allocated by the user and should be passed to uct_iface_open. User has to initialize all fields of this structure.

+
Examples
uct_hello_world.c.
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from uct_iface_params_field. Fields not specified in this mask will be ignored.

+
+ucs_cpu_set_t +cpu_mask +

Mask of CPUs to use for resources

+
+uint64_t +open_mode +

Interface open mode bitmap. uct_iface_open_mode

+
+union uct_iface_params +mode +

Mode-specific parameters

+
+ucs_stats_node_t * +stats_root +

Root in the statistics tree. Can be NULL. If non NULL, it will be a root of uct_iface object in the statistics tree.

+
+size_t +rx_headroom +

How much bytes to reserve before the receive segment.

+
+void * +err_handler_arg +

Custom argument of err_handler.

+
+uct_error_handler_t +err_handler +

The callback to handle transport level error.

+
+uint32_t +err_handler_flags +

Callback flags to indicate where the err_handler callback can be invoked from. uct_cb_flags

+
+void * +eager_arg +

These callbacks are only relevant for HW Tag Matching

+
+uct_tag_unexp_eager_cb_t +eager_cb +

Callback for tag matching unexpected eager messages

+
+void * +rndv_arg +
+uct_tag_unexp_rndv_cb_t +rndv_cb +

Callback for tag matching unexpected rndv messages

+
+void * +async_event_arg +
+uct_async_event_cb_t +async_event_cb +

Callback for asynchronous event handling. The callback will be invoked from UCT transport when there are new events to be read by user if the iface has UCT_IFACE_FLAG_EVENT_ASYNC_CB capability

+
+ucs_time_t +keepalive_interval +
+size_t +am_alignment +

Desired alignment for Active Messages on the receiver. Note that only data received in the UCT descriptor can be aligned (i.e. UCT_CB_PARAM_FLAG_DESC flag is provided in the Active Message handler callback). The provided value must be power of 2. The default value is 1.

+
+size_t +am_align_offset +

Offset in the Active Message receive buffer, which should be aligned to the am_alignment boundary. Note this parameter has no effect without setting am_alignment parameter. The provided value must be less than the given am_alignment value. The default value is 0.

+

+-+ pointer to data in uct_am_callback_t | | + alignment boundary | | v v +----------------—+ | align | | | offset | | +----------------—+

+
+uint64_t +features +

UCT features that are used for interface initialization.

+
+ +
+
+ +

◆ uct_iface_params.mode

+ +
+
+ + + + +
union uct_iface_params.mode
+
+

Mode-specific parameters

+
+ + + + + + + +
Data Fields
+mode +device +

The fields in this structure (tl_name and dev_name) need to be set only when the UCT_IFACE_OPEN_MODE_DEVICE bit is set in uct_iface_params_t::open_mode This will make uct_iface_open open the interface on the specified device.

+
+mode +sockaddr +

These callbacks and address are only relevant for client-server connection establishment with sockaddr and are needed on the server side. The callbacks and address need to be set when the UCT_IFACE_OPEN_MODE_SOCKADDR_SERVER bit is set in uct_iface_params_t::open_mode. This will make uct_iface_open open the interface on the specified address as a server.

+
+ +
+
+ +

◆ uct_iface_params.mode.device

+ +
+
+ + + + +
struct uct_iface_params.mode.device
+
+

The fields in this structure (tl_name and dev_name) need to be set only when the UCT_IFACE_OPEN_MODE_DEVICE bit is set in uct_iface_params_t::open_mode This will make uct_iface_open open the interface on the specified device.

+
+ + + + + + + +
Data Fields
+const char * +tl_name +

Transport name

+
+const char * +dev_name +

Device Name

+
+ +
+
+ +

◆ uct_iface_params.mode.sockaddr

+ +
+
+ + + + +
struct uct_iface_params.mode.sockaddr
+
+

These callbacks and address are only relevant for client-server connection establishment with sockaddr and are needed on the server side. The callbacks and address need to be set when the UCT_IFACE_OPEN_MODE_SOCKADDR_SERVER bit is set in uct_iface_params_t::open_mode. This will make uct_iface_open open the interface on the specified address as a server.

+
+ + + + + + + + + + + + + +
Data Fields
+ucs_sock_addr_t +listen_sockaddr +
+void * +conn_request_arg +

Argument for connection request callback

+
+uct_sockaddr_conn_request_callback_t +conn_request_cb +

Callback for an incoming connection request on the server

+
+uint32_t +cb_flags +

Callback flags to indicate where the callback can be invoked from. uct_cb_flags

+
+ +
+
+ +

◆ uct_ep_params

+ +
+
+ + + + +
struct uct_ep_params
+
+
Examples
uct_hello_world.c.
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data Fields
+uint64_t +field_mask +

Mask of valid fields in this structure, using bits from uct_ep_params_field. Fields not specified by this mask will be ignored.

+
+uct_iface_h +iface +

Interface to create the endpoint on. Either iface or cm field must be initialized but not both.

+
+void * +user_data +

User data associated with the endpoint.

+
+const uct_device_addr_t * +dev_addr +

The device address to connect to on the remote peer. This must be defined together with uct_ep_params_t::iface_addr to create an endpoint connected to a remote interface.

+
+const uct_iface_addr_t * +iface_addr +

This specifies the remote address to use when creating an endpoint that is connected to a remote interface.

Note
This requires UCT_IFACE_FLAG_CONNECT_TO_IFACE capability.
+
+const ucs_sock_addr_t * +sockaddr +

The sockaddr to connect to on the remote peer. If set, uct_ep_create will create an endpoint for a connection to the remote peer, specified by its socket address.

Note
The interface in this routine requires the UCT_IFACE_FLAG_CONNECT_TO_SOCKADDR capability.
+
+uint32_t +sockaddr_cb_flags +

uct_cb_flags to indicate uct_ep_params_t::sockaddr_pack_cb, uct_ep_params_t::sockaddr_cb_client, uct_ep_params_t::sockaddr_cb_server, uct_ep_params_t::disconnect_cb and uct_ep_params_t::cm_resolve_cb behavior. If none from these are not set, this field will be ignored.

+
+uct_cm_ep_priv_data_pack_callback_t +sockaddr_pack_cb +

Callback that will be used for filling the user's private data to be delivered to the remote peer by the callback on the server or client side. This field is only valid if uct_ep_params_t::sockaddr is set.

Note
It is never guaranteed that the callback will be called. If, for example, the endpoint goes into error state before issuing the connection request, the callback will not be invoked.
+
+Can not be set together with uct_ep_params_t::private_data or uct_ep_params_t::cm_resolve_cb.
+
+uct_cm_h +cm +

The connection manager object as created by uct_cm_open. Either cm or iface field must be initialized but not both.

+
+uct_conn_request_h +conn_request +

Connection request that was passed to uct_cm_listener_conn_request_args_t::conn_request.

Note
After a call to uct_ep_create, params.conn_request is consumed and should not be used anymore, even if the call returns with an error.
+
+uct_cm_ep_client_connect_callback_t +sockaddr_cb_client +

Callback that will be invoked when the endpoint on the client side is being connected to the server by a connection manager uct_cm_h .

+
+uct_cm_ep_server_conn_notify_callback_t +sockaddr_cb_server +

Callback that will be invoked when the endpoint on the server side is being connected to a client by a connection manager uct_cm_h .

+
+uct_ep_disconnect_cb_t +disconnect_cb +

Callback that will be invoked when the endpoint is disconnected.

+
+unsigned +path_index +

Index of the path which the endpoint should use, must be in the range 0..(uct_iface_attr_t::dev_num_paths - 1).

+
+uct_cm_ep_resolve_callback_t +cm_resolve_cb +

This callback is invoked when the remote server address provided in field uct_ep_params_t::sockaddr is resolved to the local device to be used for connection establishment.

Note
This field is mutually exclusive with uct_ep_params::sockaddr_pack_cb.
+
+const void * +private_data +

Private data to be passed from server to client. Can be used only along with uct_ep_params::conn_request.

Note
This field is mutually exclusive with uct_ep_params::sockaddr_pack_cb.
+
+size_t +private_data_length +

Length of uct_ep_params::private_data, the maximal allowed value is indicated by the uct_cm_attr::max_conn_priv.

+
+const ucs_sock_addr_t * +local_sockaddr +

The sockaddr to bind locally. If set, uct_ep_create will create an endpoint binding to this local sockaddr.

Note
The interface in this routine requires the UCT_IFACE_FLAG_CONNECT_TO_SOCKADDR capability.
+
+ +
+
+ +

◆ uct_completion

+ +
+
+ + + + +
struct uct_completion
+
+

This structure should be allocated by the user and can be passed to communication primitives. The user must initialize all fields of the structure. If the operation returns UCS_INPROGRESS, this structure will be in use by the transport until the operation completes. When the operation completes, "count" field is decremented by 1, and whenever it reaches 0 - the callback is called.

+

Notes:

    +
  • The same structure can be passed multiple times to communication functions without the need to wait for completion.
  • +
  • If the number of operations is smaller than the initial value of the counter, the callback will not be called at all, so it may be left undefined.
  • +
  • status field is required to track the first time the error occurred, and report it via a callback when count reaches 0.
  • +
+
Examples
uct_hello_world.c.
+
+
+ + + + + + + + + + +
Data Fields
+uct_completion_callback_t +func +

User callback function

+
+int +count +

Completion counter

+
+ucs_status_t +status +

Completion status, this field must be initialized with UCS_OK before first operation is started.

+
+ +
+
+ +

◆ uct_pending_req

+ +
+
+ + + + +
struct uct_pending_req
+
+

This structure should be passed to uct_ep_pending_add() and is used to signal new available resources back to user.

+
+ + + + + + + +
Data Fields
+uct_pending_callback_t +func +

User callback function

+
+char +priv[UCT_PENDING_REQ_PRIV_LEN] +

Used internally by UCT

+
+ +
+
+ +

◆ uct_iov

+ +
+
+ + + + +
struct uct_iov
+
+

Specifies a list of buffers which can be used within a single data transfer function call.

+
 buffer
+ |
+ +-----------+-------+-----------+-------+-----------+
+ |  payload  | empty |  payload  | empty |  payload  |
+ +-----------+-------+-----------+-------+-----------+
+ |<-length-->|       |<-length-->|       |<-length-->|
+ |<---- stride ----->|<---- stride ----->|
+
Note
The sum of lengths in all iov list must be less or equal to max_zcopy of the respective communication operation.
+
+If length or count are zero, the memory pointed to by buffer will not be accessed. Otherwise, buffer must point to valid memory.
+
+If count is one, every iov entry specifies a single contiguous data block
+
+If count > 1, each iov entry specifies a strided block of count elements and distance of stride byte between consecutive elements
+
Examples
uct_hello_world.c.
+
+
+ + + + + + + + + + + + + + + + +
Data Fields
+void * +buffer +

Data buffer

+
+size_t +length +

Length of the payload in bytes

+
+uct_mem_h +memh +

Local memory key descriptor for the data

+
+size_t +stride +

Stride between beginnings of payload elements in the buffer in bytes

+
+unsigned +count +

Number of payload elements in the buffer

+
+ +
+
+

Typedef Documentation

+ +

◆ uct_md_resource_desc_t

+ +
+
+ + + + +
typedef struct uct_md_resource_desc uct_md_resource_desc_t
+
+

This structure describes a memory domain resource.

+ +
+
+ +

◆ uct_component_attr_t

+ +
+
+ + + + +
typedef struct uct_component_attr uct_component_attr_t
+
+

This structure defines the attributes for UCT component. It is used for uct_component_query

+ +
+
+ +

◆ uct_tl_resource_desc_t

+ +
+
+ + + + +
typedef struct uct_tl_resource_desc uct_tl_resource_desc_t
+
+

Resource descriptor is an object representing the network resource. Resource descriptor could represent a stand-alone communication resource such as an HCA port, network interface, or multiple resources such as multiple network interfaces or communication ports. It could also represent virtual communication resources that are defined over a single physical network interface.

+ +
+
+ +

◆ uct_component_h

+ +
+
+ + + + +
typedef struct uct_component* uct_component_h
+
+ +
+
+ +

◆ uct_iface_h

+ +
+
+ + + + +
typedef struct uct_iface* uct_iface_h
+
+ +
+
+ +

◆ uct_iface_config_t

+ +
+
+ + + + +
typedef struct uct_iface_config uct_iface_config_t
+
+ +
+
+ +

◆ uct_md_config_t

+ +
+
+ + + + +
typedef struct uct_md_config uct_md_config_t
+
+ +
+
+ +

◆ uct_cm_config_t

+ +
+
+ + + + +
typedef struct uct_cm_config uct_cm_config_t
+
+ +
+
+ +

◆ uct_ep_h

+ +
+
+ + + + +
typedef struct uct_ep* uct_ep_h
+
+ +
+
+ +

◆ uct_mem_h

+ +
+
+ + + + +
typedef void* uct_mem_h
+
+ +
+
+ +

◆ uct_rkey_t

+ +
+
+ + + + +
typedef uintptr_t uct_rkey_t
+
+ +
+
+ +

◆ uct_md_h

+ +
+
+ + + + +
typedef struct uct_md* uct_md_h
+
+ +
+
+ +

◆ uct_md_ops_t

+ +
+
+ + + + +
typedef struct uct_md_ops uct_md_ops_t
+
+ +
+
+ +

◆ uct_rkey_ctx_h

+ +
+
+ + + + +
typedef void* uct_rkey_ctx_h
+
+ +
+
+ +

◆ uct_iface_attr_t

+ +
+
+ + + + +
typedef struct uct_iface_attr uct_iface_attr_t
+
+ +
+
+ +

◆ uct_iface_params_t

+ +
+
+ + + + +
typedef struct uct_iface_params uct_iface_params_t
+
+ +
+
+ +

◆ uct_ep_attr_t

+ +
+
+ + + + +
typedef struct uct_ep_attr uct_ep_attr_t
+
+ +
+
+ +

◆ uct_md_attr_t

+ +
+
+ + + + +
typedef struct uct_md_attr uct_md_attr_t
+
+ +
+
+ +

◆ uct_completion_t

+ +
+
+ + + + +
typedef struct uct_completion uct_completion_t
+
+ +
+
+ +

◆ uct_pending_req_t

+ +
+
+ + + + +
typedef struct uct_pending_req uct_pending_req_t
+
+ +
+
+ +

◆ uct_worker_h

+ +
+
+ + + + +
typedef struct uct_worker* uct_worker_h
+
+ +
+
+ +

◆ uct_md_t

+ +
+
+ + + + +
typedef struct uct_md uct_md_t
+
+ +
+
+ +

◆ uct_am_trace_type_t

+ +
+
+ + + + +
typedef enum uct_am_trace_type uct_am_trace_type_t
+
+ +
+
+ +

◆ uct_device_addr_t

+ +
+
+ + + + +
typedef struct uct_device_addr uct_device_addr_t
+
+ +
+
+ +

◆ uct_iface_addr_t

+ +
+
+ + + + +
typedef struct uct_iface_addr uct_iface_addr_t
+
+ +
+
+ +

◆ uct_ep_addr_t

+ +
+
+ + + + +
typedef struct uct_ep_addr uct_ep_addr_t
+
+ +
+
+ +

◆ uct_ep_params_t

+ +
+
+ + + + +
typedef struct uct_ep_params uct_ep_params_t
+
+ +
+
+ +

◆ uct_ep_connect_params_t

+ +
+
+ +
+
+ +

◆ uct_cm_attr_t

+ +
+
+ + + + +
typedef struct uct_cm_attr uct_cm_attr_t
+
+ +
+
+ +

◆ uct_cm_t

+ +
+
+ + + + +
typedef struct uct_cm uct_cm_t
+
+ +
+
+ +

◆ uct_cm_h

+ +
+
+ + + + +
typedef uct_cm_t* uct_cm_h
+
+ +
+
+ +

◆ uct_listener_attr_t

+ +
+
+ + + + +
typedef struct uct_listener_attr uct_listener_attr_t
+
+ +
+
+ +

◆ uct_listener_h

+ +
+
+ + + + +
typedef struct uct_listener* uct_listener_h
+
+ +
+
+ +

◆ uct_listener_params_t

+ +
+
+ + + + +
typedef struct uct_listener_params uct_listener_params_t
+
+ +
+
+ +

◆ uct_tag_context_t

+ +
+
+ + + + +
typedef struct uct_tag_context uct_tag_context_t
+
+ +
+
+ +

◆ uct_tag_t

+ +
+
+ + + + +
typedef uint64_t uct_tag_t
+
+ +
+
+ +

◆ uct_worker_cb_id_t

+ +
+
+ + + + +
typedef int uct_worker_cb_id_t
+
+ +
+
+ +

◆ uct_conn_request_h

+ +
+
+ + + + +
typedef void* uct_conn_request_h
+
+ +
+
+ +

◆ uct_iov_t

+ +
+
+ + + + +
typedef struct uct_iov uct_iov_t
+
+

Specifies a list of buffers which can be used within a single data transfer function call.

+
 buffer
+ |
+ +-----------+-------+-----------+-------+-----------+
+ |  payload  | empty |  payload  | empty |  payload  |
+ +-----------+-------+-----------+-------+-----------+
+ |<-length-->|       |<-length-->|       |<-length-->|
+ |<---- stride ----->|<---- stride ----->|
+
Note
The sum of lengths in all iov list must be less or equal to max_zcopy of the respective communication operation.
+
+If length or count are zero, the memory pointed to by buffer will not be accessed. Otherwise, buffer must point to valid memory.
+
+If count is one, every iov entry specifies a single contiguous data block
+
+If count > 1, each iov entry specifies a strided block of count elements and distance of stride byte between consecutive elements
+ +
+
+ +

◆ uct_completion_callback_t

+ +
+
+ + + + +
typedef void(* uct_completion_callback_t) (uct_completion_t *self)
+
+
Parameters
+ + +
[in]selfPointer to relevant completion structure, which was initially passed to the operation.
+
+
+ +
+
+ +

◆ uct_pending_callback_t

+ +
+
+ + + + +
typedef ucs_status_t(* uct_pending_callback_t) (uct_pending_req_t *self)
+
+
Parameters
+ + +
[in]selfPointer to relevant pending structure, which was initially passed to the operation.
+
+
+
Returns
UCS_OK - This pending request has completed and should be removed. UCS_INPROGRESS - Some progress was made, but not completed. Keep this request and keep processing the queue. Otherwise - Could not make any progress. Keep this pending request on the queue, and stop processing the queue.
+ +
+
+ +

◆ uct_error_handler_t

+ +
+
+ + + + +
typedef ucs_status_t(* uct_error_handler_t) (void *arg, uct_ep_h ep, ucs_status_t status)
+
+
Note
User should purge a pending queue and do not post any TX operations and cancel all possible outstanding operations prior closing a UCT endpoint.
+
Parameters
+ + + + +
[in]argUser argument to be passed to the callback.
[in]epEndpoint which has failed. Upon return from the callback, this ep is no longer usable and all subsequent operations on this ep will fail with the error code passed in status.
[in]statusStatus indicating error.
+
+
+
Returns
UCS_OK - The error was handled successfully. Otherwise - The error was not handled and is returned back to the transport.
+ +
+
+ +

◆ uct_pending_purge_callback_t

+ +
+
+ + + + +
typedef void(* uct_pending_purge_callback_t) (uct_pending_req_t *self, void *arg)
+
+
Parameters
+ + + +
[in]selfPointer to relevant pending structure, which was initially passed to the operation.
[in]argUser argument to be passed to the callback.
+
+
+ +
+
+ +

◆ uct_pack_callback_t

+ +
+
+ + + + +
typedef size_t(* uct_pack_callback_t) (void *dest, void *arg)
+
+
Parameters
+ + + +
[in]destMemory buffer to pack the data to.
[in]argCustom user-argument.
+
+
+
Returns
Size of the data was actually produced.
+ +
+
+ +

◆ uct_unpack_callback_t

+ +
+
+ + + + +
typedef void(* uct_unpack_callback_t) (void *arg, const void *data, size_t length)
+
+
Parameters
+ + + + +
[in]argCustom user-argument.
[in]dataMemory buffer to unpack the data from.
[in]lengthHow much data to consume (size of "data")
+
+
+
Note
The arguments for this callback are in the same order as libc's memcpy().
+ +
+
+ +

◆ uct_async_event_cb_t

+ +
+
+ + + + +
typedef void(* uct_async_event_cb_t) (void *arg, unsigned flags)
+
+
Parameters
+ + + +
[in]argUser argument to be passed to the callback.
[in]flagsFlags to be passed to the callback (reserved for future use).
+
+
+ +
+
+

Enumeration Type Documentation

+ +

◆ uct_component_attr_field

+ +
+
+ + + + +
enum uct_component_attr_field
+
+

The enumeration allows specifying which fields in uct_component_attr_t are present. It is used for backward compatibility support.

+ + + + + +
Enumerator
UCT_COMPONENT_ATTR_FIELD_NAME 

Component name

+
UCT_COMPONENT_ATTR_FIELD_MD_RESOURCE_COUNT 

MD resource count

+
UCT_COMPONENT_ATTR_FIELD_MD_RESOURCES 

MD resources array

+
UCT_COMPONENT_ATTR_FIELD_FLAGS 

Capability flags

+
+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+

The enumeration defines bit mask of uct_component_h capabilities in uct_component_attr_t::flags which is set by uct_component_query.

+ + +
Enumerator
UCT_COMPONENT_FLAG_CM 

If set, the component supports uct_cm_h functionality. See uct_cm_open for details.

+
+ +
+
+ +

◆ uct_device_type_t

+ +
+
+ + + + +
enum uct_device_type_t
+
+ + + + + + +
Enumerator
UCT_DEVICE_TYPE_NET 

Network devices

+
UCT_DEVICE_TYPE_SHM 

Shared memory devices

+
UCT_DEVICE_TYPE_ACC 

Acceleration devices

+
UCT_DEVICE_TYPE_SELF 

Loop-back device

+
UCT_DEVICE_TYPE_LAST 
+ +
+
+ +

◆ uct_iface_event_types

+ +
+
+ + + + +
enum uct_iface_event_types
+
+
Note
The UCT_EVENT_RECV and UCT_EVENT_RECV_SIG event types are used to indicate receive-side completions for both tag matching and active messages. If the interface supports signaled receives (UCT_IFACE_FLAG_EVENT_RECV_SIG), then for the messages sent with UCT_SEND_FLAG_SIGNALED flag, UCT_EVENT_RECV_SIG should be triggered on the receiver. Otherwise, UCT_EVENT_RECV should be triggered.
+ + + + +
Enumerator
UCT_EVENT_SEND_COMP 

Send completion event

+
UCT_EVENT_RECV 

Tag or active message received

+
UCT_EVENT_RECV_SIG 

Signaled tag or active message received

+
+ +
+
+ +

◆ uct_flush_flags

+ +
+
+ + + + +
enum uct_flush_flags
+
+ + + +
Enumerator
UCT_FLUSH_FLAG_LOCAL 

Guarantees that the data transfer is completed but the target buffer may not be updated yet.

+
UCT_FLUSH_FLAG_CANCEL 

The library will make a best effort attempt to cancel all uncompleted operations. However, there is a chance that some operations will not be canceled in which case the user will need to handle their completions through the relevant callbacks. After uct_ep_flush with this flag is completed, the endpoint will be set to error state, and it becomes unusable for send operations and should be destroyed.

+
+ +
+
+ +

◆ uct_progress_types

+ +
+
+ + + + +
enum uct_progress_types
+
+ + + + +
Enumerator
UCT_PROGRESS_SEND 

Progress send operations

+
UCT_PROGRESS_RECV 

Progress receive operations

+
UCT_PROGRESS_THREAD_SAFE 

Enable/disable progress while another thread may be calling ucp_worker_progress().

+
+ +
+
+ +

◆ uct_cb_flags

+ +
+
+ + + + +
enum uct_cb_flags
+
+

List of flags for a callback.

+ + + +
Enumerator
UCT_CB_FLAG_RESERVED 

Reserved for future use.

+
UCT_CB_FLAG_ASYNC 

Callback is allowed to be called from any thread in the process, and therefore should be thread-safe. For example, it may be called from a transport async progress thread. To guarantee async invocation, the interface must have the UCT_IFACE_FLAG_CB_ASYNC flag set. If async callback is requested on an interface which only supports sync callback (i.e., only the UCT_IFACE_FLAG_CB_SYNC flag is set), the callback will be invoked only from the context that called uct_iface_progress).

+
+ +
+
+ +

◆ uct_iface_open_mode

+ +
+
+ + + + +
enum uct_iface_open_mode
+
+ + + + +
Enumerator
UCT_IFACE_OPEN_MODE_DEVICE 

Interface is opened on a specific device

+
UCT_IFACE_OPEN_MODE_SOCKADDR_SERVER 

Interface is opened on a specific address on the server side. This mode will be deprecated in the near future for a better API.

+
UCT_IFACE_OPEN_MODE_SOCKADDR_CLIENT 

Interface is opened on a specific address on the client side This mode will be deprecated in the near future for a better API.

+
+ +
+
+ +

◆ uct_iface_params_field

+ +
+
+ + + + +
enum uct_iface_params_field
+
+

The enumeration allows specifying which fields in uct_iface_params_t are present, for backward compatibility support.

+ + + + + + + + + + + + + + + + + + + + +
Enumerator
UCT_IFACE_PARAM_FIELD_CPU_MASK 

Enables uct_iface_params_t::cpu_mask

+
UCT_IFACE_PARAM_FIELD_OPEN_MODE 

Enables uct_iface_params_t::open_mode

+
UCT_IFACE_PARAM_FIELD_DEVICE 

Enables uct_iface_params_t::mode::device

+
UCT_IFACE_PARAM_FIELD_SOCKADDR 

Enables uct_iface_params_t::mode::sockaddr

+
UCT_IFACE_PARAM_FIELD_STATS_ROOT 

Enables uct_iface_params_t::stats_root

+
UCT_IFACE_PARAM_FIELD_RX_HEADROOM 

Enables uct_iface_params_t::rx_headroom

+
UCT_IFACE_PARAM_FIELD_ERR_HANDLER_ARG 

Enables uct_iface_params_t::err_handler_arg

+
UCT_IFACE_PARAM_FIELD_ERR_HANDLER 

Enables uct_iface_params_t::err_handler

+
UCT_IFACE_PARAM_FIELD_ERR_HANDLER_FLAGS 

Enables uct_iface_params_t::err_handler_flags

+
UCT_IFACE_PARAM_FIELD_HW_TM_EAGER_ARG 

Enables uct_iface_params_t::eager_arg

+
UCT_IFACE_PARAM_FIELD_HW_TM_EAGER_CB 

Enables uct_iface_params_t::eager_cb

+
UCT_IFACE_PARAM_FIELD_HW_TM_RNDV_ARG 

Enables uct_iface_params_t::rndv_arg

+
UCT_IFACE_PARAM_FIELD_HW_TM_RNDV_CB 

Enables uct_iface_params_t::rndv_cb

+
UCT_IFACE_PARAM_FIELD_ASYNC_EVENT_ARG 

Enables uct_iface_params_t::async_event_arg

+
UCT_IFACE_PARAM_FIELD_ASYNC_EVENT_CB 

Enables uct_iface_params_t::async_event_cb

+
UCT_IFACE_PARAM_FIELD_KEEPALIVE_INTERVAL 

Enables uct_iface_params_t::keepalive_interval

+
UCT_IFACE_PARAM_FIELD_AM_ALIGNMENT 

Enables uct_iface_params_t::am_alignment

+
UCT_IFACE_PARAM_FIELD_AM_ALIGN_OFFSET 

Enables uct_iface_params_t::am_align_offset

+
UCT_IFACE_PARAM_FIELD_FEATURES 

Enables uct_iface_params_t::features

+
+ +
+
+ +

◆ uct_ep_params_field

+ +
+
+ + + + +
enum uct_ep_params_field
+
+

The enumeration allows specifying which fields in uct_ep_params_t are present, for backward compatibility support.

+ + + + + + + + + + + + + + + + + + +
Enumerator
UCT_EP_PARAM_FIELD_IFACE 

Enables uct_ep_params::iface

+
UCT_EP_PARAM_FIELD_USER_DATA 

Enables uct_ep_params::user_data

+
UCT_EP_PARAM_FIELD_DEV_ADDR 

Enables uct_ep_params::dev_addr

+
UCT_EP_PARAM_FIELD_IFACE_ADDR 

Enables uct_ep_params::iface_addr

+
UCT_EP_PARAM_FIELD_SOCKADDR 

Enables uct_ep_params::sockaddr

+
UCT_EP_PARAM_FIELD_SOCKADDR_CB_FLAGS 

Enables uct_ep_params::sockaddr_cb_flags

+
UCT_EP_PARAM_FIELD_SOCKADDR_PACK_CB 

Enables uct_ep_params::sockaddr_pack_cb

+
UCT_EP_PARAM_FIELD_CM 

Enables uct_ep_params::cm

+
UCT_EP_PARAM_FIELD_CONN_REQUEST 

Enables uct_ep_params::conn_request

+
UCT_EP_PARAM_FIELD_SOCKADDR_CONNECT_CB_CLIENT 

Enables uct_ep_params::sockaddr_cb_client

+
UCT_EP_PARAM_FIELD_SOCKADDR_NOTIFY_CB_SERVER 

Enables uct_ep_params::sockaddr_cb_server

+
UCT_EP_PARAM_FIELD_SOCKADDR_DISCONNECT_CB 

Enables uct_ep_params::disconnect_cb

+
UCT_EP_PARAM_FIELD_PATH_INDEX 

Enables uct_ep_params::path_index

+
UCT_EP_PARAM_FIELD_CM_RESOLVE_CB 

Enables uct_ep_params::cm_resolve_cb

+
UCT_EP_PARAM_FIELD_PRIV_DATA 

Enables uct_ep_params::private_data

+
UCT_EP_PARAM_FIELD_PRIV_DATA_LENGTH 

Enables uct_ep_params::private_data_length

+
UCT_EP_PARAM_FIELD_LOCAL_SOCKADDR 

Enables uct_ep_params::local_sockaddr

+
+ +
+
+ +

◆ uct_iface_feature

+ +
+
+ + + + +
enum uct_iface_feature
+
+

The enumeration list describes the features supported by UCT. An application can request the features using UCT parameters during UCT iface initialization process.

+ + + + + + + + +
Enumerator
UCT_IFACE_FEATURE_AM 

Request Active Message support

+
UCT_IFACE_FEATURE_PUT 

Request PUT support

+
UCT_IFACE_FEATURE_GET 

Request GET support

+
UCT_IFACE_FEATURE_AMO32 

Request 32-bit atomic operations support

+
UCT_IFACE_FEATURE_AMO64 

Request 64-bit atomic operations support

+
UCT_IFACE_FEATURE_TAG 

Request tag matching offload support

+
UCT_IFACE_FEATURE_LAST 

Used to determine the number of features

+
+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ + +
Enumerator
UCT_TAG_RECV_CB_INLINE_DATA 
+ +
+
+ +

◆ uct_cb_param_flags

+ +
+
+ + + + +
enum uct_cb_param_flags
+
+

If UCT_CB_PARAM_FLAG_DESC flag is enabled, then data is part of a descriptor which includes the user-defined rx_headroom, and the callback may return UCS_INPROGRESS and hold on to that descriptor. Otherwise, the data can't be used outside the callback. If needed, the data must be copied-out.

+
 descriptor    data
+ |             |
+ +-------------+-------------------------+
+ | rx_headroom | payload                 |
+ +-------------+-------------------------+
+

UCT_CB_PARAM_FLAG_FIRST and UCT_CB_PARAM_FLAG_MORE flags are relevant for uct_tag_unexp_eager_cb_t callback only. The former value indicates that the data is the first fragment of the message. The latter value means that more fragments of the message yet to be delivered.

+ + + + +
Enumerator
UCT_CB_PARAM_FLAG_DESC 
UCT_CB_PARAM_FLAG_FIRST 
UCT_CB_PARAM_FLAG_MORE 
+ +
+
+

Function Documentation

+ +

◆ uct_query_components()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_query_components (uct_component_h ** components_p,
unsigned * num_components_p 
)
+
+

Obtain the list of transport components available on the current system.

+
Parameters
+ + + +
[out]components_pFilled with a pointer to an array of component handles.
[out]num_components_pFilled with the number of elements in the array.
+
+
+
Returns
UCS_OK if successful, or UCS_ERR_NO_MEMORY if failed to allocate the array of component handles.
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_release_component_list()

+ +
+
+ + + + + + + + +
void uct_release_component_list (uct_component_hcomponents)
+
+

This routine releases the memory associated with the list of components allocated by uct_query_components.

+
Parameters
+ + +
[in]componentsArray of component handles to release.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_component_query()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_component_query (uct_component_h component,
uct_component_attr_tcomponent_attr 
)
+
+

Query various attributes of a component.

+
Parameters
+ + + +
[in]componentComponent handle to query attributes for. The handle can be obtained from uct_query_components.
[in,out]component_attrFilled with component attributes.
+
+
+
Returns
UCS_OK if successful, or nonzero error code in case of failure.
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_md_open()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_md_open (uct_component_h component,
const char * md_name,
const uct_md_config_tconfig,
uct_md_hmd_p 
)
+
+

Open a specific memory domain. All communications and memory operations are performed in the context of a specific memory domain. Therefore it must be created before communication resources.

+
Parameters
+ + + + + +
[in]componentComponent on which to open the memory domain, as returned from uct_query_components.
[in]md_nameMemory domain name, as returned from uct_component_query.
[in]configMD configuration options. Should be obtained from uct_md_config_read() function, or point to MD-specific structure which extends uct_md_config_t.
[out]md_pFilled with a handle to the memory domain.
+
+
+
Returns
Error code.
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_md_close()

+ +
+
+ + + + + + + + +
void uct_md_close (uct_md_h md)
+
+
Parameters
+ + +
[in]mdMemory domain to close.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_md_query_tl_resources()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_md_query_tl_resources (uct_md_h md,
uct_tl_resource_desc_t ** resources_p,
unsigned * num_resources_p 
)
+
+

This routine queries the memory domain for communication resources that are available for it.

+
Parameters
+ + + + +
[in]mdHandle to memory domain.
[out]resources_pFilled with a pointer to an array of resource descriptors.
[out]num_resources_pFilled with the number of resources in the array.
+
+
+
Returns
Error code.
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_release_tl_resource_list()

+ +
+
+ + + + + + + + +
void uct_release_tl_resource_list (uct_tl_resource_desc_tresources)
+
+

This routine releases the memory associated with the list of resources allocated by uct_md_query_tl_resources.

+
Parameters
+ + +
[in]resourcesArray of resource descriptors to release.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_md_iface_config_read()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_md_iface_config_read (uct_md_h md,
const char * tl_name,
const char * env_prefix,
const char * filename,
uct_iface_config_t ** config_p 
)
+
+
Parameters
+ + + + + + +
[in]mdMemory domain on which the transport's interface was registered.
[in]tl_nameTransport name. If md supports UCT_MD_FLAG_SOCKADDR, the transport name is allowed to be NULL. In this case, the configuration returned from this routine should be passed to uct_iface_open with UCT_IFACE_OPEN_MODE_SOCKADDR_SERVER or UCT_IFACE_OPEN_MODE_SOCKADDR_CLIENT set in uct_iface_params_t::open_mode. In addition, if tl_name is not NULL, the configuration returned from this routine should be passed to uct_iface_open with UCT_IFACE_OPEN_MODE_DEVICE set in uct_iface_params_t::open_mode.
[in]env_prefixIf non-NULL, search for environment variables starting with this UCT_<prefix>_. Otherwise, search for environment variables starting with just UCT_.
[in]filenameIf non-NULL, read configuration from this file. If the file does not exist, it will be ignored.
[out]config_pFilled with a pointer to configuration.
+
+
+
Returns
Error code.
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_config_release()

+ +
+
+ + + + + + + + +
void uct_config_release (void * config)
+
+
Parameters
+ + +
[in]configConfiguration to release.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_iface_open()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_iface_open (uct_md_h md,
uct_worker_h worker,
const uct_iface_params_tparams,
const uct_iface_config_tconfig,
uct_iface_hiface_p 
)
+
+
Parameters
+ + + + + + +
[in]mdMemory domain to create the interface on.
[in]workerHandle to worker which will be used to progress communications on this interface.
[in]paramsUser defined uct_iface_params_t parameters.
[in]configInterface configuration options. Should be obtained from uct_md_iface_config_read() function, or point to transport-specific structure which extends uct_iface_config_t.
[out]iface_pFilled with a handle to opened communication interface.
+
+
+
Returns
Error code.
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_iface_close()

+ +
+
+ + + + + + + + +
void uct_iface_close (uct_iface_h iface)
+
+
Parameters
+ + +
[in]ifaceInterface to close.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_iface_query()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_iface_query (uct_iface_h iface,
uct_iface_attr_tiface_attr 
)
+
+
Parameters
+ + + +
[in]ifaceInterface to query.
[out]iface_attrFilled with interface attributes.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_iface_get_device_address()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_iface_get_device_address (uct_iface_h iface,
uct_device_addr_taddr 
)
+
+

Get underlying device address of the interface. All interfaces using the same device would return the same address.

+
Parameters
+ + + +
[in]ifaceInterface to query.
[out]addrFilled with device address. The size of the buffer provided must be at least uct_iface_attr_t::device_addr_len.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_iface_get_address()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_iface_get_address (uct_iface_h iface,
uct_iface_addr_taddr 
)
+
+

requires UCT_IFACE_FLAG_CONNECT_TO_IFACE.

+
Parameters
+ + + +
[in]ifaceInterface to query.
[out]addrFilled with interface address. The size of the buffer provided must be at least uct_iface_attr_t::iface_addr_len.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_iface_is_reachable()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int uct_iface_is_reachable (const uct_iface_h iface,
const uct_device_addr_tdev_addr,
const uct_iface_addr_tiface_addr 
)
+
+

This function checks if a remote address can be reached from a local interface. If the function returns true, it does not necessarily mean a connection and/or data transfer would succeed, since the reachability check is a local operation it does not detect issues such as network mis-configuration or lack of connectivity.

+
Parameters
+ + + + +
[in]ifaceInterface to check reachability from.
[in]dev_addrDevice address to check reachability to. It is NULL if iface_attr.dev_addr_len == 0, and must be non-NULL otherwise.
[in]iface_addrInterface address to check reachability to. It is NULL if iface_attr.iface_addr_len == 0, and must be non-NULL otherwise.
+
+
+
Returns
Nonzero if reachable, 0 if not.
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_ep_check()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_check (const uct_ep_h ep,
unsigned flags,
uct_completion_tcomp 
)
+
+

This function checks if the destination endpoint is alive with respect to the UCT library. If the status of ep is known, either UCS_OK or an error is returned immediately. Otherwise, UCS_INPROGRESS is returned, indicating that synchronization on the status is needed. In this case, the status will be be propagated by comp callback.

+
Parameters
+ + + + +
[in]epEndpoint to check
[in]flagsFlags that define level of check (currently unsupported - set to 0).
[in]compHandler to process status of ep
+
+
+
Returns
Error code.
+ +
+
+ +

◆ uct_iface_event_fd_get()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_iface_event_fd_get (uct_iface_h iface,
int * fd_p 
)
+
+

Only interfaces that support at least one of the UCT_IFACE_FLAG_EVENT* flags will implement this function.

+
Parameters
+ + + +
[in]ifaceInterface to get the notification descriptor.
[out]fd_pLocation to write the notification file descriptor.
+
+
+
Returns
Error code.
+ +
+
+ +

◆ uct_iface_event_arm()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_iface_event_arm (uct_iface_h iface,
unsigned events 
)
+
+

This routine needs to be called before waiting on each notification on this interface, so will typically be called once the processing of the previous event is over.

+
Parameters
+ + + +
[in]ifaceInterface to arm.
[in]eventsEvents to wakeup on. See uct_iface_event_types
+
+
+
Returns
UCS_OK The operation completed successfully. File descriptor will be signaled by new events.
+
+UCS_ERR_BUSY There are unprocessed events which prevent the file descriptor from being armed. The operation is not completed. File descriptor will not be signaled by new events.
+
+Other different error codes in case of issues.
+ +
+
+ +

◆ uct_iface_mem_alloc()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_iface_mem_alloc (uct_iface_h iface,
size_t length,
unsigned flags,
const char * name,
uct_allocated_memory_tmem 
)
+
+

Allocate a region of memory which can be used for zero-copy data transfer or remote access on a particular transport interface.

+
Parameters
+ + + + + + +
[in]ifaceInterface to allocate memory on.
[in]lengthSize of memory region to allocate.
[in]flagsMemory allocation flags, see uct_md_mem_flags.
[in]nameAllocation name, for debug purposes.
[out]memDescriptor of allocated memory.
+
+
+
Returns
UCS_OK if allocation was successful, error code otherwise.
+ +
+
+ +

◆ uct_iface_mem_free()

+ +
+
+ + + + + + + + +
void uct_iface_mem_free (const uct_allocated_memory_tmem)
+
+
Parameters
+ + +
[in]memDescriptor of memory to release.
+
+
+ +
+
+ +

◆ uct_ep_create()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_create (const uct_ep_params_tparams,
uct_ep_hep_p 
)
+
+

Create a UCT endpoint in one of the available modes:

    +
  1. Unconnected endpoint: If no any address is present in uct_ep_params, this creates an unconnected endpoint. To establish a connection to a remote endpoint, uct_ep_connect_to_ep will need to be called. Use of this mode requires uct_ep_params_t::iface has the UCT_IFACE_FLAG_CONNECT_TO_EP capability flag. It may be obtained by uct_iface_query .
  2. +
  3. Connect to a remote interface: If uct_ep_params_t::dev_addr and uct_ep_params_t::iface_addr are set, this will establish an endpoint that is connected to a remote interface. This requires that uct_ep_params_t::iface has the UCT_IFACE_FLAG_CONNECT_TO_IFACE capability flag. It may be obtained by uct_iface_query.
  4. +
  5. Connect to a remote socket address: If uct_ep_params_t::sockaddr is set, this will create an endpoint that is connected to a remote socket. This requires that either uct_ep_params::cm, or uct_ep_params::iface will be set. In the latter case, the interface has to support UCT_IFACE_FLAG_CONNECT_TO_SOCKADDR flag, which can be checked by calling uct_iface_query.
    Parameters
    + + + +
    [in]paramsUser defined uct_ep_params_t configuration for the ep_p.
    [out]ep_pFilled with handle to the new endpoint.
    +
    +
    +
    Returns
    UCS_OK The endpoint is created successfully. This does not guarantee that the endpoint has been connected to the destination defined in params; in case of failure, the error will be reported to the interface error handler callback provided to uct_iface_open via uct_iface_params_t::err_handler.
    +
    +Error code as defined by ucs_status_t
    +
  6. +
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_ep_destroy()

+ +
+
+ + + + + + + + +
void uct_ep_destroy (uct_ep_h ep)
+
+
Parameters
+ + +
[in]epEndpoint to destroy.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_ep_get_address()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_get_address (uct_ep_h ep,
uct_ep_addr_taddr 
)
+
+
Parameters
+ + + +
[in]epEndpoint to query.
[out]addrFilled with endpoint address. The size of the buffer provided must be at least uct_iface_attr_t::ep_addr_len.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_ep_connect_to_ep()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_connect_to_ep (uct_ep_h ep,
const uct_device_addr_tdev_addr,
const uct_ep_addr_tep_addr 
)
+
+

requires UCT_IFACE_FLAG_CONNECT_TO_EP capability.

+
Parameters
+ + + + +
[in]epEndpoint to connect.
[in]dev_addrRemote device address.
[in]ep_addrRemote endpoint address.
+
+
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_iface_flush()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_iface_flush (uct_iface_h iface,
unsigned flags,
uct_completion_tcomp 
)
+
+

Flushes all outstanding communications issued on the interface prior to this call. The operations are completed at the origin or at the target as well. The exact completion semantic depends on flags parameter.

+
Note
Currently only one completion type is supported. It guarantees that the data transfer is completed but the target buffer may not be updated yet.
+
Parameters
+ + + + +
[in]ifaceInterface to flush communications from.
[in]flagsFlags that control completion semantic (currently only UCT_FLUSH_FLAG_LOCAL is supported).
[in,out]compCompletion handle as defined by uct_completion_t. Can be NULL, which means that the call will return the current state of the interface and no completion will be generated in case of outstanding communications. If it is not NULL completion counter is decremented by 1 when the call completes. Completion callback is called when the counter reaches 0.
+
+
+
Returns
UCS_OK - No outstanding communications left. UCS_INPROGRESS - Some communication operations are still in progress. If non-NULL 'comp' is provided, it will be updated upon completion of these operations.
+ +
+
+ +

◆ uct_iface_fence()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_iface_fence (uct_iface_h iface,
unsigned flags 
)
+
+
Parameters
+ + + +
[in]ifaceInterface to issue communications from.
[in]flagsFlags that control ordering semantic (currently unsupported - set to 0).
+
+
+
Returns
UCS_OK - Ordering is inserted.
+ +
+
+ +

◆ uct_ep_pending_add()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_pending_add (uct_ep_h ep,
uct_pending_req_treq,
unsigned flags 
)
+
+

Add a pending request to the endpoint pending queue. The request will be dispatched when the endpoint could potentially have additional send resources.

+
Parameters
+ + + + +
[in]epEndpoint to add the pending request to.
[in]reqPending request, which would be dispatched when more resources become available. The user is expected to initialize the "func" field. After being passed to the function, the request is owned by UCT, until the callback is called and returns UCS_OK.
[in]flagsFlags that control pending request processing (see uct_cb_flags)
+
+
+
Returns
UCS_OK - request added to pending queue UCS_ERR_BUSY - request was not added to pending queue, because send resources are available now. The user is advised to retry.
+ +
+
+ +

◆ uct_ep_pending_purge()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void uct_ep_pending_purge (uct_ep_h ep,
uct_pending_purge_callback_t cb,
void * arg 
)
+
+

Remove pending requests from the given endpoint and pass them to the provided callback function. The callback return value is ignored.

+
Parameters
+ + + + +
[in]epEndpoint to remove pending requests from.
[in]cbCallback to pass the removed requests to.
[in]argArgument to pass to the cb callback.
+
+
+ +
+
+ +

◆ uct_ep_flush()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_flush (uct_ep_h ep,
unsigned flags,
uct_completion_tcomp 
)
+
+

Flushes all outstanding communications issued on the endpoint prior to this call. The operations are completed at the origin or at the target as well. The exact completion semantic depends on flags parameter.

+
Parameters
+ + + + +
[in]epEndpoint to flush communications from.
[in]flagsFlags uct_flush_flags that control completion semantic.
[in,out]compCompletion handle as defined by uct_completion_t. Can be NULL, which means that the call will return the current state of the endpoint and no completion will be generated in case of outstanding communications. If it is not NULL completion counter is decremented by 1 when the call completes. Completion callback is called when the counter reaches 0.
+
+
+
Returns
UCS_OK - No outstanding communications left. UCS_ERR_NO_RESOURCE - Flush operation could not be initiated. A subsequent call to uct_ep_pending_add would add a pending operation, which provides an opportunity to retry the flush. UCS_INPROGRESS - Some communication operations are still in progress. If non-NULL 'comp' is provided, it will be updated upon completion of these operations.
+ +
+
+ +

◆ uct_ep_fence()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_fence (uct_ep_h ep,
unsigned flags 
)
+
+
Parameters
+ + + +
[in]epEndpoint to issue communications from.
[in]flagsFlags that control ordering semantic (currently unsupported - set to 0).
+
+
+
Returns
UCS_OK - Ordering is inserted.
+ +
+
+ +

◆ uct_iface_progress_enable()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void uct_iface_progress_enable (uct_iface_h iface,
unsigned flags 
)
+
+

Notify the transport that it should actively progress communications during uct_worker_progress().

+

When the interface is created, its progress is initially disabled.

+
Parameters
+ + + +
[in]ifaceThe interface to enable progress.
[in]flagsThe type of progress to enable as defined by uct_progress_types
+
+
+
Note
This function is not thread safe with respect to ucp_worker_progress(), unless the flag UCT_PROGRESS_THREAD_SAFE is specified.
+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ uct_iface_progress_disable()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void uct_iface_progress_disable (uct_iface_h iface,
unsigned flags 
)
+
+

Notify the transport that it should not progress its communications during uct_worker_progress(). Thus the latency of other transports may be improved.

+

By default, progress is disabled when the interface is created.

+
Parameters
+ + + +
[in]ifaceThe interface to disable progress.
[in]flagsThe type of progress to disable as defined by uct_progress_types.
+
+
+
Note
This function is not thread safe with respect to ucp_worker_progress(), unless the flag UCT_PROGRESS_THREAD_SAFE is specified.
+ +
+
+ +

◆ uct_iface_progress()

+ +
+
+ + + + + + + + +
unsigned uct_iface_progress (uct_iface_h iface)
+
+ +
+
+ +

◆ uct_completion_update_status()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static UCS_F_ALWAYS_INLINE void uct_completion_update_status (uct_completion_tcomp,
ucs_status_t status 
)
+
+static
+
+
Parameters
+ + + +
comp[in] Completion handle to update.
status[in] Status to update comp handle.
+
+
+ +
+
+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e.js new file mode 100644 index 00000000000..273d3e209eb --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e.js @@ -0,0 +1,346 @@ +var group___u_c_t___r_e_s_o_u_r_c_e = +[ + [ "UCT interface operations and capabilities", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p" ], + [ "UCT interface for asynchronous event capabilities", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p" ], + [ "uct_md_resource_desc", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__md__resource__desc", [ + [ "md_name", "group___u_c_t___r_e_s_o_u_r_c_e.html#a44245b18bf7151a4bde8cb4c0112f8cb", null ] + ] ], + [ "uct_component_attr", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__component__attr", [ + [ "field_mask", "group___u_c_t___r_e_s_o_u_r_c_e.html#ad95df67b474d3f51629e0a6d0ee2537e", null ], + [ "name", "group___u_c_t___r_e_s_o_u_r_c_e.html#a4d186d55814dbe82c4403564d38d084e", null ], + [ "md_resource_count", "group___u_c_t___r_e_s_o_u_r_c_e.html#a4add45e93acd44e434624726caaf9efb", null ], + [ "md_resources", "group___u_c_t___r_e_s_o_u_r_c_e.html#a75c51f7e16d827cc4c848016f5365404", null ], + [ "flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#ad2800e9666be0be84926f768eac792a2", null ] + ] ], + [ "uct_tl_resource_desc", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__tl__resource__desc", [ + [ "tl_name", "group___u_c_t___r_e_s_o_u_r_c_e.html#a97eefc21494ace8e0ca2598eb8085001", null ], + [ "dev_name", "group___u_c_t___r_e_s_o_u_r_c_e.html#a19260a4faff281f45363008cbcaa0f41", null ], + [ "dev_type", "group___u_c_t___r_e_s_o_u_r_c_e.html#a83b6513b96f2a97a82dcd3ab751c996a", null ], + [ "sys_device", "group___u_c_t___r_e_s_o_u_r_c_e.html#a1e3ce2607f86f8faf1eacf0b91636e27", null ] + ] ], + [ "uct_iface_attr", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr", [ + [ "cap", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6c55cf8697354f4ace91142100ed074e", null ], + [ "device_addr_len", "group___u_c_t___r_e_s_o_u_r_c_e.html#a150fb2fb81e47e2a97571147cdc1647e", null ], + [ "iface_addr_len", "group___u_c_t___r_e_s_o_u_r_c_e.html#adaeded4e728f80628ff6d29eeae7a5b0", null ], + [ "ep_addr_len", "group___u_c_t___r_e_s_o_u_r_c_e.html#a70955f4d39111b0a48c85e0ff65768a0", null ], + [ "max_conn_priv", "group___u_c_t___r_e_s_o_u_r_c_e.html#a5612c3ad1e7a46dd6add669e32364424", null ], + [ "listen_sockaddr", "group___u_c_t___r_e_s_o_u_r_c_e.html#a3a5bb921af4157bc96d39aa580ff978f", null ], + [ "overhead", "group___u_c_t___r_e_s_o_u_r_c_e.html#ab802bc3cc95cc67e176efeb2fe1c14c4", null ], + [ "bandwidth", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6a9bab4b671c0d0da959c98a4b3ab7ac", null ], + [ "latency", "group___u_c_t___r_e_s_o_u_r_c_e.html#ace9cf2c31674223b000dff0e72c5d533", null ], + [ "priority", "group___u_c_t___r_e_s_o_u_r_c_e.html#a97534f4af50032a82c02b76bdb47a96d", null ], + [ "max_num_eps", "group___u_c_t___r_e_s_o_u_r_c_e.html#af6baead12f87707af1b3e56024b2b2e5", null ], + [ "dev_num_paths", "group___u_c_t___r_e_s_o_u_r_c_e.html#ac9c279de0e13a96a683baf04d3c40c46", null ] + ] ], + [ "uct_iface_attr.cap", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap", [ + [ "put", "group___u_c_t___r_e_s_o_u_r_c_e.html#a8e13ffc9fd9d6a6761231a764bdf106b", null ], + [ "get", "group___u_c_t___r_e_s_o_u_r_c_e.html#ab5eda0a74558a342cf659187f06f746f", null ], + [ "am", "group___u_c_t___r_e_s_o_u_r_c_e.html#ac04cd38aeb30f3ad1f8ab4e64a0ded7b", null ], + [ "tag", "group___u_c_t___r_e_s_o_u_r_c_e.html#ae4d23e841d8e8804190027bce3180fa5", null ], + [ "atomic32", "group___u_c_t___r_e_s_o_u_r_c_e.html#ab6ef684feef10177fc3c31b012c575a2", null ], + [ "atomic64", "group___u_c_t___r_e_s_o_u_r_c_e.html#a1dd9655cfd97613a0a996060a998b0d4", null ], + [ "flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a4e5868d676cb634aa75b125a0f741abf", null ], + [ "event_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#af1b7cb88db5bf93bba7cbcaa503cbd6c", null ] + ] ], + [ "uct_iface_attr.cap.put", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8put", [ + [ "max_short", "group___u_c_t___r_e_s_o_u_r_c_e.html#a003a57a3795b6dc103dd4b2425a3b117", null ], + [ "max_bcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6208b0725f6589002067bcdcef09118f", null ], + [ "min_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a57d02deb57ae536cf84940eff69270c0", null ], + [ "max_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6bab79a6aa78d3f8113e01f4687e58b3", null ], + [ "opt_zcopy_align", "group___u_c_t___r_e_s_o_u_r_c_e.html#a130833876f7297c8711797fa51471539", null ], + [ "align_mtu", "group___u_c_t___r_e_s_o_u_r_c_e.html#a46a9c80802ec1ec433bbc251f69a8fdf", null ], + [ "max_iov", "group___u_c_t___r_e_s_o_u_r_c_e.html#a0a46d1ac3838667aa1ab96b278ed8b51", null ] + ] ], + [ "uct_iface_attr.cap.get", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8get", [ + [ "max_short", "group___u_c_t___r_e_s_o_u_r_c_e.html#a003a57a3795b6dc103dd4b2425a3b117", null ], + [ "max_bcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6208b0725f6589002067bcdcef09118f", null ], + [ "min_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a57d02deb57ae536cf84940eff69270c0", null ], + [ "max_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6bab79a6aa78d3f8113e01f4687e58b3", null ], + [ "opt_zcopy_align", "group___u_c_t___r_e_s_o_u_r_c_e.html#a130833876f7297c8711797fa51471539", null ], + [ "align_mtu", "group___u_c_t___r_e_s_o_u_r_c_e.html#a46a9c80802ec1ec433bbc251f69a8fdf", null ], + [ "max_iov", "group___u_c_t___r_e_s_o_u_r_c_e.html#a0a46d1ac3838667aa1ab96b278ed8b51", null ] + ] ], + [ "uct_iface_attr.cap.am", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8am", [ + [ "max_short", "group___u_c_t___r_e_s_o_u_r_c_e.html#a003a57a3795b6dc103dd4b2425a3b117", null ], + [ "max_bcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6208b0725f6589002067bcdcef09118f", null ], + [ "min_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a57d02deb57ae536cf84940eff69270c0", null ], + [ "max_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6bab79a6aa78d3f8113e01f4687e58b3", null ], + [ "opt_zcopy_align", "group___u_c_t___r_e_s_o_u_r_c_e.html#a130833876f7297c8711797fa51471539", null ], + [ "align_mtu", "group___u_c_t___r_e_s_o_u_r_c_e.html#a46a9c80802ec1ec433bbc251f69a8fdf", null ], + [ "max_hdr", "group___u_c_t___r_e_s_o_u_r_c_e.html#aa84fcfd6201c2b55787abdea4b1e6f34", null ], + [ "max_iov", "group___u_c_t___r_e_s_o_u_r_c_e.html#a0a46d1ac3838667aa1ab96b278ed8b51", null ] + ] ], + [ "uct_iface_attr.cap.tag", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag", [ + [ "recv", "group___u_c_t___r_e_s_o_u_r_c_e.html#af701fee85540b78d08cb276d14953d58", null ], + [ "eager", "group___u_c_t___r_e_s_o_u_r_c_e.html#a5b154520a22cb4ca5f8505fb0525abe6", null ], + [ "rndv", "group___u_c_t___r_e_s_o_u_r_c_e.html#acdccd5548d60bc2d32ec34d59ecce438", null ] + ] ], + [ "uct_iface_attr.cap.tag.recv", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag_8recv", [ + [ "min_recv", "group___u_c_t___r_e_s_o_u_r_c_e.html#ac973fbf126e5918d28ed7f81ad886553", null ], + [ "max_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6bab79a6aa78d3f8113e01f4687e58b3", null ], + [ "max_iov", "group___u_c_t___r_e_s_o_u_r_c_e.html#a0a46d1ac3838667aa1ab96b278ed8b51", null ], + [ "max_outstanding", "group___u_c_t___r_e_s_o_u_r_c_e.html#ab96937da3ef792334de90211006268f7", null ] + ] ], + [ "uct_iface_attr.cap.tag.eager", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag_8eager", [ + [ "max_short", "group___u_c_t___r_e_s_o_u_r_c_e.html#a003a57a3795b6dc103dd4b2425a3b117", null ], + [ "max_bcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6208b0725f6589002067bcdcef09118f", null ], + [ "max_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6bab79a6aa78d3f8113e01f4687e58b3", null ], + [ "max_iov", "group___u_c_t___r_e_s_o_u_r_c_e.html#a0a46d1ac3838667aa1ab96b278ed8b51", null ] + ] ], + [ "uct_iface_attr.cap.tag.rndv", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag_8rndv", [ + [ "max_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6bab79a6aa78d3f8113e01f4687e58b3", null ], + [ "max_hdr", "group___u_c_t___r_e_s_o_u_r_c_e.html#aa84fcfd6201c2b55787abdea4b1e6f34", null ], + [ "max_iov", "group___u_c_t___r_e_s_o_u_r_c_e.html#a0a46d1ac3838667aa1ab96b278ed8b51", null ] + ] ], + [ "uct_iface_attr.cap.atomic32", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8atomic32", [ + [ "op_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a9ac9ba98d74fd850d331d3298212833e", null ], + [ "fop_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a564c7d941f5f339c0ed63712bdf96b29", null ] + ] ], + [ "uct_iface_attr.cap.atomic64", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8atomic64", [ + [ "op_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a9ac9ba98d74fd850d331d3298212833e", null ], + [ "fop_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a564c7d941f5f339c0ed63712bdf96b29", null ] + ] ], + [ "uct_iface_params", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__params", [ + [ "field_mask", "group___u_c_t___r_e_s_o_u_r_c_e.html#a9e1d45a55b7e9629eb548f27bea940a0", null ], + [ "cpu_mask", "group___u_c_t___r_e_s_o_u_r_c_e.html#a7093f64ec5efe2f1c3833dbe90b9099a", null ], + [ "open_mode", "group___u_c_t___r_e_s_o_u_r_c_e.html#a7db3b0fb2bbde6b4625ad5a6c5e1a043", null ], + [ "mode", "group___u_c_t___r_e_s_o_u_r_c_e.html#aabd3472dc469285e466132ea7e4a2ec2", null ], + [ "stats_root", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6d87dd22dc349557a706bb25d49975f0", null ], + [ "rx_headroom", "group___u_c_t___r_e_s_o_u_r_c_e.html#aea4ca94171e8dfe3e80abb74a06fe333", null ], + [ "err_handler_arg", "group___u_c_t___r_e_s_o_u_r_c_e.html#abd1425d7ce0507acc97361abc56ea66d", null ], + [ "err_handler", "group___u_c_t___r_e_s_o_u_r_c_e.html#afc90f76dc754aa478af524ac7c9d3f51", null ], + [ "err_handler_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a01b7ef6558dbe6f91ac5c59b63d5e0dd", null ], + [ "eager_arg", "group___u_c_t___r_e_s_o_u_r_c_e.html#a7c6b1ea224405a00438306212d30a172", null ], + [ "eager_cb", "group___u_c_t___r_e_s_o_u_r_c_e.html#a3e70569e1bf8a8d62fbc686dd147fd56", null ], + [ "rndv_arg", "group___u_c_t___r_e_s_o_u_r_c_e.html#afbeb49c7a773e6d61eaba872535809e8", null ], + [ "rndv_cb", "group___u_c_t___r_e_s_o_u_r_c_e.html#aee589d588ff4207d4fcf0d147479facd", null ], + [ "async_event_arg", "group___u_c_t___r_e_s_o_u_r_c_e.html#a678662e17ae32ca245a45d449ea497f0", null ], + [ "async_event_cb", "group___u_c_t___r_e_s_o_u_r_c_e.html#ab15b293126224a46cd25af411f75d39b", null ], + [ "keepalive_interval", "group___u_c_t___r_e_s_o_u_r_c_e.html#afbbbea17089ee8ff5ef0ef6ef3199cfe", null ], + [ "am_alignment", "group___u_c_t___r_e_s_o_u_r_c_e.html#a578571513991a26e7d0331b439968948", null ], + [ "am_align_offset", "group___u_c_t___r_e_s_o_u_r_c_e.html#a119e07151f7cfc215fdf86724cccf1f9", null ], + [ "features", "group___u_c_t___r_e_s_o_u_r_c_e.html#a967dbb2a49191e0b028f7058938293c6", null ] + ] ], + [ "uct_iface_params.mode", "group___u_c_t___r_e_s_o_u_r_c_e.html#unionuct__iface__params_8mode", [ + [ "device", "group___u_c_t___r_e_s_o_u_r_c_e.html#a913f9c49dcb544e2087cee284f4a00b7", null ], + [ "sockaddr", "group___u_c_t___r_e_s_o_u_r_c_e.html#a48bf0900b6d58aadfcae19eef1faccf2", null ] + ] ], + [ "uct_iface_params.mode.device", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__params_8mode_8device", [ + [ "tl_name", "group___u_c_t___r_e_s_o_u_r_c_e.html#a014d3b92d61614fb65175a049548627c", null ], + [ "dev_name", "group___u_c_t___r_e_s_o_u_r_c_e.html#a2fc9141c264d49c58c0377dd85b43744", null ] + ] ], + [ "uct_iface_params.mode.sockaddr", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__params_8mode_8sockaddr", [ + [ "listen_sockaddr", "group___u_c_t___r_e_s_o_u_r_c_e.html#a5bc951a80626f79c6da054b5a09990cd", null ], + [ "conn_request_arg", "group___u_c_t___r_e_s_o_u_r_c_e.html#ad80d0ef2043347df663b059b9f103bcd", null ], + [ "conn_request_cb", "group___u_c_t___r_e_s_o_u_r_c_e.html#a191b74a436fbf612740a10737cc930c2", null ], + [ "cb_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a8a9d798e64e80303680078082cf16dbb", null ] + ] ], + [ "uct_ep_params", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__ep__params", [ + [ "field_mask", "group___u_c_t___r_e_s_o_u_r_c_e.html#a9c1ea4678d33fd3f741856135ad61d23", null ], + [ "iface", "group___u_c_t___r_e_s_o_u_r_c_e.html#a21e3628c5ffcafcdeb732f4f9687aa30", null ], + [ "user_data", "group___u_c_t___r_e_s_o_u_r_c_e.html#a107bb6eec86e0f877d2f256378ea0df8", null ], + [ "dev_addr", "group___u_c_t___r_e_s_o_u_r_c_e.html#a273d48d73a6813f2fe097026d739e9d9", null ], + [ "iface_addr", "group___u_c_t___r_e_s_o_u_r_c_e.html#ae8c9ada98be19a83ab9cd2af30203d5f", null ], + [ "sockaddr", "group___u_c_t___r_e_s_o_u_r_c_e.html#a3eeadaece922904cae592889db563977", null ], + [ "sockaddr_cb_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a1471e0cef36287e0b37645beba2d792c", null ], + [ "sockaddr_pack_cb", "group___u_c_t___r_e_s_o_u_r_c_e.html#a7d44f52031c50abc0b6636421c82bbf1", null ], + [ "cm", "group___u_c_t___r_e_s_o_u_r_c_e.html#aa8133488ec45605b0c825e66d12ba1a8", null ], + [ "conn_request", "group___u_c_t___r_e_s_o_u_r_c_e.html#ad852c3138b06acb342e7f9c78ade8e41", null ], + [ "sockaddr_cb_client", "group___u_c_t___r_e_s_o_u_r_c_e.html#a375c999b7326f631877deae2bf24ccf6", null ], + [ "sockaddr_cb_server", "group___u_c_t___r_e_s_o_u_r_c_e.html#aa290e652d57da6ee3bc5d1efff43a2fe", null ], + [ "disconnect_cb", "group___u_c_t___r_e_s_o_u_r_c_e.html#ac270000f4e5a1bbcba955098ea7e8e6a", null ], + [ "path_index", "group___u_c_t___r_e_s_o_u_r_c_e.html#af271b2f02d31b2a1fcbf34076b83a796", null ], + [ "cm_resolve_cb", "group___u_c_t___r_e_s_o_u_r_c_e.html#a84e49366f4967ac76fad12d27295ec87", null ], + [ "private_data", "group___u_c_t___r_e_s_o_u_r_c_e.html#a4ad36475338e8aee2577fa4535c01dfc", null ], + [ "private_data_length", "group___u_c_t___r_e_s_o_u_r_c_e.html#a287105cfd0e1922f7975efa4bba08ead", null ], + [ "local_sockaddr", "group___u_c_t___r_e_s_o_u_r_c_e.html#acd106a47629c2dffb844fbdb15a050f6", null ] + ] ], + [ "uct_completion", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__completion", [ + [ "func", "group___u_c_t___r_e_s_o_u_r_c_e.html#a34d9a5e03c0d9199a2d540f1a2cee5a2", null ], + [ "count", "group___u_c_t___r_e_s_o_u_r_c_e.html#ac80f9b64f46a8a3a9de6cb0b121667ab", null ], + [ "status", "group___u_c_t___r_e_s_o_u_r_c_e.html#aa3b099f011e78bd23c8768264576314d", null ] + ] ], + [ "uct_pending_req", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__pending__req", [ + [ "func", "group___u_c_t___r_e_s_o_u_r_c_e.html#a638accaa60c4c3f373c6d12c2ea74c6c", null ], + [ "priv", "group___u_c_t___r_e_s_o_u_r_c_e.html#a3541a702c8158a6d557ce30cec1863b1", null ] + ] ], + [ "uct_iov", "group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iov", [ + [ "buffer", "group___u_c_t___r_e_s_o_u_r_c_e.html#a315a759f0ec81b26fcba7530e43d9149", null ], + [ "length", "group___u_c_t___r_e_s_o_u_r_c_e.html#ad00b6e55c209c6abc87b091f4c776cd5", null ], + [ "memh", "group___u_c_t___r_e_s_o_u_r_c_e.html#a9a24e4be8303ebd6906bcaff37ab31f7", null ], + [ "stride", "group___u_c_t___r_e_s_o_u_r_c_e.html#a21ea5b278cab407db05eaa3dce3b2824", null ], + [ "count", "group___u_c_t___r_e_s_o_u_r_c_e.html#addb247a8d80907156df00159bbafcda5", null ] + ] ], + [ "uct_md_resource_desc_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gaf0054bef6a6e9a76677d1d9bac50a5cb", null ], + [ "uct_component_attr_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga09ca059b9929301d94b90194f1631fd0", null ], + [ "uct_tl_resource_desc_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gab5f56e3ba73460c560c7c1a833a991b8", null ], + [ "uct_component_h", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga970f9dcfebb42f0209c2c7e23eca99f6", null ], + [ "uct_iface_h", "group___u_c_t___r_e_s_o_u_r_c_e.html#gab6decd0363732ac4187bf7aa37883c35", null ], + [ "uct_iface_config_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga9769f5a67e7c711eb95abe993f794207", null ], + [ "uct_md_config_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gabfb351862f43010ab8d5bbdb2495d0ee", null ], + [ "uct_cm_config_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga98237d6d7f9a212449f6469d0d0eefd9", null ], + [ "uct_ep_h", "group___u_c_t___r_e_s_o_u_r_c_e.html#gae7298a2b6fdb0e7771868459b10d6b20", null ], + [ "uct_mem_h", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga2af4d7f2a70d4ac5eaef079dc68506b8", null ], + [ "uct_rkey_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga2ccb9c7b57d14f25db9d2e850c348180", null ], + [ "uct_md_h", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga80ea2d5570f0cef850d315ce72ea8307", null ], + [ "uct_md_ops_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gac8dbb0c7c104ee4eb86cb299e56a535e", null ], + [ "uct_rkey_ctx_h", "group___u_c_t___r_e_s_o_u_r_c_e.html#gab9a50bee74dc6d4674fb3800aab19da7", null ], + [ "uct_iface_attr_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga64b102833286ad65e2802002e0f403be", null ], + [ "uct_iface_params_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gaff593598b5296991d8081a289f7a7d40", null ], + [ "uct_ep_attr_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gaad8747fe0969320a445f7b9cba53d50c", null ], + [ "uct_md_attr_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga9e9485d79fdf2f153e05cc5282ab57fd", null ], + [ "uct_completion_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga1c5e511c1cbe1734b317f7688a5cdb90", null ], + [ "uct_pending_req_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gaacadb8cfd53f7cafd39fd7f1ae12ec02", null ], + [ "uct_worker_h", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga2c776904a7202aa95ec1ceecfe74f2f9", null ], + [ "uct_md_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gad8a3d325a68dfb193354ac884f6ddd1d", null ], + [ "uct_am_trace_type_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga8d195c0008dbf59eb931504c3b2590fc", null ], + [ "uct_device_addr_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gac88423ede47b1ecaf895996971cfdf53", null ], + [ "uct_iface_addr_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga96d01980a33064e85158b9028073e96c", null ], + [ "uct_ep_addr_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga808816ad1373f05b9ed7f3432d9f78c6", null ], + [ "uct_ep_params_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gaff904a2be18f709176eaec75e4a93251", null ], + [ "uct_ep_connect_params_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gaddad06e96eb39d96239d984bfbbbb5c0", null ], + [ "uct_cm_attr_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gac97ab5f8fc69893d70fd3dc374687a71", null ], + [ "uct_cm_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gaf0ad3383e80500c7b5f1ac9a93ca1525", null ], + [ "uct_cm_h", "group___u_c_t___r_e_s_o_u_r_c_e.html#gab88b0c85922e6c157fae605a42647dd7", null ], + [ "uct_listener_attr_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gad9c5692c9af9e043f6ee4ad3a15dced6", null ], + [ "uct_listener_h", "group___u_c_t___r_e_s_o_u_r_c_e.html#gaf88468443532bb4b677b18f038b6f60e", null ], + [ "uct_listener_params_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga8d8a6ca0e12e5f1bc54f8c85bda14d59", null ], + [ "uct_tag_context_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga65b6470372d51789a3a96cc5ea317f9d", null ], + [ "uct_tag_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga162e00587cfb6506fe1c038c0f63e2ca", null ], + [ "uct_worker_cb_id_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga9ec2e5d2c228f55751038dad0691c67b", null ], + [ "uct_conn_request_h", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga71c5cb66cb921d62e609d02ca628c90f", null ], + [ "uct_iov_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga0012e635ed11cf3ffd9f61705de73b52", null ], + [ "uct_completion_callback_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gafe8643ddb601908eab1d92ee2f012f8c", null ], + [ "uct_pending_callback_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gad282a6c6faf7911791c3978bcfbb3c93", null ], + [ "uct_error_handler_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga119fc03d8825b540252406cfeb280897", null ], + [ "uct_pending_purge_callback_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga35d6acc042923019e0d5819b72a465f5", null ], + [ "uct_pack_callback_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga75c4600da362988f9d4f4d53a294f36b", null ], + [ "uct_unpack_callback_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga58d033b0b2eacc05af41af8c07fde4da", null ], + [ "uct_async_event_cb_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gafb7251839b08fac157af1c9b85430e16", null ], + [ "uct_component_attr_field", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga246ded5e20aa09c590673c771c74b68b", [ + [ "UCT_COMPONENT_ATTR_FIELD_NAME", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga246ded5e20aa09c590673c771c74b68ba45f30f9f196f5f75309882d48c435a26", null ], + [ "UCT_COMPONENT_ATTR_FIELD_MD_RESOURCE_COUNT", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga246ded5e20aa09c590673c771c74b68ba25d44baf92c5c7673dbbf44de35fdc84", null ], + [ "UCT_COMPONENT_ATTR_FIELD_MD_RESOURCES", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga246ded5e20aa09c590673c771c74b68ba4ffc9f65e0b3d7cb07db745e7e61ba47", null ], + [ "UCT_COMPONENT_ATTR_FIELD_FLAGS", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga246ded5e20aa09c590673c771c74b68baf29cd3b384fbddeccc937d42abbd6b41", null ], + [ "UCT_COMPONENT_FLAG_CM", "group___u_c_t___r_e_s_o_u_r_c_e.html#ggadc29c2ff13d900c2f185ee95427fb06cac3f00c23358624b53732e413433f1d8d", null ] + ] ], + [ "uct_device_type_t", "group___u_c_t___r_e_s_o_u_r_c_e.html#gae0c25b8c160e49fbb9cc122c9807f20d", [ + [ "UCT_DEVICE_TYPE_NET", "group___u_c_t___r_e_s_o_u_r_c_e.html#ggae0c25b8c160e49fbb9cc122c9807f20da5996d835fc60fcdca9c03539b99a0a2d", null ], + [ "UCT_DEVICE_TYPE_SHM", "group___u_c_t___r_e_s_o_u_r_c_e.html#ggae0c25b8c160e49fbb9cc122c9807f20da3d586e5bccd77cfe8bb3c87ce3fcce06", null ], + [ "UCT_DEVICE_TYPE_ACC", "group___u_c_t___r_e_s_o_u_r_c_e.html#ggae0c25b8c160e49fbb9cc122c9807f20da4830aee82331272d4acfc027d733613f", null ], + [ "UCT_DEVICE_TYPE_SELF", "group___u_c_t___r_e_s_o_u_r_c_e.html#ggae0c25b8c160e49fbb9cc122c9807f20da86a97f09cfba66ff7170f77faaa2d89b", null ], + [ "UCT_DEVICE_TYPE_LAST", "group___u_c_t___r_e_s_o_u_r_c_e.html#ggae0c25b8c160e49fbb9cc122c9807f20dacd8f593dedbce6ce4d40115b593451e1", null ] + ] ], + [ "uct_iface_event_types", "group___u_c_t___r_e_s_o_u_r_c_e.html#gaef09139f303b0a3d28a1cea524dc3bd2", [ + [ "UCT_EVENT_SEND_COMP", "group___u_c_t___r_e_s_o_u_r_c_e.html#ggaef09139f303b0a3d28a1cea524dc3bd2aba611824db8eb31b9eb07111f987e011", null ], + [ "UCT_EVENT_RECV", "group___u_c_t___r_e_s_o_u_r_c_e.html#ggaef09139f303b0a3d28a1cea524dc3bd2a1381e135252b79646cdb3a6f3d15431e", null ], + [ "UCT_EVENT_RECV_SIG", "group___u_c_t___r_e_s_o_u_r_c_e.html#ggaef09139f303b0a3d28a1cea524dc3bd2ab5b97562ce555a0979a56bd1d9810eaf", null ] + ] ], + [ "uct_flush_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga84ba23c28fda1c96f5018bbafb7ffed6", [ + [ "UCT_FLUSH_FLAG_LOCAL", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga84ba23c28fda1c96f5018bbafb7ffed6ad0b221329684853b22a60d88e0dd8bac", null ], + [ "UCT_FLUSH_FLAG_CANCEL", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga84ba23c28fda1c96f5018bbafb7ffed6a556a8cb417f5b6e21b0be93297eb2f45", null ] + ] ], + [ "uct_progress_types", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga71bfe6e07ebbcc036f883b31db1e9e51", [ + [ "UCT_PROGRESS_SEND", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga71bfe6e07ebbcc036f883b31db1e9e51a5a00ade1aed7157a0662d8a4ae9cc2f5", null ], + [ "UCT_PROGRESS_RECV", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga71bfe6e07ebbcc036f883b31db1e9e51a13a7d7c06d204f61b5de0cdf3ede1957", null ], + [ "UCT_PROGRESS_THREAD_SAFE", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga71bfe6e07ebbcc036f883b31db1e9e51a8cba06626715c4be748d16a7baf90b77", null ] + ] ], + [ "uct_cb_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#gaca1e07b69024fec26746e3a19b4de9d0", [ + [ "UCT_CB_FLAG_RESERVED", "group___u_c_t___r_e_s_o_u_r_c_e.html#ggaca1e07b69024fec26746e3a19b4de9d0a93c65c155511b258449363ea8cad8f7f", null ], + [ "UCT_CB_FLAG_ASYNC", "group___u_c_t___r_e_s_o_u_r_c_e.html#ggaca1e07b69024fec26746e3a19b4de9d0a2de3b7622afcabd645878e0540f062aa", null ] + ] ], + [ "uct_iface_open_mode", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga8bc9c95ee7fbd76321940e2853d08bb5", [ + [ "UCT_IFACE_OPEN_MODE_DEVICE", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8bc9c95ee7fbd76321940e2853d08bb5a504bef9a8574445a0dfdcf517160fef0", null ], + [ "UCT_IFACE_OPEN_MODE_SOCKADDR_SERVER", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8bc9c95ee7fbd76321940e2853d08bb5a9b2655b644fae2cf20d5b673854c9ad0", null ], + [ "UCT_IFACE_OPEN_MODE_SOCKADDR_CLIENT", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8bc9c95ee7fbd76321940e2853d08bb5ab596bc437bc4e84500039aafcf5adfeb", null ] + ] ], + [ "uct_iface_params_field", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga896baeefc7933d925202c32b0d09f596", [ + [ "UCT_IFACE_PARAM_FIELD_CPU_MASK", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a80cd3b1a8f9de031df8aa12e7a0eb08b", null ], + [ "UCT_IFACE_PARAM_FIELD_OPEN_MODE", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a436751cf65204ec8d37e649b0913eff7", null ], + [ "UCT_IFACE_PARAM_FIELD_DEVICE", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a0f56ae54f7fcd7a002588a75e207f8a2", null ], + [ "UCT_IFACE_PARAM_FIELD_SOCKADDR", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596af01913e91929ae3c52c465e5df97bec3", null ], + [ "UCT_IFACE_PARAM_FIELD_STATS_ROOT", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a7af1c01a0aa6c8d7ddc167cd516f3272", null ], + [ "UCT_IFACE_PARAM_FIELD_RX_HEADROOM", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596aabb0425ec3c58345ba973683b72dc255", null ], + [ "UCT_IFACE_PARAM_FIELD_ERR_HANDLER_ARG", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596ab0a406683b45f265eaf9edc794e72e7e", null ], + [ "UCT_IFACE_PARAM_FIELD_ERR_HANDLER", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a57771259693749559910cbf8256ef7a1", null ], + [ "UCT_IFACE_PARAM_FIELD_ERR_HANDLER_FLAGS", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a2f97be5b7ef0e542fc39fe778c85097e", null ], + [ "UCT_IFACE_PARAM_FIELD_HW_TM_EAGER_ARG", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596ad4afd13a4a6e36adb6e5576de666ab64", null ], + [ "UCT_IFACE_PARAM_FIELD_HW_TM_EAGER_CB", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a9dcb103f9b93d5c37d5b1ff401fda324", null ], + [ "UCT_IFACE_PARAM_FIELD_HW_TM_RNDV_ARG", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a5b7da96e1cd28639f489bcf08194ecd7", null ], + [ "UCT_IFACE_PARAM_FIELD_HW_TM_RNDV_CB", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a2c2b16ef1c537d1596ceb7b72fbf3145", null ], + [ "UCT_IFACE_PARAM_FIELD_ASYNC_EVENT_ARG", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a8d6361b77aae50f66b88b13826375aed", null ], + [ "UCT_IFACE_PARAM_FIELD_ASYNC_EVENT_CB", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a83e8eb07f6d7e357001a0ac826857ebd", null ], + [ "UCT_IFACE_PARAM_FIELD_KEEPALIVE_INTERVAL", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a3b05690f0c5ae7cf346a1e7a00186953", null ], + [ "UCT_IFACE_PARAM_FIELD_AM_ALIGNMENT", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a8d676d1b40253cacf1abb4302d448d3a", null ], + [ "UCT_IFACE_PARAM_FIELD_AM_ALIGN_OFFSET", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a22a9554ccdc8209f81d7d5b5a8e39780", null ], + [ "UCT_IFACE_PARAM_FIELD_FEATURES", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596ad5efe451d0f04d6929f39b66cdc8d889", null ] + ] ], + [ "uct_ep_params_field", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga8e76f363d8805669fb5371b404c5658b", [ + [ "UCT_EP_PARAM_FIELD_IFACE", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba082065ffa8866740ca6418a9c38b503d", null ], + [ "UCT_EP_PARAM_FIELD_USER_DATA", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658babbff9b7d6a5114860d6b40f3b0c445dc", null ], + [ "UCT_EP_PARAM_FIELD_DEV_ADDR", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba14fb24fafcf9fdd0418a5dd348ab828c", null ], + [ "UCT_EP_PARAM_FIELD_IFACE_ADDR", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658baef938215a002d0b59812c737db0a965d", null ], + [ "UCT_EP_PARAM_FIELD_SOCKADDR", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bae4c4f4f2110b170ed4920529821387e6", null ], + [ "UCT_EP_PARAM_FIELD_SOCKADDR_CB_FLAGS", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba6489f1bcbdd0de8e2aee80661aa37ec1", null ], + [ "UCT_EP_PARAM_FIELD_SOCKADDR_PACK_CB", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba61e749dca15775eb4cbc492c020027ca", null ], + [ "UCT_EP_PARAM_FIELD_CM", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bab089df3f421f6fc0ccdda8b36ecd4e42", null ], + [ "UCT_EP_PARAM_FIELD_CONN_REQUEST", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba313aa3f8e5e089fc57a0c53fa48ee72d", null ], + [ "UCT_EP_PARAM_FIELD_SOCKADDR_CONNECT_CB_CLIENT", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bad59d4bae36d22a6d5da01512d9861256", null ], + [ "UCT_EP_PARAM_FIELD_SOCKADDR_NOTIFY_CB_SERVER", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bad86327449165ad945e6ae8a7c36c1c8c", null ], + [ "UCT_EP_PARAM_FIELD_SOCKADDR_DISCONNECT_CB", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba148d1e23de6d640612457216ad81da29", null ], + [ "UCT_EP_PARAM_FIELD_PATH_INDEX", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658baf1b7df888b75b42a627b327003bffdb6", null ], + [ "UCT_EP_PARAM_FIELD_CM_RESOLVE_CB", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bab8af49c5286ab9f6b6f6f62743960f8f", null ], + [ "UCT_EP_PARAM_FIELD_PRIV_DATA", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba43b2ccfee5e1811447b1902e6d9962c4", null ], + [ "UCT_EP_PARAM_FIELD_PRIV_DATA_LENGTH", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bac5bd575d5dddf9dd99e90251bb56faea", null ], + [ "UCT_EP_PARAM_FIELD_LOCAL_SOCKADDR", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bafdb48e56bfcdd0b9439329568885f8df", null ] + ] ], + [ "uct_iface_feature", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga078dd84cff9d6b1cda5692fbf6b1e7c7", [ + [ "UCT_IFACE_FEATURE_AM", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7a4bce30860f36cee1a7b74f6cd2c061ad", null ], + [ "UCT_IFACE_FEATURE_PUT", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7a59d0a64607692e3ff39fa61a899c7633", null ], + [ "UCT_IFACE_FEATURE_GET", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7ae80cd4ab8043e2df41d2d81854686415", null ], + [ "UCT_IFACE_FEATURE_AMO32", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7a06a813eb45714bc70e154691d82e5e81", null ], + [ "UCT_IFACE_FEATURE_AMO64", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7af6bebc50b5e4169f38cddaacc7ba7a7a", null ], + [ "UCT_IFACE_FEATURE_TAG", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7a08d34bf9a962d1b27b0c92865c773854", null ], + [ "UCT_IFACE_FEATURE_LAST", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7ab317c0279d872516f011df628d67dd9f", null ], + [ "UCT_TAG_RECV_CB_INLINE_DATA", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga726ca809ffd3d67ab4b8476646f26635a5dcb013c4470abbabc764c473898df3e", null ] + ] ], + [ "uct_cb_param_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga36bfc11c722b01a11e1949e8329262c9", [ + [ "UCT_CB_PARAM_FLAG_DESC", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga36bfc11c722b01a11e1949e8329262c9a741f6a62c34d5484fa6999b1e097e42a", null ], + [ "UCT_CB_PARAM_FLAG_FIRST", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga36bfc11c722b01a11e1949e8329262c9aef5b11372c919dfcdc55602d48e67135", null ], + [ "UCT_CB_PARAM_FLAG_MORE", "group___u_c_t___r_e_s_o_u_r_c_e.html#gga36bfc11c722b01a11e1949e8329262c9a2d9bb153789aeae6d1ecf0173cf483e9", null ] + ] ], + [ "uct_query_components", "group___u_c_t___r_e_s_o_u_r_c_e.html#gac11a18f80ae695355914c32095e5c75d", null ], + [ "uct_release_component_list", "group___u_c_t___r_e_s_o_u_r_c_e.html#gadd4eea4cf8e757f5ddd2e9edb1942dd0", null ], + [ "uct_component_query", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga437597d034328ce061df61647add1891", null ], + [ "uct_md_open", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga6254b927d3bfcb9699dbf82f0987b9ce", null ], + [ "uct_md_close", "group___u_c_t___r_e_s_o_u_r_c_e.html#gac9ab18f8a48b07429c9987b584fe5574", null ], + [ "uct_md_query_tl_resources", "group___u_c_t___r_e_s_o_u_r_c_e.html#gae4572e36e60bf2665e59cc7ef04bb011", null ], + [ "uct_release_tl_resource_list", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga1edfeac896c9ca285ab11580c904b558", null ], + [ "uct_md_iface_config_read", "group___u_c_t___r_e_s_o_u_r_c_e.html#gace64468ec8d46cbcbcfa6efd74e1148c", null ], + [ "uct_config_release", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga951ea184730bc0b9cf659b1038e999a4", null ], + [ "uct_iface_open", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga031e2c99f03585c0f4c7356c71f0fbb1", null ], + [ "uct_iface_close", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga748bd92ba4e62fd86c6b002f9198e2aa", null ], + [ "uct_iface_query", "group___u_c_t___r_e_s_o_u_r_c_e.html#gac2ec7cdee76fa075cc65185d7c134bc2", null ], + [ "uct_iface_get_device_address", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga67f64f9b1971622ab8e7c8410cc5ab44", null ], + [ "uct_iface_get_address", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga7da50f02f6cfaaf16f11c620fba9f3b8", null ], + [ "uct_iface_is_reachable", "group___u_c_t___r_e_s_o_u_r_c_e.html#gadf8829d8c85620cbc1ddfc0f3e8ec9a8", null ], + [ "uct_ep_check", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga45924a1e90cc4747fd23b36a21fc07af", null ], + [ "uct_iface_event_fd_get", "group___u_c_t___r_e_s_o_u_r_c_e.html#gae3aa273c042171bee7292da0d7f774d1", null ], + [ "uct_iface_event_arm", "group___u_c_t___r_e_s_o_u_r_c_e.html#gaf15e9f37d3ce5273153861522a443acf", null ], + [ "uct_iface_mem_alloc", "group___u_c_t___r_e_s_o_u_r_c_e.html#gaa29727b03b244839f0c068d0785f0050", null ], + [ "uct_iface_mem_free", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga198359eccf0ae85f1c13d4d8509f5532", null ], + [ "uct_ep_create", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga0b2d38bde2651977c2b476e6e8866acc", null ], + [ "uct_ep_destroy", "group___u_c_t___r_e_s_o_u_r_c_e.html#gac7d6537c7cdacdf24afeafe9c0085163", null ], + [ "uct_ep_get_address", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga23773d9d87524cfa6dc6c2d1e094d487", null ], + [ "uct_ep_connect_to_ep", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga371685403748eb72784fdcb17f9e4bdf", null ], + [ "uct_iface_flush", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga6cda14e7c03e4f400be46fe97aa23bed", null ], + [ "uct_iface_fence", "group___u_c_t___r_e_s_o_u_r_c_e.html#gaa8d42856661922581a683030dd9c8990", null ], + [ "uct_ep_pending_add", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga40f4b92dd4af8da92e138816d57dfece", null ], + [ "uct_ep_pending_purge", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga11196076031e7c8601241a3adbe1e561", null ], + [ "uct_ep_flush", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga2a7a12705b1f4af41792282b59fbc8c2", null ], + [ "uct_ep_fence", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga34719e12b68f8ac890f261018aa6ddb3", null ], + [ "uct_iface_progress_enable", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga9f14d2694a06d5ea9e6434a52f8d3ff0", null ], + [ "uct_iface_progress_disable", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga7acfd29e7d7bb8566cfbbf02916bc466", null ], + [ "uct_iface_progress", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga56dd7c8b9f4b02ae5da179a3055bcb81", null ], + [ "uct_completion_update_status", "group___u_c_t___r_e_s_o_u_r_c_e.html#ga6d517ca850e8bb367939139b6b24cc87", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html new file mode 100644 index 00000000000..bf28059d646 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html @@ -0,0 +1,651 @@ + + + + + + + +UCX: UCT interface operations and capabilities + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
UCT interface operations and capabilities
+
+
+ +

List of capabilities supported by UCX API. +More...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define UCT_IFACE_FLAG_AM_SHORT   UCS_BIT(0)
 
#define UCT_IFACE_FLAG_AM_BCOPY   UCS_BIT(1)
 
#define UCT_IFACE_FLAG_AM_ZCOPY   UCS_BIT(2)
 
#define UCT_IFACE_FLAG_PENDING   UCS_BIT(3)
 
#define UCT_IFACE_FLAG_PUT_SHORT   UCS_BIT(4)
 
#define UCT_IFACE_FLAG_PUT_BCOPY   UCS_BIT(5)
 
#define UCT_IFACE_FLAG_PUT_ZCOPY   UCS_BIT(6)
 
#define UCT_IFACE_FLAG_GET_SHORT   UCS_BIT(8)
 
#define UCT_IFACE_FLAG_GET_BCOPY   UCS_BIT(9)
 
#define UCT_IFACE_FLAG_GET_ZCOPY   UCS_BIT(10)
 
#define UCT_IFACE_FLAG_ATOMIC_CPU   UCS_BIT(30)
 
#define UCT_IFACE_FLAG_ATOMIC_DEVICE   UCS_BIT(31)
 
#define UCT_IFACE_FLAG_ERRHANDLE_SHORT_BUF   UCS_BIT(32)
 
#define UCT_IFACE_FLAG_ERRHANDLE_BCOPY_BUF   UCS_BIT(33)
 
#define UCT_IFACE_FLAG_ERRHANDLE_ZCOPY_BUF   UCS_BIT(34)
 
#define UCT_IFACE_FLAG_ERRHANDLE_AM_ID   UCS_BIT(35)
 
#define UCT_IFACE_FLAG_ERRHANDLE_REMOTE_MEM   UCS_BIT(36)
 
#define UCT_IFACE_FLAG_ERRHANDLE_BCOPY_LEN   UCS_BIT(37)
 
#define UCT_IFACE_FLAG_ERRHANDLE_PEER_FAILURE   UCS_BIT(38)
 
#define UCT_IFACE_FLAG_EP_CHECK   UCS_BIT(39)
 
#define UCT_IFACE_FLAG_CONNECT_TO_IFACE   UCS_BIT(40)
 
#define UCT_IFACE_FLAG_CONNECT_TO_EP   UCS_BIT(41)
 
#define UCT_IFACE_FLAG_CONNECT_TO_SOCKADDR   UCS_BIT(42)
 
#define UCT_IFACE_FLAG_AM_DUP   UCS_BIT(43)
 
#define UCT_IFACE_FLAG_CB_SYNC   UCS_BIT(44)
 
#define UCT_IFACE_FLAG_CB_ASYNC   UCS_BIT(45)
 
#define UCT_IFACE_FLAG_EP_KEEPALIVE   UCS_BIT(46)
 
#define UCT_IFACE_FLAG_TAG_EAGER_SHORT   UCS_BIT(50)
 
#define UCT_IFACE_FLAG_TAG_EAGER_BCOPY   UCS_BIT(51)
 
#define UCT_IFACE_FLAG_TAG_EAGER_ZCOPY   UCS_BIT(52)
 
#define UCT_IFACE_FLAG_TAG_RNDV_ZCOPY   UCS_BIT(53)
 
+

Detailed Description

+

The definition list presents a full list of operations and capabilities exposed by UCX API.

+

Macro Definition Documentation

+ +

◆ UCT_IFACE_FLAG_AM_SHORT

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_AM_SHORT   UCS_BIT(0)
+
+

Short active message

+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ UCT_IFACE_FLAG_AM_BCOPY

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_AM_BCOPY   UCS_BIT(1)
+
+

Buffered active message

+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ UCT_IFACE_FLAG_AM_ZCOPY

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_AM_ZCOPY   UCS_BIT(2)
+
+

Zero-copy active message

+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ UCT_IFACE_FLAG_PENDING

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_PENDING   UCS_BIT(3)
+
+

Pending operations

+ +
+
+ +

◆ UCT_IFACE_FLAG_PUT_SHORT

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_PUT_SHORT   UCS_BIT(4)
+
+

Short put

+ +
+
+ +

◆ UCT_IFACE_FLAG_PUT_BCOPY

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_PUT_BCOPY   UCS_BIT(5)
+
+

Buffered put

+ +
+
+ +

◆ UCT_IFACE_FLAG_PUT_ZCOPY

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_PUT_ZCOPY   UCS_BIT(6)
+
+

Zero-copy put

+ +
+
+ +

◆ UCT_IFACE_FLAG_GET_SHORT

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_GET_SHORT   UCS_BIT(8)
+
+

Short get

+ +
+
+ +

◆ UCT_IFACE_FLAG_GET_BCOPY

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_GET_BCOPY   UCS_BIT(9)
+
+

Buffered get

+ +
+
+ +

◆ UCT_IFACE_FLAG_GET_ZCOPY

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_GET_ZCOPY   UCS_BIT(10)
+
+

Zero-copy get

+ +
+
+ +

◆ UCT_IFACE_FLAG_ATOMIC_CPU

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_ATOMIC_CPU   UCS_BIT(30)
+
+

Atomic communications are consistent with respect to CPU operations.

+ +
+
+ +

◆ UCT_IFACE_FLAG_ATOMIC_DEVICE

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_ATOMIC_DEVICE   UCS_BIT(31)
+
+

Atomic communications are consistent only with respect to other atomics on the same device.

+ +
+
+ +

◆ UCT_IFACE_FLAG_ERRHANDLE_SHORT_BUF

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_ERRHANDLE_SHORT_BUF   UCS_BIT(32)
+
+

Invalid buffer for short operation

+ +
+
+ +

◆ UCT_IFACE_FLAG_ERRHANDLE_BCOPY_BUF

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_ERRHANDLE_BCOPY_BUF   UCS_BIT(33)
+
+

Invalid buffer for buffered operation

+ +
+
+ +

◆ UCT_IFACE_FLAG_ERRHANDLE_ZCOPY_BUF

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_ERRHANDLE_ZCOPY_BUF   UCS_BIT(34)
+
+

Invalid buffer for zero copy operation

+ +
+
+ +

◆ UCT_IFACE_FLAG_ERRHANDLE_AM_ID

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_ERRHANDLE_AM_ID   UCS_BIT(35)
+
+

Invalid AM id on remote

+ +
+
+ +

◆ UCT_IFACE_FLAG_ERRHANDLE_REMOTE_MEM

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_ERRHANDLE_REMOTE_MEM   UCS_BIT(36)
+
+

Remote memory access

+ +
+
+ +

◆ UCT_IFACE_FLAG_ERRHANDLE_BCOPY_LEN

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_ERRHANDLE_BCOPY_LEN   UCS_BIT(37)
+
+

Invalid length for buffered operation

+ +
+
+ +

◆ UCT_IFACE_FLAG_ERRHANDLE_PEER_FAILURE

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_ERRHANDLE_PEER_FAILURE   UCS_BIT(38)
+
+

Remote peer failures/outage

+ +
+
+ +

◆ UCT_IFACE_FLAG_EP_CHECK

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_EP_CHECK   UCS_BIT(39)
+
+

Endpoint check

+ +
+
+ +

◆ UCT_IFACE_FLAG_CONNECT_TO_IFACE

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_CONNECT_TO_IFACE   UCS_BIT(40)
+
+

Supports connecting to interface

+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ UCT_IFACE_FLAG_CONNECT_TO_EP

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_CONNECT_TO_EP   UCS_BIT(41)
+
+

Supports connecting to specific endpoint

+
Examples
uct_hello_world.c.
+
+ +
+
+ +

◆ UCT_IFACE_FLAG_CONNECT_TO_SOCKADDR

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_CONNECT_TO_SOCKADDR   UCS_BIT(42)
+
+

Supports connecting to sockaddr

+ +
+
+ +

◆ UCT_IFACE_FLAG_AM_DUP

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_AM_DUP   UCS_BIT(43)
+
+

Active messages may be received with duplicates This happens if the transport does not keep enough information to detect retransmissions

+ +
+
+ +

◆ UCT_IFACE_FLAG_CB_SYNC

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_CB_SYNC   UCS_BIT(44)
+
+

Interface supports setting a callback which is invoked only from the calling context of uct_worker_progress()

+ +
+
+ +

◆ UCT_IFACE_FLAG_CB_ASYNC

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_CB_ASYNC   UCS_BIT(45)
+
+

Interface supports setting a callback which will be invoked within a reasonable amount of time if uct_worker_progress() is not being called. The callback can be invoked from any progress context and it may also be invoked when uct_worker_progress() is called.

+ +
+
+ +

◆ UCT_IFACE_FLAG_EP_KEEPALIVE

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_EP_KEEPALIVE   UCS_BIT(46)
+
+

Transport endpoint has built-in keepalive feature, which guarantees the error callback on the transport interface will be called if the communication channel with remote peer is broken, even if there are no outstanding send operations

+ +
+
+ +

◆ UCT_IFACE_FLAG_TAG_EAGER_SHORT

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_TAG_EAGER_SHORT   UCS_BIT(50)
+
+

Hardware tag matching short eager support

+ +
+
+ +

◆ UCT_IFACE_FLAG_TAG_EAGER_BCOPY

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_TAG_EAGER_BCOPY   UCS_BIT(51)
+
+

Hardware tag matching bcopy eager support

+ +
+
+ +

◆ UCT_IFACE_FLAG_TAG_EAGER_ZCOPY

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_TAG_EAGER_ZCOPY   UCS_BIT(52)
+
+

Hardware tag matching zcopy eager support

+ +
+
+ +

◆ UCT_IFACE_FLAG_TAG_RNDV_ZCOPY

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_TAG_RNDV_ZCOPY   UCS_BIT(53)
+
+

Hardware tag matching rendezvous zcopy support

+ +
+
+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.js new file mode 100644 index 00000000000..06fdd863e44 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.js @@ -0,0 +1,34 @@ +var group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p = +[ + [ "UCT_IFACE_FLAG_AM_SHORT", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gaa58cb476c781afcc74ce00849cc1884c", null ], + [ "UCT_IFACE_FLAG_AM_BCOPY", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga157f699933110d47857b84d06de36c21", null ], + [ "UCT_IFACE_FLAG_AM_ZCOPY", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga480d42a7324a6944049f5f2ded5da783", null ], + [ "UCT_IFACE_FLAG_PENDING", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gaeaaca09dbcf32488f508327b00d6f386", null ], + [ "UCT_IFACE_FLAG_PUT_SHORT", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga505de892b063f532d31e4903ad9c1126", null ], + [ "UCT_IFACE_FLAG_PUT_BCOPY", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga8370f7eb1b51d788b28a7b9391818b5a", null ], + [ "UCT_IFACE_FLAG_PUT_ZCOPY", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gabb6ace47f4fac09f529b21e1e0b3aef8", null ], + [ "UCT_IFACE_FLAG_GET_SHORT", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga71df9bc5c060b753e50ddeabf05464f8", null ], + [ "UCT_IFACE_FLAG_GET_BCOPY", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga2bd7e6c6fb89b6f6922e4cd5b22976d1", null ], + [ "UCT_IFACE_FLAG_GET_ZCOPY", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga2b06fb927355693fd2887a237521238a", null ], + [ "UCT_IFACE_FLAG_ATOMIC_CPU", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gad3c9946b758176b203769c4257751e05", null ], + [ "UCT_IFACE_FLAG_ATOMIC_DEVICE", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga264f4b6d97d47bba154940db2d39108f", null ], + [ "UCT_IFACE_FLAG_ERRHANDLE_SHORT_BUF", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga8c2b68ef2471f41887923d60d7e7bc30", null ], + [ "UCT_IFACE_FLAG_ERRHANDLE_BCOPY_BUF", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gac0767646add241453d8835c81a370ad4", null ], + [ "UCT_IFACE_FLAG_ERRHANDLE_ZCOPY_BUF", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga58d7b4bd4ce94d95f91f95cbfacc3687", null ], + [ "UCT_IFACE_FLAG_ERRHANDLE_AM_ID", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga645a61b3a77a69abd3263b4c8cff162c", null ], + [ "UCT_IFACE_FLAG_ERRHANDLE_REMOTE_MEM", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga72ea5a02a74d3badb058dcb27c28d33f", null ], + [ "UCT_IFACE_FLAG_ERRHANDLE_BCOPY_LEN", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga4fc39074e1a50d6fd8e5b009634090a8", null ], + [ "UCT_IFACE_FLAG_ERRHANDLE_PEER_FAILURE", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga2dd3b3fa9d757d3835a5cfe33778e51c", null ], + [ "UCT_IFACE_FLAG_EP_CHECK", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga0faa7a7889f57ccdc40fcb4c949d177c", null ], + [ "UCT_IFACE_FLAG_CONNECT_TO_IFACE", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gac56a560766f8c50bef684e0e6b4efd18", null ], + [ "UCT_IFACE_FLAG_CONNECT_TO_EP", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga598f1ae11f9ed8cfed2f6c04bbb0bfe8", null ], + [ "UCT_IFACE_FLAG_CONNECT_TO_SOCKADDR", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gadd27aab0e67faf844b0ec9011b5ff7dc", null ], + [ "UCT_IFACE_FLAG_AM_DUP", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga57467dcc8d7be9b69caa2c886e2bf05a", null ], + [ "UCT_IFACE_FLAG_CB_SYNC", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga2e3c98ee6cfe8abe7769a3442fbaffaf", null ], + [ "UCT_IFACE_FLAG_CB_ASYNC", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga0d11615d226392d79f547669968b4b90", null ], + [ "UCT_IFACE_FLAG_EP_KEEPALIVE", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gafd21d995c6a98421676ff9881c3fd30d", null ], + [ "UCT_IFACE_FLAG_TAG_EAGER_SHORT", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga3d034538bcf657f976ae500d8143ed64", null ], + [ "UCT_IFACE_FLAG_TAG_EAGER_BCOPY", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gaa31a85814a4c1f1d2b650ed962697c24", null ], + [ "UCT_IFACE_FLAG_TAG_EAGER_ZCOPY", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga8bdcd3907a6cf4f5cb951994ae9da7bb", null ], + [ "UCT_IFACE_FLAG_TAG_RNDV_ZCOPY", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gac7f2200f52db88d3634089d8cdf2100c", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html new file mode 100644 index 00000000000..2be4e320251 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html @@ -0,0 +1,199 @@ + + + + + + + +UCX: UCT interface for asynchronous event capabilities + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
UCT interface for asynchronous event capabilities
+
+
+ +

List of capabilities supported by UCT iface event API. +More...

+ + + + + + + + + + + + +

+Macros

#define UCT_IFACE_FLAG_EVENT_SEND_COMP   UCS_BIT(0)
 
#define UCT_IFACE_FLAG_EVENT_RECV   UCS_BIT(1)
 
#define UCT_IFACE_FLAG_EVENT_RECV_SIG   UCS_BIT(2)
 
#define UCT_IFACE_FLAG_EVENT_FD   UCS_BIT(3)
 
#define UCT_IFACE_FLAG_EVENT_ASYNC_CB   UCS_BIT(4)
 
+

Detailed Description

+

The definition list presents a full list of operations and capabilities supported by UCT iface event.

+

Macro Definition Documentation

+ +

◆ UCT_IFACE_FLAG_EVENT_SEND_COMP

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_EVENT_SEND_COMP   UCS_BIT(0)
+
+

Event notification of send completion is supported

+ +
+
+ +

◆ UCT_IFACE_FLAG_EVENT_RECV

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_EVENT_RECV   UCS_BIT(1)
+
+

Event notification of tag and active message receive is supported

+ +
+
+ +

◆ UCT_IFACE_FLAG_EVENT_RECV_SIG

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_EVENT_RECV_SIG   UCS_BIT(2)
+
+

Event notification of signaled tag and active message is supported

+ +
+
+ +

◆ UCT_IFACE_FLAG_EVENT_FD

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_EVENT_FD   UCS_BIT(3)
+
+

Event notification through File Descriptor is supported

+ +
+
+ +

◆ UCT_IFACE_FLAG_EVENT_ASYNC_CB

+ +
+
+ + + + +
#define UCT_IFACE_FLAG_EVENT_ASYNC_CB   UCS_BIT(4)
+
+

Event notification through asynchronous callback invocation is supported

+ +
+
+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.js new file mode 100644 index 00000000000..fc3a15fa5d0 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.js @@ -0,0 +1,8 @@ +var group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p = +[ + [ "UCT_IFACE_FLAG_EVENT_SEND_COMP", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html#ga4070a894b32d49061c07d5e636d2c7ae", null ], + [ "UCT_IFACE_FLAG_EVENT_RECV", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html#ga8f30d238efddb2735f400a93d84741ec", null ], + [ "UCT_IFACE_FLAG_EVENT_RECV_SIG", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html#ga92e91487e2c27a69934f84e3331012da", null ], + [ "UCT_IFACE_FLAG_EVENT_FD", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html#gab3643d171600157693ecbc8b8a57ddb8", null ], + [ "UCT_IFACE_FLAG_EVENT_ASYNC_CB", "group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html#gae0199c5efa567b5906fb4119c84eeb90", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__completion.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__completion.js new file mode 100644 index 00000000000..53e5b26f0b0 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__completion.js @@ -0,0 +1,6 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__completion = +[ + [ "func", "group___u_c_t___r_e_s_o_u_r_c_e.html#a34d9a5e03c0d9199a2d540f1a2cee5a2", null ], + [ "count", "group___u_c_t___r_e_s_o_u_r_c_e.html#ac80f9b64f46a8a3a9de6cb0b121667ab", null ], + [ "status", "group___u_c_t___r_e_s_o_u_r_c_e.html#aa3b099f011e78bd23c8768264576314d", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__component__attr.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__component__attr.js new file mode 100644 index 00000000000..d82ba77c983 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__component__attr.js @@ -0,0 +1,8 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__component__attr = +[ + [ "field_mask", "group___u_c_t___r_e_s_o_u_r_c_e.html#ad95df67b474d3f51629e0a6d0ee2537e", null ], + [ "name", "group___u_c_t___r_e_s_o_u_r_c_e.html#a4d186d55814dbe82c4403564d38d084e", null ], + [ "md_resource_count", "group___u_c_t___r_e_s_o_u_r_c_e.html#a4add45e93acd44e434624726caaf9efb", null ], + [ "md_resources", "group___u_c_t___r_e_s_o_u_r_c_e.html#a75c51f7e16d827cc4c848016f5365404", null ], + [ "flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#ad2800e9666be0be84926f768eac792a2", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__ep__params.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__ep__params.js new file mode 100644 index 00000000000..13669b9046c --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__ep__params.js @@ -0,0 +1,21 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__ep__params = +[ + [ "field_mask", "group___u_c_t___r_e_s_o_u_r_c_e.html#a9c1ea4678d33fd3f741856135ad61d23", null ], + [ "iface", "group___u_c_t___r_e_s_o_u_r_c_e.html#a21e3628c5ffcafcdeb732f4f9687aa30", null ], + [ "user_data", "group___u_c_t___r_e_s_o_u_r_c_e.html#a107bb6eec86e0f877d2f256378ea0df8", null ], + [ "dev_addr", "group___u_c_t___r_e_s_o_u_r_c_e.html#a273d48d73a6813f2fe097026d739e9d9", null ], + [ "iface_addr", "group___u_c_t___r_e_s_o_u_r_c_e.html#ae8c9ada98be19a83ab9cd2af30203d5f", null ], + [ "sockaddr", "group___u_c_t___r_e_s_o_u_r_c_e.html#a3eeadaece922904cae592889db563977", null ], + [ "sockaddr_cb_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a1471e0cef36287e0b37645beba2d792c", null ], + [ "sockaddr_pack_cb", "group___u_c_t___r_e_s_o_u_r_c_e.html#a7d44f52031c50abc0b6636421c82bbf1", null ], + [ "cm", "group___u_c_t___r_e_s_o_u_r_c_e.html#aa8133488ec45605b0c825e66d12ba1a8", null ], + [ "conn_request", "group___u_c_t___r_e_s_o_u_r_c_e.html#ad852c3138b06acb342e7f9c78ade8e41", null ], + [ "sockaddr_cb_client", "group___u_c_t___r_e_s_o_u_r_c_e.html#a375c999b7326f631877deae2bf24ccf6", null ], + [ "sockaddr_cb_server", "group___u_c_t___r_e_s_o_u_r_c_e.html#aa290e652d57da6ee3bc5d1efff43a2fe", null ], + [ "disconnect_cb", "group___u_c_t___r_e_s_o_u_r_c_e.html#ac270000f4e5a1bbcba955098ea7e8e6a", null ], + [ "path_index", "group___u_c_t___r_e_s_o_u_r_c_e.html#af271b2f02d31b2a1fcbf34076b83a796", null ], + [ "cm_resolve_cb", "group___u_c_t___r_e_s_o_u_r_c_e.html#a84e49366f4967ac76fad12d27295ec87", null ], + [ "private_data", "group___u_c_t___r_e_s_o_u_r_c_e.html#a4ad36475338e8aee2577fa4535c01dfc", null ], + [ "private_data_length", "group___u_c_t___r_e_s_o_u_r_c_e.html#a287105cfd0e1922f7975efa4bba08ead", null ], + [ "local_sockaddr", "group___u_c_t___r_e_s_o_u_r_c_e.html#acd106a47629c2dffb844fbdb15a050f6", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr.js new file mode 100644 index 00000000000..bfce3381e6c --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr.js @@ -0,0 +1,15 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr = +[ + [ "cap", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6c55cf8697354f4ace91142100ed074e", null ], + [ "device_addr_len", "group___u_c_t___r_e_s_o_u_r_c_e.html#a150fb2fb81e47e2a97571147cdc1647e", null ], + [ "iface_addr_len", "group___u_c_t___r_e_s_o_u_r_c_e.html#adaeded4e728f80628ff6d29eeae7a5b0", null ], + [ "ep_addr_len", "group___u_c_t___r_e_s_o_u_r_c_e.html#a70955f4d39111b0a48c85e0ff65768a0", null ], + [ "max_conn_priv", "group___u_c_t___r_e_s_o_u_r_c_e.html#a5612c3ad1e7a46dd6add669e32364424", null ], + [ "listen_sockaddr", "group___u_c_t___r_e_s_o_u_r_c_e.html#a3a5bb921af4157bc96d39aa580ff978f", null ], + [ "overhead", "group___u_c_t___r_e_s_o_u_r_c_e.html#ab802bc3cc95cc67e176efeb2fe1c14c4", null ], + [ "bandwidth", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6a9bab4b671c0d0da959c98a4b3ab7ac", null ], + [ "latency", "group___u_c_t___r_e_s_o_u_r_c_e.html#ace9cf2c31674223b000dff0e72c5d533", null ], + [ "priority", "group___u_c_t___r_e_s_o_u_r_c_e.html#a97534f4af50032a82c02b76bdb47a96d", null ], + [ "max_num_eps", "group___u_c_t___r_e_s_o_u_r_c_e.html#af6baead12f87707af1b3e56024b2b2e5", null ], + [ "dev_num_paths", "group___u_c_t___r_e_s_o_u_r_c_e.html#ac9c279de0e13a96a683baf04d3c40c46", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap.js new file mode 100644 index 00000000000..d9cee78e196 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap.js @@ -0,0 +1,11 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap = +[ + [ "put", "group___u_c_t___r_e_s_o_u_r_c_e.html#a8e13ffc9fd9d6a6761231a764bdf106b", null ], + [ "get", "group___u_c_t___r_e_s_o_u_r_c_e.html#ab5eda0a74558a342cf659187f06f746f", null ], + [ "am", "group___u_c_t___r_e_s_o_u_r_c_e.html#ac04cd38aeb30f3ad1f8ab4e64a0ded7b", null ], + [ "tag", "group___u_c_t___r_e_s_o_u_r_c_e.html#ae4d23e841d8e8804190027bce3180fa5", null ], + [ "atomic32", "group___u_c_t___r_e_s_o_u_r_c_e.html#ab6ef684feef10177fc3c31b012c575a2", null ], + [ "atomic64", "group___u_c_t___r_e_s_o_u_r_c_e.html#a1dd9655cfd97613a0a996060a998b0d4", null ], + [ "flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a4e5868d676cb634aa75b125a0f741abf", null ], + [ "event_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#af1b7cb88db5bf93bba7cbcaa503cbd6c", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8am.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8am.js new file mode 100644 index 00000000000..be1aee5e833 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8am.js @@ -0,0 +1,11 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8am = +[ + [ "max_short", "group___u_c_t___r_e_s_o_u_r_c_e.html#a003a57a3795b6dc103dd4b2425a3b117", null ], + [ "max_bcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6208b0725f6589002067bcdcef09118f", null ], + [ "min_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a57d02deb57ae536cf84940eff69270c0", null ], + [ "max_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6bab79a6aa78d3f8113e01f4687e58b3", null ], + [ "opt_zcopy_align", "group___u_c_t___r_e_s_o_u_r_c_e.html#a130833876f7297c8711797fa51471539", null ], + [ "align_mtu", "group___u_c_t___r_e_s_o_u_r_c_e.html#a46a9c80802ec1ec433bbc251f69a8fdf", null ], + [ "max_hdr", "group___u_c_t___r_e_s_o_u_r_c_e.html#aa84fcfd6201c2b55787abdea4b1e6f34", null ], + [ "max_iov", "group___u_c_t___r_e_s_o_u_r_c_e.html#a0a46d1ac3838667aa1ab96b278ed8b51", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8atomic32.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8atomic32.js new file mode 100644 index 00000000000..03454b05e09 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8atomic32.js @@ -0,0 +1,5 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8atomic32 = +[ + [ "op_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a9ac9ba98d74fd850d331d3298212833e", null ], + [ "fop_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a564c7d941f5f339c0ed63712bdf96b29", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8atomic64.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8atomic64.js new file mode 100644 index 00000000000..6f6877cdd2a --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8atomic64.js @@ -0,0 +1,5 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8atomic64 = +[ + [ "op_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a9ac9ba98d74fd850d331d3298212833e", null ], + [ "fop_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a564c7d941f5f339c0ed63712bdf96b29", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8get.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8get.js new file mode 100644 index 00000000000..1133e1f6675 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8get.js @@ -0,0 +1,10 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8get = +[ + [ "max_short", "group___u_c_t___r_e_s_o_u_r_c_e.html#a003a57a3795b6dc103dd4b2425a3b117", null ], + [ "max_bcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6208b0725f6589002067bcdcef09118f", null ], + [ "min_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a57d02deb57ae536cf84940eff69270c0", null ], + [ "max_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6bab79a6aa78d3f8113e01f4687e58b3", null ], + [ "opt_zcopy_align", "group___u_c_t___r_e_s_o_u_r_c_e.html#a130833876f7297c8711797fa51471539", null ], + [ "align_mtu", "group___u_c_t___r_e_s_o_u_r_c_e.html#a46a9c80802ec1ec433bbc251f69a8fdf", null ], + [ "max_iov", "group___u_c_t___r_e_s_o_u_r_c_e.html#a0a46d1ac3838667aa1ab96b278ed8b51", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8put.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8put.js new file mode 100644 index 00000000000..ef7778993d6 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8put.js @@ -0,0 +1,10 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8put = +[ + [ "max_short", "group___u_c_t___r_e_s_o_u_r_c_e.html#a003a57a3795b6dc103dd4b2425a3b117", null ], + [ "max_bcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6208b0725f6589002067bcdcef09118f", null ], + [ "min_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a57d02deb57ae536cf84940eff69270c0", null ], + [ "max_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6bab79a6aa78d3f8113e01f4687e58b3", null ], + [ "opt_zcopy_align", "group___u_c_t___r_e_s_o_u_r_c_e.html#a130833876f7297c8711797fa51471539", null ], + [ "align_mtu", "group___u_c_t___r_e_s_o_u_r_c_e.html#a46a9c80802ec1ec433bbc251f69a8fdf", null ], + [ "max_iov", "group___u_c_t___r_e_s_o_u_r_c_e.html#a0a46d1ac3838667aa1ab96b278ed8b51", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag.js new file mode 100644 index 00000000000..50c75a11374 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag.js @@ -0,0 +1,6 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag = +[ + [ "recv", "group___u_c_t___r_e_s_o_u_r_c_e.html#af701fee85540b78d08cb276d14953d58", null ], + [ "eager", "group___u_c_t___r_e_s_o_u_r_c_e.html#a5b154520a22cb4ca5f8505fb0525abe6", null ], + [ "rndv", "group___u_c_t___r_e_s_o_u_r_c_e.html#acdccd5548d60bc2d32ec34d59ecce438", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag_8eager.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag_8eager.js new file mode 100644 index 00000000000..9a105711e80 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag_8eager.js @@ -0,0 +1,7 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag_8eager = +[ + [ "max_short", "group___u_c_t___r_e_s_o_u_r_c_e.html#a003a57a3795b6dc103dd4b2425a3b117", null ], + [ "max_bcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6208b0725f6589002067bcdcef09118f", null ], + [ "max_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6bab79a6aa78d3f8113e01f4687e58b3", null ], + [ "max_iov", "group___u_c_t___r_e_s_o_u_r_c_e.html#a0a46d1ac3838667aa1ab96b278ed8b51", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag_8recv.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag_8recv.js new file mode 100644 index 00000000000..7494f95cc2c --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag_8recv.js @@ -0,0 +1,7 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag_8recv = +[ + [ "min_recv", "group___u_c_t___r_e_s_o_u_r_c_e.html#ac973fbf126e5918d28ed7f81ad886553", null ], + [ "max_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6bab79a6aa78d3f8113e01f4687e58b3", null ], + [ "max_iov", "group___u_c_t___r_e_s_o_u_r_c_e.html#a0a46d1ac3838667aa1ab96b278ed8b51", null ], + [ "max_outstanding", "group___u_c_t___r_e_s_o_u_r_c_e.html#ab96937da3ef792334de90211006268f7", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag_8rndv.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag_8rndv.js new file mode 100644 index 00000000000..db8949041fa --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag_8rndv.js @@ -0,0 +1,6 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__attr_8cap_8tag_8rndv = +[ + [ "max_zcopy", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6bab79a6aa78d3f8113e01f4687e58b3", null ], + [ "max_hdr", "group___u_c_t___r_e_s_o_u_r_c_e.html#aa84fcfd6201c2b55787abdea4b1e6f34", null ], + [ "max_iov", "group___u_c_t___r_e_s_o_u_r_c_e.html#a0a46d1ac3838667aa1ab96b278ed8b51", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__params.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__params.js new file mode 100644 index 00000000000..358ed7326c3 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__params.js @@ -0,0 +1,22 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__params = +[ + [ "field_mask", "group___u_c_t___r_e_s_o_u_r_c_e.html#a9e1d45a55b7e9629eb548f27bea940a0", null ], + [ "cpu_mask", "group___u_c_t___r_e_s_o_u_r_c_e.html#a7093f64ec5efe2f1c3833dbe90b9099a", null ], + [ "open_mode", "group___u_c_t___r_e_s_o_u_r_c_e.html#a7db3b0fb2bbde6b4625ad5a6c5e1a043", null ], + [ "mode", "group___u_c_t___r_e_s_o_u_r_c_e.html#aabd3472dc469285e466132ea7e4a2ec2", null ], + [ "stats_root", "group___u_c_t___r_e_s_o_u_r_c_e.html#a6d87dd22dc349557a706bb25d49975f0", null ], + [ "rx_headroom", "group___u_c_t___r_e_s_o_u_r_c_e.html#aea4ca94171e8dfe3e80abb74a06fe333", null ], + [ "err_handler_arg", "group___u_c_t___r_e_s_o_u_r_c_e.html#abd1425d7ce0507acc97361abc56ea66d", null ], + [ "err_handler", "group___u_c_t___r_e_s_o_u_r_c_e.html#afc90f76dc754aa478af524ac7c9d3f51", null ], + [ "err_handler_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a01b7ef6558dbe6f91ac5c59b63d5e0dd", null ], + [ "eager_arg", "group___u_c_t___r_e_s_o_u_r_c_e.html#a7c6b1ea224405a00438306212d30a172", null ], + [ "eager_cb", "group___u_c_t___r_e_s_o_u_r_c_e.html#a3e70569e1bf8a8d62fbc686dd147fd56", null ], + [ "rndv_arg", "group___u_c_t___r_e_s_o_u_r_c_e.html#afbeb49c7a773e6d61eaba872535809e8", null ], + [ "rndv_cb", "group___u_c_t___r_e_s_o_u_r_c_e.html#aee589d588ff4207d4fcf0d147479facd", null ], + [ "async_event_arg", "group___u_c_t___r_e_s_o_u_r_c_e.html#a678662e17ae32ca245a45d449ea497f0", null ], + [ "async_event_cb", "group___u_c_t___r_e_s_o_u_r_c_e.html#ab15b293126224a46cd25af411f75d39b", null ], + [ "keepalive_interval", "group___u_c_t___r_e_s_o_u_r_c_e.html#afbbbea17089ee8ff5ef0ef6ef3199cfe", null ], + [ "am_alignment", "group___u_c_t___r_e_s_o_u_r_c_e.html#a578571513991a26e7d0331b439968948", null ], + [ "am_align_offset", "group___u_c_t___r_e_s_o_u_r_c_e.html#a119e07151f7cfc215fdf86724cccf1f9", null ], + [ "features", "group___u_c_t___r_e_s_o_u_r_c_e.html#a967dbb2a49191e0b028f7058938293c6", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__params_8mode_8device.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__params_8mode_8device.js new file mode 100644 index 00000000000..2015e27c5fa --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__params_8mode_8device.js @@ -0,0 +1,5 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__params_8mode_8device = +[ + [ "tl_name", "group___u_c_t___r_e_s_o_u_r_c_e.html#a014d3b92d61614fb65175a049548627c", null ], + [ "dev_name", "group___u_c_t___r_e_s_o_u_r_c_e.html#a2fc9141c264d49c58c0377dd85b43744", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__params_8mode_8sockaddr.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__params_8mode_8sockaddr.js new file mode 100644 index 00000000000..6f592ebfc05 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__params_8mode_8sockaddr.js @@ -0,0 +1,7 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__iface__params_8mode_8sockaddr = +[ + [ "listen_sockaddr", "group___u_c_t___r_e_s_o_u_r_c_e.html#a5bc951a80626f79c6da054b5a09990cd", null ], + [ "conn_request_arg", "group___u_c_t___r_e_s_o_u_r_c_e.html#ad80d0ef2043347df663b059b9f103bcd", null ], + [ "conn_request_cb", "group___u_c_t___r_e_s_o_u_r_c_e.html#a191b74a436fbf612740a10737cc930c2", null ], + [ "cb_flags", "group___u_c_t___r_e_s_o_u_r_c_e.html#a8a9d798e64e80303680078082cf16dbb", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iov.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iov.js new file mode 100644 index 00000000000..878b3dc981f --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__iov.js @@ -0,0 +1,8 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__iov = +[ + [ "buffer", "group___u_c_t___r_e_s_o_u_r_c_e.html#a315a759f0ec81b26fcba7530e43d9149", null ], + [ "length", "group___u_c_t___r_e_s_o_u_r_c_e.html#ad00b6e55c209c6abc87b091f4c776cd5", null ], + [ "memh", "group___u_c_t___r_e_s_o_u_r_c_e.html#a9a24e4be8303ebd6906bcaff37ab31f7", null ], + [ "stride", "group___u_c_t___r_e_s_o_u_r_c_e.html#a21ea5b278cab407db05eaa3dce3b2824", null ], + [ "count", "group___u_c_t___r_e_s_o_u_r_c_e.html#addb247a8d80907156df00159bbafcda5", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__md__resource__desc.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__md__resource__desc.js new file mode 100644 index 00000000000..3f4c62f67ea --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__md__resource__desc.js @@ -0,0 +1,4 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__md__resource__desc = +[ + [ "md_name", "group___u_c_t___r_e_s_o_u_r_c_e.html#a44245b18bf7151a4bde8cb4c0112f8cb", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__pending__req.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__pending__req.js new file mode 100644 index 00000000000..f52aad8dc36 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__pending__req.js @@ -0,0 +1,5 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__pending__req = +[ + [ "func", "group___u_c_t___r_e_s_o_u_r_c_e.html#a638accaa60c4c3f373c6d12c2ea74c6c", null ], + [ "priv", "group___u_c_t___r_e_s_o_u_r_c_e.html#a3541a702c8158a6d557ce30cec1863b1", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__tl__resource__desc.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__tl__resource__desc.js new file mode 100644 index 00000000000..be33c9eead1 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_structuct__tl__resource__desc.js @@ -0,0 +1,7 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_structuct__tl__resource__desc = +[ + [ "tl_name", "group___u_c_t___r_e_s_o_u_r_c_e.html#a97eefc21494ace8e0ca2598eb8085001", null ], + [ "dev_name", "group___u_c_t___r_e_s_o_u_r_c_e.html#a19260a4faff281f45363008cbcaa0f41", null ], + [ "dev_type", "group___u_c_t___r_e_s_o_u_r_c_e.html#a83b6513b96f2a97a82dcd3ab751c996a", null ], + [ "sys_device", "group___u_c_t___r_e_s_o_u_r_c_e.html#a1e3ce2607f86f8faf1eacf0b91636e27", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_unionuct__iface__params_8mode.js b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_unionuct__iface__params_8mode.js new file mode 100644 index 00000000000..ce35dee3846 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_e_s_o_u_r_c_e_unionuct__iface__params_8mode.js @@ -0,0 +1,5 @@ +var group___u_c_t___r_e_s_o_u_r_c_e_unionuct__iface__params_8mode = +[ + [ "device", "group___u_c_t___r_e_s_o_u_r_c_e.html#a913f9c49dcb544e2087cee284f4a00b7", null ], + [ "sockaddr", "group___u_c_t___r_e_s_o_u_r_c_e.html#a48bf0900b6d58aadfcae19eef1faccf2", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___r_m_a.html b/api/v1.13/html/group___u_c_t___r_m_a.html new file mode 100644 index 00000000000..63b796f1519 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_m_a.html @@ -0,0 +1,451 @@ + + + + + + + +UCX: UCT Remote memory access operations + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
UCT Remote memory access operations
+
+
+ + + + + + + + + + + + + + + + +

+Functions

ucs_status_t uct_ep_put_short (uct_ep_h ep, const void *buffer, unsigned length, uint64_t remote_addr, uct_rkey_t rkey)
 
ssize_t uct_ep_put_bcopy (uct_ep_h ep, uct_pack_callback_t pack_cb, void *arg, uint64_t remote_addr, uct_rkey_t rkey)
 
ucs_status_t uct_ep_put_zcopy (uct_ep_h ep, const uct_iov_t *iov, size_t iovcnt, uint64_t remote_addr, uct_rkey_t rkey, uct_completion_t *comp)
 Write data to remote memory while avoiding local memory copy. More...
 
ucs_status_t uct_ep_get_short (uct_ep_h ep, void *buffer, unsigned length, uint64_t remote_addr, uct_rkey_t rkey)
 
ucs_status_t uct_ep_get_bcopy (uct_ep_h ep, uct_unpack_callback_t unpack_cb, void *arg, size_t length, uint64_t remote_addr, uct_rkey_t rkey, uct_completion_t *comp)
 
ucs_status_t uct_ep_get_zcopy (uct_ep_h ep, const uct_iov_t *iov, size_t iovcnt, uint64_t remote_addr, uct_rkey_t rkey, uct_completion_t *comp)
 Read data from remote memory while avoiding local memory copy. More...
 
+

Detailed Description

+

Defines remote memory access operations.

+

Function Documentation

+ +

◆ uct_ep_put_short()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_put_short (uct_ep_h ep,
const void * buffer,
unsigned length,
uint64_t remote_addr,
uct_rkey_t rkey 
)
+
+ +
+
+ +

◆ uct_ep_put_bcopy()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ssize_t uct_ep_put_bcopy (uct_ep_h ep,
uct_pack_callback_t pack_cb,
void * arg,
uint64_t remote_addr,
uct_rkey_t rkey 
)
+
+ +
+
+ +

◆ uct_ep_put_zcopy()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_put_zcopy (uct_ep_h ep,
const uct_iov_tiov,
size_t iovcnt,
uint64_t remote_addr,
uct_rkey_t rkey,
uct_completion_tcomp 
)
+
+

The input data in iov array of uct_iov_t structures sent to remote address ("gather output"). Buffers in iov are processed in array order. This means that the function complete iov[0] before proceeding to iov[1], and so on.

+
Parameters
+ + + + + + + +
[in]epDestination endpoint handle.
[in]iovPoints to an array of uct_iov_t structures. The iov pointer must be a valid address of an array of uct_iov_t structures. A particular structure pointer must be a valid address. A NULL terminated array is not required.
[in]iovcntSize of the iov data uct_iov_t structures array. If iovcnt is zero, the data is considered empty. iovcnt is limited by uct_iface_attr::cap::put::max_iov.
[in]remote_addrRemote address to place the iov data.
[in]rkeyRemote key descriptor provided by uct_rkey_unpack
[in]compCompletion handle as defined by uct_completion_t.
+
+
+
Returns
UCS_INPROGRESS Some communication operations are still in progress. If non-NULL comp is provided, it will be updated upon completion of these operations.
+ +
+
+ +

◆ uct_ep_get_short()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_get_short (uct_ep_h ep,
void * buffer,
unsigned length,
uint64_t remote_addr,
uct_rkey_t rkey 
)
+
+ +
+
+ +

◆ uct_ep_get_bcopy()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_get_bcopy (uct_ep_h ep,
uct_unpack_callback_t unpack_cb,
void * arg,
size_t length,
uint64_t remote_addr,
uct_rkey_t rkey,
uct_completion_tcomp 
)
+
+ +
+
+ +

◆ uct_ep_get_zcopy()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_get_zcopy (uct_ep_h ep,
const uct_iov_tiov,
size_t iovcnt,
uint64_t remote_addr,
uct_rkey_t rkey,
uct_completion_tcomp 
)
+
+

The output data in iov array of uct_iov_t structures received from remote address ("scatter input"). Buffers in iov are processed in array order. This means that the function complete iov[0] before proceeding to iov[1], and so on.

+
Parameters
+ + + + + + + +
[in]epDestination endpoint handle.
[in]iovPoints to an array of uct_iov_t structures. The iov pointer must be a valid address of an array of uct_iov_t structures. A particular structure pointer must be a valid address. A NULL terminated array is not required.
[in]iovcntSize of the iov data uct_iov_t structures array. If iovcnt is zero, the data is considered empty. iovcnt is limited by uct_iface_attr::cap::get::max_iov.
[in]remote_addrRemote address of the data placed to the iov.
[in]rkeyRemote key descriptor provided by uct_rkey_unpack
[in]compCompletion handle as defined by uct_completion_t.
+
+
+
Returns
UCS_INPROGRESS Some communication operations are still in progress. If non-NULL comp is provided, it will be updated upon completion of these operations.
+ +
+
+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_t___r_m_a.js b/api/v1.13/html/group___u_c_t___r_m_a.js new file mode 100644 index 00000000000..525b0af6e92 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___r_m_a.js @@ -0,0 +1,9 @@ +var group___u_c_t___r_m_a = +[ + [ "uct_ep_put_short", "group___u_c_t___r_m_a.html#ga2dfc08ad6547e081cddd7457c19417b1", null ], + [ "uct_ep_put_bcopy", "group___u_c_t___r_m_a.html#gad0b6f7d4ad48f672e20ff70c8e0faadc", null ], + [ "uct_ep_put_zcopy", "group___u_c_t___r_m_a.html#gaed8c42bab761c97bc0a1516fbf552583", null ], + [ "uct_ep_get_short", "group___u_c_t___r_m_a.html#gaed5201516e35d10605e5db1fd0dea674", null ], + [ "uct_ep_get_bcopy", "group___u_c_t___r_m_a.html#ga82b06eb1ca3be490d39c70a664f12742", null ], + [ "uct_ep_get_zcopy", "group___u_c_t___r_m_a.html#ga535095dfcb356cfab17c319f7993d53a", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/group___u_c_t___t_a_g.html b/api/v1.13/html/group___u_c_t___t_a_g.html new file mode 100644 index 00000000000..764c71e81d0 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___t_a_g.html @@ -0,0 +1,721 @@ + + + + + + + +UCX: UCT Tag matching operations + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + +

+Data Structures

struct  uct_tag_context
 Posted tag context. More...
 
+ + + + + + + +

+Typedefs

typedef ucs_status_t(* uct_tag_unexp_eager_cb_t) (void *arg, void *data, size_t length, unsigned flags, uct_tag_t stag, uint64_t imm, void **context)
 Callback to process unexpected eager tagged message. More...
 
typedef ucs_status_t(* uct_tag_unexp_rndv_cb_t) (void *arg, unsigned flags, uint64_t stag, const void *header, unsigned header_length, uint64_t remote_addr, size_t length, const void *rkey_buf)
 Callback to process unexpected rendezvous tagged message. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ucs_status_t uct_ep_tag_eager_short (uct_ep_h ep, uct_tag_t tag, const void *data, size_t length)
 Short eager tagged-send operation. More...
 
ssize_t uct_ep_tag_eager_bcopy (uct_ep_h ep, uct_tag_t tag, uint64_t imm, uct_pack_callback_t pack_cb, void *arg, unsigned flags)
 Bcopy eager tagged-send operation. More...
 
ucs_status_t uct_ep_tag_eager_zcopy (uct_ep_h ep, uct_tag_t tag, uint64_t imm, const uct_iov_t *iov, size_t iovcnt, unsigned flags, uct_completion_t *comp)
 Zcopy eager tagged-send operation. More...
 
ucs_status_ptr_t uct_ep_tag_rndv_zcopy (uct_ep_h ep, uct_tag_t tag, const void *header, unsigned header_length, const uct_iov_t *iov, size_t iovcnt, unsigned flags, uct_completion_t *comp)
 Rendezvous tagged-send operation. More...
 
ucs_status_t uct_ep_tag_rndv_cancel (uct_ep_h ep, void *op)
 Cancel outstanding rendezvous operation. More...
 
ucs_status_t uct_ep_tag_rndv_request (uct_ep_h ep, uct_tag_t tag, const void *header, unsigned header_length, unsigned flags)
 Send software rendezvous request. More...
 
ucs_status_t uct_iface_tag_recv_zcopy (uct_iface_h iface, uct_tag_t tag, uct_tag_t tag_mask, const uct_iov_t *iov, size_t iovcnt, uct_tag_context_t *ctx)
 Post a tag to a transport interface. More...
 
ucs_status_t uct_iface_tag_recv_cancel (uct_iface_h iface, uct_tag_context_t *ctx, int force)
 Cancel a posted tag. More...
 
+

Detailed Description

+

Defines tag matching operations.

+

Typedef Documentation

+ +

◆ uct_tag_unexp_eager_cb_t

+ +
+
+ + + + +
typedef ucs_status_t(* uct_tag_unexp_eager_cb_t) (void *arg, void *data, size_t length, unsigned flags, uct_tag_t stag, uint64_t imm, void **context)
+
+

This callback is invoked when tagged message sent by eager protocol has arrived and no corresponding tag has been posted.

+
Note
The callback is always invoked from the context (thread, process) that called uct_iface_progress().
+
+It is allowed to call other communication routines from the callback.
+
Parameters
+ + + + + + + + +
[in]argUser-defined argument
[in]dataPoints to the received unexpected data.
[in]lengthLength of data.
[in]flagsMask with uct_cb_param_flags flags. If it contains UCT_CB_PARAM_FLAG_DESC value, this means data is part of a descriptor which must be released later using uct_iface_release_desc by the user if the callback returns UCS_INPROGRESS.
[in]stagTag from sender.
[in]immImmediate data from sender.
[in,out]contextStorage for a per-message user-defined context. In this context, the message is defined by the sender side as a single call to uct_ep_tag_eager_short/bcopy/zcopy. On the transport level the message can be fragmented and delivered to the target over multiple fragments. The fragments will preserve the original order of the message. Each fragment will result in invocation of the above callback. The user can use UCT_CB_PARAM_FLAG_FIRST to identify the first fragment, allocate the context object and use the context as a token that is set by the user and passed to subsequent callbacks of the same message. The user is responsible for allocation and release of the context.
+
+
+
Note
No need to allocate the context in the case of a single fragment message (i.e. flags contains UCT_CB_PARAM_FLAG_FIRST, but does not contain UCT_CB_PARAM_FLAG_MORE).
+
Return values
+ + + +
UCS_OK- data descriptor was consumed, and can be released by the caller.
UCS_INPROGRESS- data descriptor is owned by the callee, and will be released later.
+
+
+ +
+
+ +

◆ uct_tag_unexp_rndv_cb_t

+ +
+
+ + + + +
typedef ucs_status_t(* uct_tag_unexp_rndv_cb_t) (void *arg, unsigned flags, uint64_t stag, const void *header, unsigned header_length, uint64_t remote_addr, size_t length, const void *rkey_buf)
+
+

This callback is invoked when rendezvous send notification has arrived and no corresponding tag has been posted.

+
Note
The callback is always invoked from the context (thread, process) that called uct_iface_progress().
+
+It is allowed to call other communication routines from the callback.
+
Parameters
+ + + + + + + + + +
[in]argUser-defined argument
[in]flagsMask with uct_cb_param_flags
[in]stagTag from sender.
[in]headerUser defined header.
[in]header_lengthUser defined header length in bytes.
[in]remote_addrSender's buffer virtual address.
[in]lengthSender's buffer length.
[in]rkey_bufSender's buffer packed remote key. It can be passed to uct_rkey_unpack() to create uct_rkey_t.
+
+
+
Warning
If the user became the owner of the desc (by returning UCS_INPROGRESS) the descriptor must be released later by uct_iface_release_desc by the user.
+
Return values
+ + + +
UCS_OK- descriptor was consumed, and can be released by the caller.
UCS_INPROGRESS- descriptor is owned by the callee, and would be released later.
+
+
+ +
+
+

Function Documentation

+ +

◆ uct_ep_tag_eager_short()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_tag_eager_short (uct_ep_h ep,
uct_tag_t tag,
const void * data,
size_t length 
)
+
+

This routine sends a message using short eager protocol. Eager protocol means that the whole data is sent to the peer immediately without any preceding notification. The data is provided as buffer and its length,and must not be larger than the corresponding max_short value in uct_iface_attr. The immediate value delivered to the receiver is implicitly equal to 0. If it's required to pass nonzero imm value, uct_ep_tag_eager_bcopy should be used.

+
Parameters
+ + + + + +
[in]epDestination endpoint handle.
[in]tagTag to use for the eager message.
[in]dataData to send.
[in]lengthData length.
+
+
+
Returns
UCS_OK - operation completed successfully.
+
+UCS_ERR_NO_RESOURCE - could not start the operation due to lack of send resources.
+ +
+
+ +

◆ uct_ep_tag_eager_bcopy()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ssize_t uct_ep_tag_eager_bcopy (uct_ep_h ep,
uct_tag_t tag,
uint64_t imm,
uct_pack_callback_t pack_cb,
void * arg,
unsigned flags 
)
+
+

This routine sends a message using bcopy eager protocol. Eager protocol means that the whole data is sent to the peer immediately without any preceding notification. Custom data callback is used to copy the data to the network buffers.

+
Note
The resulted data length must not be larger than the corresponding max_bcopy value in uct_iface_attr.
+
Parameters
+ + + + + + + +
[in]epDestination endpoint handle.
[in]tagTag to use for the eager message.
[in]immImmediate value which will be available to the receiver.
[in]pack_cbUser callback to pack the data.
[in]argCustom argument to pack_cb.
[in]flagsTag message flags, see uct_msg_flags.
+
+
+
Returns
>=0 - The size of the data packed by pack_cb.
+
+otherwise - Error code.
+ +
+
+ +

◆ uct_ep_tag_eager_zcopy()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_tag_eager_zcopy (uct_ep_h ep,
uct_tag_t tag,
uint64_t imm,
const uct_iov_tiov,
size_t iovcnt,
unsigned flags,
uct_completion_tcomp 
)
+
+

This routine sends a message using zcopy eager protocol. Eager protocol means that the whole data is sent to the peer immediately without any preceding notification. The input data (which has to be previously registered) in iov array of uct_iov_t structures sent to remote side ("gather output"). Buffers in iov are processed in array order, so the function complete iov[0] before proceeding to iov[1], and so on.

+
Note
The resulted data length must not be larger than the corresponding max_zcopy value in uct_iface_attr.
+
Parameters
+ + + + + + + + +
[in]epDestination endpoint handle.
[in]tagTag to use for the eager message.
[in]immImmediate value which will be available to the receiver.
[in]iovPoints to an array of uct_iov_t structures. A particular structure pointer must be a valid address. A NULL terminated array is not required.
[in]iovcntSize of the iov array. If iovcnt is zero, the data is considered empty. Note that iovcnt is limited by the corresponding max_iov value in uct_iface_attr.
[in]flagsTag message flags, see uct_msg_flags.
[in]compCompletion callback which will be called when the data is reliably received by the peer, and the buffer can be reused or invalidated.
+
+
+
Returns
UCS_OK - operation completed successfully.
+
+UCS_ERR_NO_RESOURCE - could not start the operation due to lack of send resources.
+
+UCS_INPROGRESS - operation started, and comp will be used to notify when it's completed.
+ +
+
+ +

◆ uct_ep_tag_rndv_zcopy()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_ptr_t uct_ep_tag_rndv_zcopy (uct_ep_h ep,
uct_tag_t tag,
const void * header,
unsigned header_length,
const uct_iov_tiov,
size_t iovcnt,
unsigned flags,
uct_completion_tcomp 
)
+
+

This routine sends a message using rendezvous protocol. Rendezvous protocol means that only a small notification is sent at first, and the data itself is transferred later (when there is a match) to avoid extra memory copy.

+
Note
The header will be available to the receiver in case of unexpected rendezvous operation only, i.e. the peer has not posted tag for this message yet (by means of uct_iface_tag_recv_zcopy), when it is arrived.
+
Parameters
+ + + + + + + + + +
[in]epDestination endpoint handle.
[in]tagTag to use for the eager message.
[in]headerUser defined header.
[in]header_lengthUser defined header length in bytes. Note that it is limited by the corresponding max_hdr value in uct_iface_attr.
[in]iovPoints to an array of uct_iov_t structures. A particular structure pointer must be valid address. A NULL terminated array is not required.
[in]iovcntSize of the iov array. If iovcnt is zero, the data is considered empty. Note that iovcnt is limited by the corresponding max_iov value in uct_iface_attr.
[in]flagsTag message flags, see uct_msg_flags.
[in]compCompletion callback which will be called when the data is reliably received by the peer, and the buffer can be reused or invalidated.
+
+
+
Returns
>=0 - The operation is in progress and the return value is a handle which can be used to cancel the outstanding rendezvous operation.
+
+otherwise - Error code.
+ +
+
+ +

◆ uct_ep_tag_rndv_cancel()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_tag_rndv_cancel (uct_ep_h ep,
void * op 
)
+
+

This routine signals the underlying transport disregard the outstanding operation without calling completion callback provided in uct_ep_tag_rndv_zcopy.

+
Note
The operation handle should be valid at the time the routine is invoked. I.e. it should be a handle of the real operation which is not completed yet.
+
Parameters
+ + + +
[in]epDestination endpoint handle.
[in]opRendezvous operation handle, as returned from uct_ep_tag_rndv_zcopy.
+
+
+
Returns
UCS_OK - The operation has been canceled.
+ +
+
+ +

◆ uct_ep_tag_rndv_request()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_ep_tag_rndv_request (uct_ep_h ep,
uct_tag_t tag,
const void * header,
unsigned header_length,
unsigned flags 
)
+
+

This routine sends a rendezvous request only, which indicates that the data transfer should be completed in software.

+
Parameters
+ + + + + + +
[in]epDestination endpoint handle.
[in]tagTag to use for matching.
[in]headerUser defined header
[in]header_lengthUser defined header length in bytes. Note that it is limited by the corresponding max_hdr value in uct_iface_attr.
[in]flagsTag message flags, see uct_msg_flags.
+
+
+
Returns
UCS_OK - operation completed successfully.
+
+UCS_ERR_NO_RESOURCE - could not start the operation due to lack of send resources.
+ +
+
+ +

◆ uct_iface_tag_recv_zcopy()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_iface_tag_recv_zcopy (uct_iface_h iface,
uct_tag_t tag,
uct_tag_t tag_mask,
const uct_iov_tiov,
size_t iovcnt,
uct_tag_context_tctx 
)
+
+

This routine posts a tag to be matched on a transport interface. When a message with the corresponding tag arrives it is stored in the user buffer (described by iov and iovcnt) directly. The operation completion is reported using callbacks on the ctx structure.

+
Parameters
+ + + + + + + +
[in]ifaceInterface to post the tag on.
[in]tagTag to expect.
[in]tag_maskMask which specifies what bits of the tag to compare.
[in]iovPoints to an array of uct_iov_t structures. The iov pointer must be a valid address of an array of uct_iov_t structures. A particular structure pointer must be a valid address. A NULL terminated array is not required.
[in]iovcntSize of the iov data uct_iov_t structures array. If iovcnt is zero, the data is considered empty. iovcnt is limited by uct_iface_attr::cap::tag::max_iov.
[in,out]ctxContext associated with this particular tag, "priv" field in this structure is used to track the state internally.
+
+
+
Returns
UCS_OK - The tag is posted to the transport.
+
+UCS_ERR_NO_RESOURCE - Could not start the operation due to lack of resources.
+
+UCS_ERR_EXCEEDS_LIMIT - No more room for tags in the transport.
+ +
+
+ +

◆ uct_iface_tag_recv_cancel()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ucs_status_t uct_iface_tag_recv_cancel (uct_iface_h iface,
uct_tag_context_tctx,
int force 
)
+
+

This routine cancels a tag, which was previously posted by uct_iface_tag_recv_zcopy. The tag would be either matched or canceled, in a bounded time, regardless of the peer actions. The original completion callback of the tag would be called with the status if force is not set.

+
Parameters
+ + + + +
[in]ifaceInterface to cancel the tag on.
[in]ctxTag context which was used for posting the tag. If force is 0, ctx->completed_cb will be called with either UCS_OK which means the tag was matched and data received despite the cancel request, or UCS_ERR_CANCELED which means the tag was successfully canceled before it was matched.
[in]forceWhether to report completions to ctx->completed_cb. If nonzero, the cancel is assumed to be successful, and the callback is not called.
+
+
+
Returns
UCS_OK - The tag is canceled in the transport.
+ +
+
+
+
+ + + + diff --git a/api/v1.13/html/group___u_c_t___t_a_g.js b/api/v1.13/html/group___u_c_t___t_a_g.js new file mode 100644 index 00000000000..af504a2d1b4 --- /dev/null +++ b/api/v1.13/html/group___u_c_t___t_a_g.js @@ -0,0 +1,19 @@ +var group___u_c_t___t_a_g = +[ + [ "uct_tag_context", "structuct__tag__context.html", [ + [ "tag_consumed_cb", "structuct__tag__context.html#a860b64e8963cbf48fb192045ec2d6689", null ], + [ "completed_cb", "structuct__tag__context.html#a8a872809ba82414123000deeb3f8dd2f", null ], + [ "rndv_cb", "structuct__tag__context.html#a64008d8faf823d5d2be97cb16854c308", null ], + [ "priv", "structuct__tag__context.html#a50355288112c6e3218f9b63f3b49be91", null ] + ] ], + [ "uct_tag_unexp_eager_cb_t", "group___u_c_t___t_a_g.html#ga4ba3d3c3d35e02d9d6952d927c9b53bd", null ], + [ "uct_tag_unexp_rndv_cb_t", "group___u_c_t___t_a_g.html#ga8534a90a1887092c91c4bcaf029ac6fd", null ], + [ "uct_ep_tag_eager_short", "group___u_c_t___t_a_g.html#ga5e595ff1d9e77bd5b4abe84fae3ac117", null ], + [ "uct_ep_tag_eager_bcopy", "group___u_c_t___t_a_g.html#ga08d520cd093b8c661c3f5a3bd863b7c2", null ], + [ "uct_ep_tag_eager_zcopy", "group___u_c_t___t_a_g.html#gaab6efb1df0527e53a0c1528cc80f64e4", null ], + [ "uct_ep_tag_rndv_zcopy", "group___u_c_t___t_a_g.html#ga897e5cfaa4998fdcb36128624635460a", null ], + [ "uct_ep_tag_rndv_cancel", "group___u_c_t___t_a_g.html#gaee99ff7af5b69b653977e4db2b5fef8b", null ], + [ "uct_ep_tag_rndv_request", "group___u_c_t___t_a_g.html#ga0b01e46c59a9d713495e4be1cdc6edda", null ], + [ "uct_iface_tag_recv_zcopy", "group___u_c_t___t_a_g.html#gac4ba076343a68f330e5c4659d38bb383", null ], + [ "uct_iface_tag_recv_cancel", "group___u_c_t___t_a_g.html#gad2448d4cf5325dec5aa9c69ae4a025e1", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/index.html b/api/v1.13/html/index.html new file mode 100644 index 00000000000..b1ef4e1b0c7 --- /dev/null +++ b/api/v1.13/html/index.html @@ -0,0 +1,121 @@ + + + + + + + +UCX: Preface + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Preface
+
+
+

+Scope of the Document

+

This document describes the UCX programming interface. The programming interface exposes a high performance communication API, which provides basic building blocks for PGAS, Message Passing Interface (MPI), Big-Data, Analytics, File I/O, and storage library developers.

+

+Audience

+

This manual is intended for programmers who want to develop parallel programming models like OpenSHMEM, MPI, UPC, Chapel, etc. The manual assumes that the reader is familiar with the following:

    +
  • Basic concepts of two-sided, one-sided, atomic, and collective operations
  • +
  • C programming language
  • +
+

+Document Status

+

This section briefly describes a list of open issues in the UCX specification.

    +
  • UCP API - work in progress
  • +
  • UCT API - work in progress
  • +
+

+License

+

UCX project follows open source development model and the software is licensed under BSD-3 license.

+
+
+
+ + + + diff --git a/api/v1.13/html/jquery.js b/api/v1.13/html/jquery.js new file mode 100644 index 00000000000..103c32d79b7 --- /dev/null +++ b/api/v1.13/html/jquery.js @@ -0,0 +1,35 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element +},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** + * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler + * Licensed under MIT + * @author Ariel Flesler + * @version 2.1.2 + */ +;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/api/v1.13/html/md_docs_doxygen_conventions.html b/api/v1.13/html/md_docs_doxygen_conventions.html new file mode 100644 index 00000000000..4970283d067 --- /dev/null +++ b/api/v1.13/html/md_docs_doxygen_conventions.html @@ -0,0 +1,116 @@ + + + + + + + +UCX: Conventions and Notations + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Conventions and Notations
+
+
+

This section describes the conventions and notations in the UCX specification.

+

+Blocking Behavior

+

The blocking UCX routines return only when a UCX operation is complete. After the return, the resources used in the UCX routine are available for reuse.

+

+Non-blocking Behavior

+

The non-blocking UCX routines return immediately, independent of operation completion. After the return, the resources used for the routines are not necessarily available for reuse.

+

+Fairness

+

UCX routines do not guarantee fairness. However, the routines enable UCX consumers to write efficient and fair programs.

+

+Interaction with Signal Handler Functions

+

If UCX routines are invoked from a signal handler function, the behavior of the program is undefined.

+
+
+
+ + + + diff --git a/api/v1.13/html/md_docs_doxygen_design.html b/api/v1.13/html/md_docs_doxygen_design.html new file mode 100644 index 00000000000..4cb6b0495fe --- /dev/null +++ b/api/v1.13/html/md_docs_doxygen_design.html @@ -0,0 +1,131 @@ + + + + + + + +UCX: Design + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Design
+
+
+

The UCX framework consists of the three main components: UC-Services (UCS), UC-Transports (UCT), and UC-Protocols (UCP). Each one of these components exports a public API, and can be used as a stand-alone library.

+
+ +
+UCX Framework Architecture
+

+UCS

+

UCS is a service layer that provides the necessary functionality for implementing portable and efficient utilities. This layer includes the following services:

    +
  • an abstraction for accessing platform specific functionality (atomic operations, thread safety, etc.),
  • +
  • tools for efficient memory management (memory pools, memory allocators, and memory allocators hooks),
  • +
  • commonly used data structures (hashes, trees, lists).
  • +
+

+UCT

+

UCT is a transport layer that abstracts the differences across various hardware architectures and provides a low-level API that enables the implementation of communication protocols. The primary goal of the layer is to provide direct and efficient access to hardware network functionality. For this purpose, UCT relies on vendor provided low-level drivers such as uGNI, Verbs, shared memory, ROCM, CUDA. In addition, the layer provides constructs for communication context management (thread-based and application level), and allocation and management of device-specific memories including those found in accelerators. In terms of communication APIs, UCT defines interfaces for immediate (short), buffered copy-and-send (bcopy), and zero-copy (zcopy) communication operations.

+

Short: This type of operation is optimized for small messages that can be posted and completed in place.

+

Bcopy: This type of operation is optimized for medium size messages that are typically sent through a so-called bouncing-buffer. This auxiliary buffer is typically allocated given network constraints and ready for immediate utilization by the hardware. Since a custom data packing routine could be provided, this method can be used for non-contiguous i/o.

+

Zcopy: This type of operation exposes zero-copy memory-to-memory communication semantics, which means that message is sent directly from user buffer, or received directly to user buffer, without being copied between the network layers.

+

+UCP

+

UCP implements higher-level protocols that are typically used by message passing (MPI) and PGAS programming models by using lower-level capabilities exposed through the UCT layer. UCP is provides the following functionality: ability to select different transports for communication, message fragmentation, multi-rail communication, and initializing and finalizing the library. Currently, the API has the following classes of interfaces: Initialization, Remote Memory Access (RMA) communication, Atomic Memory Operations (AMO), Active Message, Tag-Matching, and Collectives.

+

Initialization: This subset of interfaces defines the communication context setup, queries the network capabilities, and initializes the local communication endpoints. The context represented by the UCX context is an abstraction of the network transport resources. The communication endpoint setup interfaces initialize the UCP endpoint, which is an abstraction of all the necessary resources associated with a particular connection. The communication endpoints are used as input to all communication operations to describe the source and destination of the communication.

+

RMA: This subset of interfaces defines one-sided communication operations such as PUT and GET, required for implementing low overhead, direct memory access communications constructs needed by both distributed and shared memory programming models. UCP includes a separate set of interfaces for communicating non-contiguous data. This functionality was included to support various programming models' communication requirements and leverage the scatter/gather capabilities of modern network hardware.

+

AMO: This subset of interfaces provides support for atomically performing operations on the remote memory, an important class of operations for PGAS programming models, particularly OpenSHMEM.

+

Tag Matching: This interface supports tag-matching for send-receive semantics which is a key communication semantic defined by the MPI specification.

+

Stream : The API provides order and reliable communication semantics. Data is treated as an ordered sequence of bytes pushed through the connection. In contrast of tag-matching interface, the size of each individual send does not necessarily have to match the size of each individual receive, as long as the total number of bytes is the same. This API is designed to match widely used BSD-socket based programming models.

+

Active Message: A subset of functionality where the incoming packet invokes a sender-specified callback in order to be processed by the receiving process. As an example, the two-sided MPI interface can easily be implemented on top of such a concept (TBD: cite openmpi ). However, these interfaces are more general and suited for other programming paradigms where the receiver process does not prepost receives, but expects to react to incoming packets directly. Like RMA and tag-matching interfaces, the active message interface provides separate APIs for different message types and non-contiguous data.

+

Collectives: This subset of interfaces defines group communication and synchronization operations. The collective operations include barrier, all-to-one, all-to-all, and reduction operations. When possible, we will take advantage of hardware acceleration for collectives (e.g., InfiniBand Switch collective acceleration).

+
+
+
+ + + + diff --git a/api/v1.13/html/md_docs_doxygen_intro.html b/api/v1.13/html/md_docs_doxygen_intro.html new file mode 100644 index 00000000000..2c6d3f1547a --- /dev/null +++ b/api/v1.13/html/md_docs_doxygen_intro.html @@ -0,0 +1,127 @@ + + + + + + + +UCX: Introduction + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Introduction
+
+
+

+Motivation

+

A communication middleware abstracts the vendor-specific software and hardware interfaces. They bridge the semantic and functionality gap between the programming models and the software and hardware network interfaces by providing data transfer interfaces and implementation, optimized protocols for data transfer between various memories, and managing network resources. There are many communication middleware APIs and libraries to support parallel programming models such as MPI, OpenSHMEM, and task-based models.

+

Current communication middleware designs typically take two approaches. First, communication middleware such as Intel's PSM (previously Qlogic), Mellanox's MXM, and IBM's PAMI provide high-performance implementations for specific network hardware. Second, communication middleware such as VMI, Cactus, ARMCI, GASNet, and Open MPI are tightly coupled to a specific programming model. Communication middleware designed with either of this design approach requires significant porting effort to move a new network interface or programming model.

+

To achieve functional and performance portability across architectures and programming models, we introduce Unified Communication X (UCX).

+

+UCX

+

Unified Communication X (UCX) is a set of network APIs and their implementations for high throughput computing. UCX is a combined effort of national laboratories, industry, and academia to design and implement a high-performing and highly-scalable network stack for next generation applications and systems. UCX design provides the ability to tailor its APIs and network functionality to suit a wide variety of application domains. We envision that these APIs will satisfy the networking needs of many programming models such as the Message Passing Interface (MPI), OpenSHMEM, Partitioned Global Address Space (PGAS) languages, task-based paradigms, and I/O bound applications.

+

The initial focus is on supporting semantics such as point-to-point communications (one-sided and two-sided), collective communication, and remote atomic operations required for popular parallel programming models. Also, the initial UCX reference implementation is targeted to support current network technologies such as:

    +
  • Open Fabrics - InfiniBand (Mellanox, Qlogic, IBM), iWARP, RoCE
  • +
  • Cray uGNI - GEMINI and ARIES interconnects
  • +
  • Shared memory (MMAP, Posix, CMA, KNEM, XPMEM, etc.)
  • +
  • Ethernet (TCP/UDP)
  • +
+

UCX design goals are focused on performance and scalability, while efficiently supporting popular and emerging programming models.

+

UCX's API and design do not impose architectural constraints on the network hardware nor require any specific capabilities to the support the programming model functionality. This is achieved by keeping the API flexible and ability to support the missing functionality efficiently in the software.

+

Extreme scalability is an important design goal for UCX. To achieve this, UCX follows these design principles:

    +
  • Minimal memory consumption : Design avoids data-structures that scale with the number of processing elements (i.e., order N data structures), and share resources among multiple programming models.
  • +
  • Low-latency Interfaces: Design provides at least two sets of APIs with one set focused on the performance, and the other focused on functionality.
  • +
  • High bandwidth - With minimal software overhead combined and support for multi-rail and multi-device capabilities, the design provides all the hooks that are necessary for exploiting hardware bandwidth capabilities.
  • +
  • Asynchronous Progress: API provides non-blocking communication interfaces and design supports asynchronous progress required for communication and computation overlap
  • +
  • Resilience - the API exposes communication control hooks required for fault tolerant communication library implementation.
  • +
+

UCX design provides native support for hybrid programming models. The design enables resource sharing, optimal memory usage, and progress engine coordination to efficiently implement hybrid programming models. For example, hybrid applications that use both OpenSHMEM and MPI programming models will be able to select between a single-shared UCX network context or a stand alone UCX network context for each one of them. Such flexibility, optimized resource sharing, and reduced memory consumption, improve network and application performance.

+
+
+
+ + + + diff --git a/api/v1.13/html/memory__type_8h_source.html b/api/v1.13/html/memory__type_8h_source.html new file mode 100644 index 00000000000..99676e46c26 --- /dev/null +++ b/api/v1.13/html/memory__type_8h_source.html @@ -0,0 +1,149 @@ + + + + + + + +UCX: memory_type.h Source File + + + + + + + + + + + + + +
+
+ + + + + + + +
+
UCX +  1.13 +
+
Unified Communication X
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
memory_type.h
+
+
+
1 
+
8 #ifndef UCS_MEMORY_TYPE_H_
+
9 #define UCS_MEMORY_TYPE_H_
+
10 
+
11 #include <ucs/sys/compiler_def.h>
+
12 
+
13 BEGIN_C_DECLS
+
14 
+
15 
+
19 #define UCS_MEMORY_TYPES_CPU_ACCESSIBLE \
+
20  (UCS_BIT(UCS_MEMORY_TYPE_HOST) | \
+
21  UCS_BIT(UCS_MEMORY_TYPE_ROCM_MANAGED))
+
22 
+
23 
+
27 #define ucs_memory_type_for_each(_x) \
+
28  for ((_x) = UCS_MEMORY_TYPE_HOST; (_x) < UCS_MEMORY_TYPE_LAST; (_x)++)
+
29 
+
30 
+
37 typedef enum ucs_memory_type {
+ + + + + + + + +
46 
+
47 
+
51 extern const char *ucs_memory_type_names[];
+
52 
+
56 extern const char *ucs_memory_type_descs[];
+
57 
+
58 
+
59 END_C_DECLS
+
60 
+
61 #endif
+
+
+
@ UCS_MEMORY_TYPE_CUDA
Definition: memory_type.h:39
+
@ UCS_MEMORY_TYPE_LAST
Definition: memory_type.h:43
+
ucs_memory_type
Memory types.
Definition: memory_type.h:37
+
@ UCS_MEMORY_TYPE_ROCM_MANAGED
Definition: memory_type.h:42
+
@ UCS_MEMORY_TYPE_ROCM
Definition: memory_type.h:41
+
@ UCS_MEMORY_TYPE_CUDA_MANAGED
Definition: memory_type.h:40
+
@ UCS_MEMORY_TYPE_HOST
Definition: memory_type.h:38
+
enum ucs_memory_type ucs_memory_type_t
Memory types.
+
@ UCS_MEMORY_TYPE_UNKNOWN
Definition: memory_type.h:44
+ + + + diff --git a/api/v1.13/html/menu.js b/api/v1.13/html/menu.js new file mode 100644 index 00000000000..433c15b8f01 --- /dev/null +++ b/api/v1.13/html/menu.js @@ -0,0 +1,50 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
  • '); + } else { + $('#main-menu').append('
  • '); + } + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/api/v1.13/html/menudata.js b/api/v1.13/html/menudata.js new file mode 100644 index 00000000000..d5ec3b010a4 --- /dev/null +++ b/api/v1.13/html/menudata.js @@ -0,0 +1,71 @@ +/* +@licstart The following is the entire license notice for the +JavaScript code in this file. + +Copyright (C) 1997-2019 by Dimitri van Heesch + +This program is free software; you can redistribute it and/or modify +it under the terms of version 2 of the GNU General Public License as published by +the Free Software Foundation + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +@licend The above is the entire license notice +for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Related Pages",url:"pages.html"}, +{text:"Programming Interface",url:"modules.html"}, +{text:"Data Structures",url:"annotated.html",children:[ +{text:"Data Structures",url:"annotated.html"}, +{text:"Data Structure Index",url:"classes.html"}, +{text:"Data Fields",url:"functions.html",children:[ +{text:"All",url:"functions.html",children:[ +{text:"a",url:"functions.html#index_a"}, +{text:"b",url:"functions_b.html#index_b"}, +{text:"c",url:"functions_c.html#index_c"}, +{text:"d",url:"functions_d.html#index_d"}, +{text:"e",url:"functions_e.html#index_e"}, +{text:"f",url:"functions_f.html#index_f"}, +{text:"h",url:"functions_h.html#index_h"}, +{text:"i",url:"functions_i.html#index_i"}, +{text:"k",url:"functions_k.html#index_k"}, +{text:"l",url:"functions_l.html#index_l"}, +{text:"m",url:"functions_m.html#index_m"}, +{text:"n",url:"functions_n.html#index_n"}, +{text:"o",url:"functions_o.html#index_o"}, +{text:"p",url:"functions_p.html#index_p"}, +{text:"r",url:"functions_r.html#index_r"}, +{text:"s",url:"functions_s.html#index_s"}, +{text:"t",url:"functions_t.html#index_t"}, +{text:"u",url:"functions_u.html#index_u"}, +{text:"w",url:"functions_w.html#index_w"}]}, +{text:"Variables",url:"functions_vars.html",children:[ +{text:"a",url:"functions_vars.html#index_a"}, +{text:"b",url:"functions_vars_b.html#index_b"}, +{text:"c",url:"functions_vars_c.html#index_c"}, +{text:"d",url:"functions_vars_d.html#index_d"}, +{text:"e",url:"functions_vars_e.html#index_e"}, +{text:"f",url:"functions_vars_f.html#index_f"}, +{text:"h",url:"functions_vars_h.html#index_h"}, +{text:"i",url:"functions_vars_i.html#index_i"}, +{text:"k",url:"functions_vars_k.html#index_k"}, +{text:"l",url:"functions_vars_l.html#index_l"}, +{text:"m",url:"functions_vars_m.html#index_m"}, +{text:"n",url:"functions_vars_n.html#index_n"}, +{text:"o",url:"functions_vars_o.html#index_o"}, +{text:"p",url:"functions_vars_p.html#index_p"}, +{text:"r",url:"functions_vars_r.html#index_r"}, +{text:"s",url:"functions_vars_s.html#index_s"}, +{text:"t",url:"functions_vars_t.html#index_t"}, +{text:"u",url:"functions_vars_u.html#index_u"}, +{text:"w",url:"functions_vars_w.html#index_w"}]}]}]}, +{text:"Examples",url:"examples.html"}]} diff --git a/api/v1.13/html/modules.html b/api/v1.13/html/modules.html new file mode 100644 index 00000000000..00878266ed5 --- /dev/null +++ b/api/v1.13/html/modules.html @@ -0,0 +1,128 @@ + + + + + + + +UCX: Programming Interface + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Programming Interface
    +
    + +
    + + + + diff --git a/api/v1.13/html/modules.js b/api/v1.13/html/modules.js new file mode 100644 index 00000000000..478a533ed08 --- /dev/null +++ b/api/v1.13/html/modules.js @@ -0,0 +1,6 @@ +var modules = +[ + [ "Unified Communication Protocol (UCP) API", "group___u_c_p___a_p_i.html", "group___u_c_p___a_p_i" ], + [ "Unified Communication Transport (UCT) API", "group___u_c_t___a_p_i.html", "group___u_c_t___a_p_i" ], + [ "Unified Communication Services (UCS) API", "group___u_c_s___a_p_i.html", "group___u_c_s___a_p_i" ] +]; \ No newline at end of file diff --git a/api/v1.13/html/namespace_3global_scope_4_structucs__callbackq.js b/api/v1.13/html/namespace_3global_scope_4_structucs__callbackq.js new file mode 100644 index 00000000000..18fd51f0e0f --- /dev/null +++ b/api/v1.13/html/namespace_3global_scope_4_structucs__callbackq.js @@ -0,0 +1,5 @@ +var namespace_3global_scope_4_structucs__callbackq = +[ + [ "fast_elems", "namespace_3global_scope_4.html#a00e13bcee0aa60124620ed02e5cd9116", null ], + [ "priv", "namespace_3global_scope_4.html#a328050e3952f5d3888c26b32946f3627", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/namespace_3global_scope_4_structucs__callbackq__elem.js b/api/v1.13/html/namespace_3global_scope_4_structucs__callbackq__elem.js new file mode 100644 index 00000000000..ae1d5ad8bec --- /dev/null +++ b/api/v1.13/html/namespace_3global_scope_4_structucs__callbackq__elem.js @@ -0,0 +1,7 @@ +var namespace_3global_scope_4_structucs__callbackq__elem = +[ + [ "cb", "namespace_3global_scope_4.html#a57233b5af77231c4fb6e8d0c7a9cf279", null ], + [ "arg", "namespace_3global_scope_4.html#a58d44a6931525b739c8dd932f369d917", null ], + [ "flags", "namespace_3global_scope_4.html#a3a0d3c938fef66985c8cf44071d23fd6", null ], + [ "id", "namespace_3global_scope_4.html#a12ff9e4e3560d4371a71e0549a6237d4", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/namespace_3global_scope_4_structucs__config__allow__list__t.js b/api/v1.13/html/namespace_3global_scope_4_structucs__config__allow__list__t.js new file mode 100644 index 00000000000..1f663333947 --- /dev/null +++ b/api/v1.13/html/namespace_3global_scope_4_structucs__config__allow__list__t.js @@ -0,0 +1,5 @@ +var namespace_3global_scope_4_structucs__config__allow__list__t = +[ + [ "array", "namespace_3global_scope_4.html#a03eca40e3a768d33654ae128d60df93b", null ], + [ "mode", "namespace_3global_scope_4.html#a080bacced54b2014f148e933d4dc3347", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/namespace_3global_scope_4_structucs__log__component__config.js b/api/v1.13/html/namespace_3global_scope_4_structucs__log__component__config.js new file mode 100644 index 00000000000..0c04b455589 --- /dev/null +++ b/api/v1.13/html/namespace_3global_scope_4_structucs__log__component__config.js @@ -0,0 +1,6 @@ +var namespace_3global_scope_4_structucs__log__component__config = +[ + [ "log_level", "namespace_3global_scope_4.html#ae279af7e4a426fe21bde0e83a2c423ae", null ], + [ "name", "namespace_3global_scope_4.html#ad3c3436563841e129767778aae615f8f", null ], + [ "file_filter", "namespace_3global_scope_4.html#a24ae3d6f63dc62e024f4dc9b3af519d2", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/namespace_3global_scope_4_structuct__ppn__bandwidth.js b/api/v1.13/html/namespace_3global_scope_4_structuct__ppn__bandwidth.js new file mode 100644 index 00000000000..aaf6f8d60b0 --- /dev/null +++ b/api/v1.13/html/namespace_3global_scope_4_structuct__ppn__bandwidth.js @@ -0,0 +1,5 @@ +var namespace_3global_scope_4_structuct__ppn__bandwidth = +[ + [ "dedicated", "namespace_3global_scope_4.html#ab415588ec7332c0264ac81d883dd7a8c", null ], + [ "shared", "namespace_3global_scope_4.html#ad2a5875d9c5c32357a72b42ec00c3b6d", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/nav_f.png b/api/v1.13/html/nav_f.png new file mode 100644 index 00000000000..72a58a529ed Binary files /dev/null and b/api/v1.13/html/nav_f.png differ diff --git a/api/v1.13/html/nav_g.png b/api/v1.13/html/nav_g.png new file mode 100644 index 00000000000..2093a237a94 Binary files /dev/null and b/api/v1.13/html/nav_g.png differ diff --git a/api/v1.13/html/nav_h.png b/api/v1.13/html/nav_h.png new file mode 100644 index 00000000000..33389b101d9 Binary files /dev/null and b/api/v1.13/html/nav_h.png differ diff --git a/api/v1.13/html/navtree.css b/api/v1.13/html/navtree.css new file mode 100644 index 00000000000..33341a67d69 --- /dev/null +++ b/api/v1.13/html/navtree.css @@ -0,0 +1,146 @@ +#nav-tree .children_ul { + margin:0; + padding:4px; +} + +#nav-tree ul { + list-style:none outside none; + margin:0px; + padding:0px; +} + +#nav-tree li { + white-space:nowrap; + margin:0px; + padding:0px; +} + +#nav-tree .plus { + margin:0px; +} + +#nav-tree .selected { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +#nav-tree img { + margin:0px; + padding:0px; + border:0px; + vertical-align: middle; +} + +#nav-tree a { + text-decoration:none; + padding:0px; + margin:0px; + outline:none; +} + +#nav-tree .label { + margin:0px; + padding:0px; + font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +#nav-tree .label a { + padding:2px; +} + +#nav-tree .selected a { + text-decoration:none; + color:#fff; +} + +#nav-tree .children_ul { + margin:0px; + padding:0px; +} + +#nav-tree .item { + margin:0px; + padding:0px; +} + +#nav-tree { + padding: 0px 0px; + background-color: #FAFAFF; + font-size:14px; + overflow:auto; +} + +#doc-content { + overflow:auto; + display:block; + padding:0px; + margin:0px; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#side-nav { + padding:0 6px 0 0; + margin: 0px; + display:block; + position: absolute; + left: 0px; + width: 250px; +} + +.ui-resizable .ui-resizable-handle { + display:block; +} + +.ui-resizable-e { + background-image:url("splitbar.png"); + background-size:100%; + background-repeat:repeat-y; + background-attachment: scroll; + cursor:ew-resize; + height:100%; + right:0; + top:0; + width:6px; +} + +.ui-resizable-handle { + display:none; + font-size:0.1px; + position:absolute; + z-index:1; +} + +#nav-tree-contents { + margin: 6px 0px 0px 0px; +} + +#nav-tree { + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#nav-sync { + position:absolute; + top:5px; + right:24px; + z-index:0; +} + +#nav-sync img { + opacity:0.3; +} + +#nav-sync img:hover { + opacity:0.9; +} + +@media print +{ + #nav-tree { display: none; } + div.ui-resizable-handle { display: none; position: relative; } +} + diff --git a/api/v1.13/html/navtree.js b/api/v1.13/html/navtree.js new file mode 100644 index 00000000000..edc31efc681 --- /dev/null +++ b/api/v1.13/html/navtree.js @@ -0,0 +1,544 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2019 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of version 2 of the GNU General Public License as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +var navTreeSubIndices = new Array(); +var arrowDown = '▼'; +var arrowRight = '►'; + +function getData(varName) +{ + var i = varName.lastIndexOf('/'); + var n = i>=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/\-/g,'_')); +} + +function stripPath(uri) +{ + return uri.substring(uri.lastIndexOf('/')+1); +} + +function stripPath2(uri) +{ + var i = uri.lastIndexOf('/'); + var s = uri.substring(i+1); + var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; +} + +function hashValue() +{ + return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); +} + +function hashUrl() +{ + return '#'+hashValue(); +} + +function pathName() +{ + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); +} + +function localStorageSupported() +{ + try { + return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; + } + catch(e) { + return false; + } +} + +function storeLink(link) +{ + if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { + window.localStorage.setItem('navpath',link); + } +} + +function deleteLink() +{ + if (localStorageSupported()) { + window.localStorage.setItem('navpath',''); + } +} + +function cachedLink() +{ + if (localStorageSupported()) { + return window.localStorage.getItem('navpath'); + } else { + return ''; + } +} + +function getScript(scriptName,func,show) +{ + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + head.appendChild(script); +} + +function createIndent(o,domNode,node,level) +{ + var level=-1; + var n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + var imgNode = document.createElement("span"); + imgNode.className = 'arrow'; + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.innerHTML=arrowRight; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast"); + node.plus_img.innerHTML=arrowRight; + node.expanded = false; + } else { + expandNode(o, node, false, false); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + } else { + var span = document.createElement("span"); + span.className = 'arrow'; + span.style.width = 16*(level+1)+'px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } +} + +var animationInProgress = false; + +function gotoAnchor(anchor,aname,updateLocation) +{ + var pos, docContent = $('#doc-content'); + var ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || + ancParent.hasClass('memtitle') || + ancParent.hasClass('fieldname') || + ancParent.hasClass('fieldtype') || + ancParent.is(':header')) + { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + var dist = Math.abs(Math.min( + pos-docContent.offset().top, + docContent[0].scrollHeight- + docContent.height()-docContent.scrollTop())); + animationInProgress=true; + docContent.animate({ + scrollTop: pos + docContent.scrollTop() - docContent.offset().top + },Math.max(50,Math.min(500,dist)),function(){ + if (updateLocation) window.location.href=aname; + animationInProgress=false; + }); + } +} + +function newNode(o, po, text, link, childrenData, lastNode) +{ + var node = new Object(); + node.children = Array(); + node.childrenData = childrenData; + node.depth = po.depth + 1; + node.relpath = po.relpath; + node.isLast = lastNode; + + node.li = document.createElement("li"); + po.getChildrenUL().appendChild(node.li); + node.parentNode = po; + + node.itemDiv = document.createElement("div"); + node.itemDiv.className = "item"; + + node.labelSpan = document.createElement("span"); + node.labelSpan.className = "label"; + + createIndent(o,node.itemDiv,node,0); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + var a = document.createElement("a"); + node.labelSpan.appendChild(a); + node.label = document.createTextNode(text); + node.expanded = false; + a.appendChild(node.label); + if (link) { + var url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + var aname = '#'+link.split('#')[1]; + var srcPage = stripPath(pathName()); + var targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : "javascript:void(0)"; + a.onclick = function(){ + storeLink(link); + if (!$(a).parent().parent().hasClass('selected')) + { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + $(a).parent().parent().addClass('selected'); + $(a).parent().parent().attr('id','selected'); + } + var anchor = $(aname); + gotoAnchor(anchor,aname,true); + }; + } else { + a.href = url; + a.onclick = function() { storeLink(link); } + } + } else { + if (childrenData != null) + { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + } + + node.childrenUL = null; + node.getChildrenUL = function() { + if (!node.childrenUL) { + node.childrenUL = document.createElement("ul"); + node.childrenUL.className = "children_ul"; + node.childrenUL.style.display = "none"; + node.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }; + + return node; +} + +function showRoot() +{ + var headerHeight = $("#top").height(); + var footerHeight = $("#nav-path").height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + (function (){ // retry until we can scroll to the selected item + try { + var navtree=$('#nav-tree'); + navtree.scrollTo('#selected',100,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); +} + +function expandNode(o, node, imm, showRoot) +{ + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + expandNode(o, node, imm, showRoot); + }, showRoot); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).slideDown("fast"); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + } + } +} + +function glowEffect(n,duration) +{ + n.addClass('glow').delay(duration).queue(function(next){ + $(this).removeClass('glow');next(); + }); +} + +function highlightAnchor() +{ + var aname = hashUrl(); + var anchor = $(aname); + if (anchor.parent().attr('class')=='memItemLeft'){ + var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname'){ + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype'){ + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } +} + +function selectAndHighlight(hash,n) +{ + var a; + if (hash) { + var link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + $('#nav-sync').css('top','30px'); + } else { + $('#nav-sync').css('top','5px'); + } + showRoot(); +} + +function showNode(o, node, index, hash) +{ + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + showNode(o,node,index,hash); + },true); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + var n = node.children[o.breadcrumbs[index]]; + if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); + else hash=''; + } + if (hash.match(/^#l\d+$/)) { + var anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + var url=root+hash; + var i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function(){ + navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + },true); + } +} + +function showSyncOff(n,relpath) +{ + n.html(''); +} + +function showSyncOn(n,relpath) +{ + n.html(''); +} + +function toggleSyncButton(relpath) +{ + var navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { + navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); + } else { + navSync.addClass('sync'); + showSyncOn(navSync,relpath); + deleteLink(); + } +} + +var loadTriggered = false; +var readyTriggered = false; +var loadObject,loadToRoot,loadUrl,loadRelPath; + +$(window).on('load',function(){ + if (readyTriggered) { // ready first + navTo(loadObject,loadToRoot,loadUrl,loadRelPath); + showRoot(); + } + loadTriggered=true; +}); + +function initNavTree(toroot,relpath) +{ + var o = new Object(); + o.toroot = toroot; + o.node = new Object(); + o.node.li = document.getElementById("nav-tree-contents"); + o.node.childrenData = NAVTREE; + o.node.children = new Array(); + o.node.childrenUL = document.createElement("ul"); + o.node.getChildrenUL = function() { return o.node.childrenUL; }; + o.node.li.appendChild(o.node.childrenUL); + o.node.depth = 0; + o.node.relpath = relpath; + o.node.expanded = false; + o.node.isLast = true; + o.node.plus_img = document.createElement("span"); + o.node.plus_img.className = 'arrow'; + o.node.plus_img.innerHTML = arrowRight; + + if (localStorageSupported()) { + var navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + navSync.click(function(){ toggleSyncButton(relpath); }); + } + + if (loadTriggered) { // load before ready + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + } else { // ready before load + loadObject = o; + loadToRoot = toroot; + loadUrl = hashUrl(); + loadRelPath = relpath; + readyTriggered=true; + } + + $(window).bind('hashchange', function(){ + if (window.location.hash && window.location.hash.length>1){ + var a; + if ($(location).attr('hash')){ + var clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/ + + + + + + +UCX: Related Pages + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Related Pages
    +
    +
    +
    Here is a list of all related documentation pages:
    +
    +
    + + + + diff --git a/api/v1.13/html/resize.js b/api/v1.13/html/resize.js new file mode 100644 index 00000000000..a0bb5f45b53 --- /dev/null +++ b/api/v1.13/html/resize.js @@ -0,0 +1,137 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function initResizable() +{ + var cookie_namespace = 'doxygen'; + var sidenav,navtree,content,header,collapsed,collapsedWidth=0,barWidth=6,desktop_vp=768,titleHeight; + + function readCookie(cookie) + { + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) { + var index = document.cookie.indexOf(myCookie); + if (index != -1) { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; + } + } + return 0; + } + + function writeCookie(cookie, val, expiration) + { + if (val==undefined) return; + if (expiration == null) { + var date = new Date(); + date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week + expiration = date.toGMTString(); + } + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; + } + + function resizeWidth() + { + var windowWidth = $(window).width() + "px"; + var sidenavWidth = $(sidenav).outerWidth(); + content.css({marginLeft:parseInt(sidenavWidth)+"px"}); + writeCookie('width',sidenavWidth-barWidth, null); + } + + function restoreWidth(navWidth) + { + var windowWidth = $(window).width() + "px"; + content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + sidenav.css({width:navWidth + "px"}); + } + + function resizeHeight() + { + var headerHeight = header.outerHeight(); + var footerHeight = footer.outerHeight(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + content.css({height:windowHeight + "px"}); + navtree.css({height:windowHeight + "px"}); + sidenav.css({height:windowHeight + "px"}); + var width=$(window).width(); + if (width!=collapsedWidth) { + if (width=desktop_vp) { + if (!collapsed) { + collapseExpand(); + } + } else if (width>desktop_vp && collapsedWidth0) { + restoreWidth(0); + collapsed=true; + } + else { + var width = readCookie('width'); + if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } + collapsed=false; + } + } + + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(sidenav).resizable({ minWidth: 0 }); + $(window).resize(function() { resizeHeight(); }); + var device = navigator.userAgent.toLowerCase(); + var touch_device = device.match(/(iphone|ipod|ipad|android)/); + if (touch_device) { /* wider split bar for touch only devices */ + $(sidenav).css({ paddingRight:'20px' }); + $('.ui-resizable-e').css({ width:'20px' }); + $('#nav-sync').css({ right:'34px' }); + barWidth=20; + } + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(".ui-resizable-handle").dblclick(collapseExpand); + $(window).on('load',resizeHeight); +} +/* @license-end */ diff --git a/api/v1.13/html/search/all_0.html b/api/v1.13/html/search/all_0.html new file mode 100644 index 00000000000..26dd244fd78 --- /dev/null +++ b/api/v1.13/html/search/all_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_0.js b/api/v1.13/html/search/all_0.js new file mode 100644 index 00000000000..0ede7d1655e --- /dev/null +++ b/api/v1.13/html/search/all_0.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['accept_5fhandler_0',['accept_handler',['../group___u_c_p___w_o_r_k_e_r.html#a17487f0e8e3102519d7b512c77efdb1f',1,'ucp_listener_params']]], + ['addr_1',['addr',['../group___u_c_s___r_e_s_o_u_r_c_e.html#a6294db86dc9327058b8a31cb4af87edb',1,'ucs_sock_addr']]], + ['address_2',['address',['../group___u_c_p___w_o_r_k_e_r.html#a0863e78ee73ef351311c54d95b6c8fa5',1,'ucp_worker_attr::address()'],['../group___u_c_p___m_e_m.html#acc3761c4bbcca9c1defa742a8db08bbb',1,'ucp_mem_map_params::address()'],['../group___u_c_p___m_e_m.html#ab25f1b439c184a0bfb93eda0c9ceb9f7',1,'ucp_mem_advise_params::address()'],['../group___u_c_p___m_e_m.html#ab9a2b772838f436158ae4e25d8bb21e4',1,'ucp_mem_attr::address()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#a8cf5c1599022ccdea5a6d1c97ced3627',1,'ucp_ep_params::address()'],['../group___u_c_t___m_d.html#abd26b6aa42f6d176591f7028317bb887',1,'uct_allocated_memory::address()'],['../group___u_c_t___m_d.html#a5d1be32ed06a9f67bdf686d1c2ec71fc',1,'uct_mem_alloc_params_t::address()']]], + ['address_5fflags_3',['address_flags',['../group___u_c_p___w_o_r_k_e_r.html#a6c288e285b8c870ec576f1a939519799',1,'ucp_worker_attr']]], + ['address_5flength_4',['address_length',['../group___u_c_p___w_o_r_k_e_r.html#a7b0ad8e7e5c8d4c4c4931e769ca0fe6f',1,'ucp_worker_attr']]], + ['addrlen_5',['addrlen',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ac86eaa6362c3345d05c75bb4508ff2f1',1,'ucs_sock_addr']]], + ['advice_6',['advice',['../group___u_c_p___m_e_m.html#a26833bd101fcb6b4c1024b2975aed5dc',1,'ucp_mem_advise_params']]], + ['alloc_5flength_7',['alloc_length',['../group___u_c_t___m_d.html#aea0d8373ac6c6d4a17eb15627a10b33f',1,'uct_md_mem_attr']]], + ['am_5falign_5foffset_8',['am_align_offset',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a119e07151f7cfc215fdf86724cccf1f9',1,'uct_iface_params']]], + ['am_5falignment_9',['am_alignment',['../group___u_c_p___w_o_r_k_e_r.html#aab378fafe0b474381edbe25023910eb4',1,'ucp_worker_params::am_alignment()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a578571513991a26e7d0331b439968948',1,'uct_iface_params::am_alignment()']]], + ['arg_10',['arg',['../group___u_c_p___w_o_r_k_e_r.html#ae1670a4926d8528fb1ec1cd3f461f13a',1,'ucp_am_handler_param::arg()'],['../group___u_c_p___w_o_r_k_e_r.html#a05ba12e5d6e6c2b3caef35975644ce85',1,'ucp_listener_accept_handler::arg()'],['../group___u_c_p___c_o_m_m.html#a7e49e1843e1adab5561e5fc2b2e1afb1',1,'ucp_err_handler::arg()'],['../group___u_c_p___w_o_r_k_e_r.html#ae84882c5fbe486b118460662afe395ec',1,'ucp_listener_conn_handler::arg()'],['../namespace_3global_scope_4.html#a58d44a6931525b739c8dd932f369d917',1,'ucs_callbackq_elem::arg()']]], + ['array_11',['array',['../namespace_3global_scope_4.html#a03eca40e3a768d33654ae128d60df93b',1,'ucs_config_allow_list_t']]], + ['async_5fevent_5farg_12',['async_event_arg',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a678662e17ae32ca245a45d449ea497f0',1,'uct_iface_params']]], + ['async_5fevent_5fcb_13',['async_event_cb',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ab15b293126224a46cd25af411f75d39b',1,'uct_iface_params']]] +]; diff --git a/api/v1.13/html/search/all_1.html b/api/v1.13/html/search/all_1.html new file mode 100644 index 00000000000..8eb215b900e --- /dev/null +++ b/api/v1.13/html/search/all_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_1.js b/api/v1.13/html/search/all_1.js new file mode 100644 index 00000000000..969003917bd --- /dev/null +++ b/api/v1.13/html/search/all_1.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['backlog_14',['backlog',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a31658aea3303489537ffd68ecbd52f9c',1,'uct_listener_params']]], + ['bandwidth_15',['bandwidth',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a6a9bab4b671c0d0da959c98a4b3ab7ac',1,'uct_iface_attr']]], + ['base_5faddress_16',['base_address',['../group___u_c_t___m_d.html#a18678799e605b7caa7cca03e6a5ba368',1,'uct_md_mem_attr']]], + ['buffer_17',['buffer',['../group___u_c_p___d_a_t_a_t_y_p_e.html#a6cf4c47c33d61c097226b570a470f10c',1,'ucp_dt_iov::buffer()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a315a759f0ec81b26fcba7530e43d9149',1,'uct_iov::buffer()']]] +]; diff --git a/api/v1.13/html/search/all_10.html b/api/v1.13/html/search/all_10.html new file mode 100644 index 00000000000..6fd3a4aa2a5 --- /dev/null +++ b/api/v1.13/html/search/all_10.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_10.js b/api/v1.13/html/search/all_10.js new file mode 100644 index 00000000000..f636fb5de24 --- /dev/null +++ b/api/v1.13/html/search/all_10.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['tag_5fconsumed_5fcb_142',['tag_consumed_cb',['../structuct__tag__context.html#a860b64e8963cbf48fb192045ec2d6689',1,'uct_tag_context']]], + ['tag_5fsender_5fmask_143',['tag_sender_mask',['../group___u_c_p___c_o_n_f_i_g.html#a82241de012d49800d2b75bd982f9b6b6',1,'ucp_params']]], + ['thread_5fmode_144',['thread_mode',['../group___u_c_p___c_o_n_t_e_x_t.html#a4bc884428c16540d5d1b1f56881eb80b',1,'ucp_context_attr::thread_mode()'],['../group___u_c_p___w_o_r_k_e_r.html#abf2b8b0c74946fbd1791a21369236678',1,'ucp_worker_attr::thread_mode()'],['../group___u_c_p___w_o_r_k_e_r.html#a790642ea681ddd2b0935ad62f70e4ef1',1,'ucp_worker_params::thread_mode()']]], + ['tl_5fname_145',['tl_name',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a97eefc21494ace8e0ca2598eb8085001',1,'uct_tl_resource_desc']]], + ['type_146',['type',['../group___u_c_t___m_d.html#ae9d6a73b93fa47d853ff2180fbd273b2',1,'uct_rkey_bundle']]] +]; diff --git a/api/v1.13/html/search/all_11.html b/api/v1.13/html/search/all_11.html new file mode 100644 index 00000000000..f78343b9bca --- /dev/null +++ b/api/v1.13/html/search/all_11.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_11.js b/api/v1.13/html/search/all_11.js new file mode 100644 index 00000000000..caf5ff9eae8 --- /dev/null +++ b/api/v1.13/html/search/all_11.js @@ -0,0 +1,883 @@ +var searchData= +[ + ['ucp_5faddress_5ft_147',['ucp_address_t',['../group___u_c_p___w_o_r_k_e_r.html#ga7d24d2759c1375bf4d2d639e3b701956',1,'ucp_def.h']]], + ['ucp_5fam_5fcallback_5ft_148',['ucp_am_callback_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gad61809eb62935c7f2e301fcb47c01727',1,'ucp_def.h']]], + ['ucp_5fam_5fcb_5fflags_149',['ucp_am_cb_flags',['../group___u_c_p___w_o_r_k_e_r.html#ga41d5b7b408c7546c7cb8b38d72f8653f',1,'ucp.h']]], + ['ucp_5fam_5fdata_5frelease_150',['ucp_am_data_release',['../group___u_c_p___c_o_m_m.html#ga45570903fc3ce01e7e5c0cd241f516f9',1,'ucp.h']]], + ['ucp_5fam_5fflag_5fpersistent_5fdata_151',['UCP_AM_FLAG_PERSISTENT_DATA',['../group___u_c_p___w_o_r_k_e_r.html#gga41d5b7b408c7546c7cb8b38d72f8653faa15bbd02f0d9e0afd2e979b89669fbe2',1,'ucp.h']]], + ['ucp_5fam_5fflag_5fwhole_5fmsg_152',['UCP_AM_FLAG_WHOLE_MSG',['../group___u_c_p___w_o_r_k_e_r.html#gga41d5b7b408c7546c7cb8b38d72f8653fab8e0a400e8017b571682b853c8ff0559',1,'ucp.h']]], + ['ucp_5fam_5fhandler_5fparam_153',['ucp_am_handler_param',['../group___u_c_p___w_o_r_k_e_r.html#structucp__am__handler__param',1,'']]], + ['ucp_5fam_5fhandler_5fparam_5ffield_154',['ucp_am_handler_param_field',['../group___u_c_p___c_o_m_m.html#gaeae021145933ffa033b8327bb7bf2533',1,'ucp.h']]], + ['ucp_5fam_5fhandler_5fparam_5ffield_5farg_155',['UCP_AM_HANDLER_PARAM_FIELD_ARG',['../group___u_c_p___c_o_m_m.html#ggaeae021145933ffa033b8327bb7bf2533a23622f1a9046a0b59d1519732e2b73ff',1,'ucp.h']]], + ['ucp_5fam_5fhandler_5fparam_5ffield_5fcb_156',['UCP_AM_HANDLER_PARAM_FIELD_CB',['../group___u_c_p___c_o_m_m.html#ggaeae021145933ffa033b8327bb7bf2533a6c2a2d3fe9c7118d3513833ad452cb69',1,'ucp.h']]], + ['ucp_5fam_5fhandler_5fparam_5ffield_5fflags_157',['UCP_AM_HANDLER_PARAM_FIELD_FLAGS',['../group___u_c_p___c_o_m_m.html#ggaeae021145933ffa033b8327bb7bf2533a99854985610ec532f0c83e36b3cadb3d',1,'ucp.h']]], + ['ucp_5fam_5fhandler_5fparam_5ffield_5fid_158',['UCP_AM_HANDLER_PARAM_FIELD_ID',['../group___u_c_p___c_o_m_m.html#ggaeae021145933ffa033b8327bb7bf2533a4b9788659b793630cee9bc027add35ad',1,'ucp.h']]], + ['ucp_5fam_5fhandler_5fparam_5ft_159',['ucp_am_handler_param_t',['../group___u_c_p___w_o_r_k_e_r.html#ga1e2efca405d525b094ad49e38d80269b',1,'ucp.h']]], + ['ucp_5fam_5frecv_5fattr_5ffield_5freply_5fep_160',['UCP_AM_RECV_ATTR_FIELD_REPLY_EP',['../group___u_c_p___c_o_m_m.html#gga487a3c588a11e42b9f313f0c9e2ead3ba7a4057be7a4cc3bba470da4f8ed63259',1,'ucp.h']]], + ['ucp_5fam_5frecv_5fattr_5fflag_5fdata_161',['UCP_AM_RECV_ATTR_FLAG_DATA',['../group___u_c_p___c_o_m_m.html#gga487a3c588a11e42b9f313f0c9e2ead3baf77ecce2987e81bf773a48363767b77e',1,'ucp.h']]], + ['ucp_5fam_5frecv_5fattr_5fflag_5frndv_162',['UCP_AM_RECV_ATTR_FLAG_RNDV',['../group___u_c_p___c_o_m_m.html#gga487a3c588a11e42b9f313f0c9e2ead3baf9a8d75af5b826d7563863591a98714f',1,'ucp.h']]], + ['ucp_5fam_5frecv_5fattr_5ft_163',['ucp_am_recv_attr_t',['../group___u_c_p___c_o_m_m.html#ga487a3c588a11e42b9f313f0c9e2ead3b',1,'ucp.h']]], + ['ucp_5fam_5frecv_5fcallback_5ft_164',['ucp_am_recv_callback_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gab3adc96222b05543c6cba8c28c16703b',1,'ucp_def.h']]], + ['ucp_5fam_5frecv_5fdata_5fnbx_165',['ucp_am_recv_data_nbx',['../group___u_c_p___c_o_m_m.html#gaefaaa5e0a154efe496ae5bb7f2bf71f3',1,'ucp.h']]], + ['ucp_5fam_5frecv_5fdata_5fnbx_5fcallback_5ft_166',['ucp_am_recv_data_nbx_callback_t',['../group___u_c_p___c_o_m_m.html#ga242399982563973351591516039dd74b',1,'ucp_def.h']]], + ['ucp_5fam_5frecv_5fparam_167',['ucp_am_recv_param',['../group___u_c_p___w_o_r_k_e_r.html#structucp__am__recv__param',1,'']]], + ['ucp_5fam_5frecv_5fparam_5ft_168',['ucp_am_recv_param_t',['../group___u_c_p___w_o_r_k_e_r.html#ga435d870d0afb413f0bc780809f1db2ef',1,'ucp_def.h']]], + ['ucp_5fam_5fsend_5fflag_5feager_169',['UCP_AM_SEND_FLAG_EAGER',['../group___u_c_p___w_o_r_k_e_r.html#gga583228e89cd5c882025ed04c76106aa6af29f97eb0938984f627be7989c35079c',1,'ucp.h']]], + ['ucp_5fam_5fsend_5fflag_5freply_170',['UCP_AM_SEND_FLAG_REPLY',['../group___u_c_p___w_o_r_k_e_r.html#gga583228e89cd5c882025ed04c76106aa6ace99c327865c6f2294f800099d467b16',1,'ucp.h']]], + ['ucp_5fam_5fsend_5fflag_5frndv_171',['UCP_AM_SEND_FLAG_RNDV',['../group___u_c_p___w_o_r_k_e_r.html#gga583228e89cd5c882025ed04c76106aa6a3174d72844f5488bee9e0b35c75f68e5',1,'ucp.h']]], + ['ucp_5fam_5fsend_5fnb_172',['ucp_am_send_nb',['../group___u_c_p___c_o_m_m.html#ga94ec21811930b6b6fb8eab500b8c730d',1,'ucp.h']]], + ['ucp_5fam_5fsend_5fnbx_173',['ucp_am_send_nbx',['../group___u_c_p___c_o_m_m.html#ga4b8ab214f35828ee4608d73442e8c372',1,'ucp.h']]], + ['ucp_5fam_5fsend_5freply_174',['UCP_AM_SEND_REPLY',['../group___u_c_p___w_o_r_k_e_r.html#gga583228e89cd5c882025ed04c76106aa6a1794c5ef851a147688d783532f1ec7bb',1,'ucp.h']]], + ['unified_20communication_20protocol_20_28ucp_29_20api_175',['Unified Communication Protocol (UCP) API',['../group___u_c_p___a_p_i.html',1,'']]], + ['ucp_5fatomic_5fadd32_176',['ucp_atomic_add32',['../group___u_c_p___c_o_m_m.html#gaa042d7e76314e1d7ea9717d4adacde7b',1,'ucp_compat.h']]], + ['ucp_5fatomic_5fadd64_177',['ucp_atomic_add64',['../group___u_c_p___c_o_m_m.html#gaa80cd3f104b920c0c2f6bf7cff50fc15',1,'ucp_compat.h']]], + ['ucp_5fatomic_5fcswap32_178',['ucp_atomic_cswap32',['../group___u_c_p___c_o_m_m.html#ga6078dddaa93c8dfdab3c18014064f0c0',1,'ucp_compat.h']]], + ['ucp_5fatomic_5fcswap64_179',['ucp_atomic_cswap64',['../group___u_c_p___c_o_m_m.html#gafa365c16d4c2b4fd2aba6e94fec2c92b',1,'ucp_compat.h']]], + ['ucp_5fatomic_5ffadd32_180',['ucp_atomic_fadd32',['../group___u_c_p___c_o_m_m.html#ga0c777d7d1c59e01151ef5e3fcd7e5b94',1,'ucp_compat.h']]], + ['ucp_5fatomic_5ffadd64_181',['ucp_atomic_fadd64',['../group___u_c_p___c_o_m_m.html#ga7435bc5d5e2c4fb6b491d457ab65596b',1,'ucp_compat.h']]], + ['ucp_5fatomic_5ffetch_5fnb_182',['ucp_atomic_fetch_nb',['../group___u_c_p___c_o_m_m.html#ga43a1a4a517797eb8c5c96ac8841437de',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5fcswap_183',['UCP_ATOMIC_FETCH_OP_CSWAP',['../group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55adc79d547543b1803dace41a6bdea043c',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5ffadd_184',['UCP_ATOMIC_FETCH_OP_FADD',['../group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55ae7540b3c7046a454f750f816bdfa1037',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5ffand_185',['UCP_ATOMIC_FETCH_OP_FAND',['../group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55a072b82e2e35a90b7ed3e113423e6d5e3',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5ffor_186',['UCP_ATOMIC_FETCH_OP_FOR',['../group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55a2b0b3779905ea67eea996ae8e296ed59',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5ffxor_187',['UCP_ATOMIC_FETCH_OP_FXOR',['../group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55a86930c2cddc0a884cbf88ced6c330049',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5flast_188',['UCP_ATOMIC_FETCH_OP_LAST',['../group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55a2532883ac97f4ee8178b52318f978a05',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5fswap_189',['UCP_ATOMIC_FETCH_OP_SWAP',['../group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55ad5a1d6d5e5cb563b477258a4656c9069',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5ft_190',['ucp_atomic_fetch_op_t',['../group___u_c_p___c_o_m_m.html#gabd91e0300a53e38d28dbb53dfbb66c55',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5fadd_191',['UCP_ATOMIC_OP_ADD',['../group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380a9386a4cc004f74e89bb069096ff1e43b',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5fand_192',['UCP_ATOMIC_OP_AND',['../group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380adf96b275090535fca4d7c1bedaef7da3',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5fcswap_193',['UCP_ATOMIC_OP_CSWAP',['../group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380ae5da2927554be21b16aa65f9e46f762a',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5flast_194',['UCP_ATOMIC_OP_LAST',['../group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380a0983496b62f2d28cf043966793c6bb0b',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5fnbx_195',['ucp_atomic_op_nbx',['../group___u_c_p___c_o_m_m.html#ga087e2cad02e84cf1230684362562aa46',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5for_196',['UCP_ATOMIC_OP_OR',['../group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380abf085a4df55bbd6109e3fb849e0d123e',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5fswap_197',['UCP_ATOMIC_OP_SWAP',['../group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380af72a4149b8c55e187bdfdcbd8d201eeb',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5ft_198',['ucp_atomic_op_t',['../group___u_c_p___c_o_m_m.html#ga5c2ee7516e48146c044e3d9e2a2ed380',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5fxor_199',['UCP_ATOMIC_OP_XOR',['../group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380ac723509b3a97de7b43d1736bf9d79243',1,'ucp.h']]], + ['ucp_5fatomic_5fpost_200',['ucp_atomic_post',['../group___u_c_p___c_o_m_m.html#ga839312fb4de5e786daacb4fa071d61df',1,'ucp.h']]], + ['ucp_5fatomic_5fpost_5fop_5fadd_201',['UCP_ATOMIC_POST_OP_ADD',['../group___u_c_p___c_o_m_m.html#ggac5d94ea07dc4feae2708e67378ba2ad0ac9bbe0e18afb3ffc3f308feb0a2343c0',1,'ucp.h']]], + ['ucp_5fatomic_5fpost_5fop_5fand_202',['UCP_ATOMIC_POST_OP_AND',['../group___u_c_p___c_o_m_m.html#ggac5d94ea07dc4feae2708e67378ba2ad0a429b49ede714d04c4675a6e3966964e4',1,'ucp.h']]], + ['ucp_5fatomic_5fpost_5fop_5flast_203',['UCP_ATOMIC_POST_OP_LAST',['../group___u_c_p___c_o_m_m.html#ggac5d94ea07dc4feae2708e67378ba2ad0a97ee6dd65f14dc12791831435329c38d',1,'ucp.h']]], + ['ucp_5fatomic_5fpost_5fop_5for_204',['UCP_ATOMIC_POST_OP_OR',['../group___u_c_p___c_o_m_m.html#ggac5d94ea07dc4feae2708e67378ba2ad0afddd2f7287b622caf220503a6ae38460',1,'ucp.h']]], + ['ucp_5fatomic_5fpost_5fop_5ft_205',['ucp_atomic_post_op_t',['../group___u_c_p___c_o_m_m.html#gac5d94ea07dc4feae2708e67378ba2ad0',1,'ucp.h']]], + ['ucp_5fatomic_5fpost_5fop_5fxor_206',['UCP_ATOMIC_POST_OP_XOR',['../group___u_c_p___c_o_m_m.html#ggac5d94ea07dc4feae2708e67378ba2ad0ac498a55f8365e9a0821187367bc2cf89',1,'ucp.h']]], + ['ucp_5fatomic_5fswap32_207',['ucp_atomic_swap32',['../group___u_c_p___c_o_m_m.html#ga43118f9d5e6d8fdfa518887218468bb3',1,'ucp_compat.h']]], + ['ucp_5fatomic_5fswap64_208',['ucp_atomic_swap64',['../group___u_c_p___c_o_m_m.html#gaa2913e345505195a183ccc2583fb4ebc',1,'ucp_compat.h']]], + ['ucp_5fattr_5ffield_5fmemory_5ftypes_209',['UCP_ATTR_FIELD_MEMORY_TYPES',['../group___u_c_p___c_o_n_t_e_x_t.html#gga446a95e55ba52251d2ca4bf61ff916bfa13fe8e11d8c372a446e00cf559c78b88',1,'ucp.h']]], + ['ucp_5fattr_5ffield_5fname_210',['UCP_ATTR_FIELD_NAME',['../group___u_c_p___c_o_n_t_e_x_t.html#gga446a95e55ba52251d2ca4bf61ff916bfa35fd67165561f70728f6ec1c8e53ff80',1,'ucp.h']]], + ['ucp_5fattr_5ffield_5frequest_5fsize_211',['UCP_ATTR_FIELD_REQUEST_SIZE',['../group___u_c_p___c_o_n_t_e_x_t.html#gga446a95e55ba52251d2ca4bf61ff916bfa84237b8beaee9aff1013ae6b87721ce2',1,'ucp.h']]], + ['ucp_5fattr_5ffield_5fthread_5fmode_212',['UCP_ATTR_FIELD_THREAD_MODE',['../group___u_c_p___c_o_n_t_e_x_t.html#gga446a95e55ba52251d2ca4bf61ff916bfab5f79c9d9c309562d4e7edb60e5855d6',1,'ucp.h']]], + ['ucp_5fcb_5fparam_5fflag_5fdata_213',['UCP_CB_PARAM_FLAG_DATA',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga4a9af9e36e3256933869d6699be25874a55d40d13674830156e15f6b6289b0d12',1,'ucp.h']]], + ['ucp_5fcb_5fparam_5fflags_214',['ucp_cb_param_flags',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga4a9af9e36e3256933869d6699be25874',1,'ucp.h']]], + ['ucp_5fcleanup_215',['ucp_cleanup',['../group___u_c_p___c_o_n_t_e_x_t.html#gaaa7a90069ad6e0f3e227402db265299e',1,'ucp.h']]], + ['ucp_20communication_20routines_216',['UCP Communication routines',['../group___u_c_p___c_o_m_m.html',1,'']]], + ['ucp_20configuration_217',['UCP Configuration',['../group___u_c_p___c_o_n_f_i_g.html',1,'']]], + ['ucp_5fconfig_5fmodify_218',['ucp_config_modify',['../group___u_c_p___c_o_n_f_i_g.html#ga94828d175f4abd87d48b54f32dc74703',1,'ucp.h']]], + ['ucp_5fconfig_5fprint_219',['ucp_config_print',['../group___u_c_p___c_o_n_f_i_g.html#ga52f4d762c9f3a61c98fb7ba95a00809e',1,'ucp.h']]], + ['ucp_5fconfig_5fread_220',['ucp_config_read',['../group___u_c_p___c_o_n_f_i_g.html#gab2a5bd39a60f5326771c7a46f5f93319',1,'ucp.h']]], + ['ucp_5fconfig_5frelease_221',['ucp_config_release',['../group___u_c_p___c_o_n_f_i_g.html#ga12d1b29c55e927a22de92431efa0d82a',1,'ucp.h']]], + ['ucp_5fconfig_5ft_222',['ucp_config_t',['../group___u_c_p___c_o_n_f_i_g.html#gab4fd46edba365347ef3a5b966c324388',1,'ucp_def.h']]], + ['ucp_5fconn_5frequest_5fattr_223',['ucp_conn_request_attr',['../group___u_c_p___w_o_r_k_e_r.html#structucp__conn__request__attr',1,'']]], + ['ucp_5fconn_5frequest_5fattr_5ffield_224',['ucp_conn_request_attr_field',['../group___u_c_p___w_o_r_k_e_r.html#ga31119b42b06b185822699697bd7a1018',1,'ucp.h']]], + ['ucp_5fconn_5frequest_5fattr_5ffield_5fclient_5faddr_225',['UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ADDR',['../group___u_c_p___w_o_r_k_e_r.html#gga31119b42b06b185822699697bd7a1018a98d3bca4557571d8ccb56ae2d29b2ad6',1,'ucp.h']]], + ['ucp_5fconn_5frequest_5fattr_5ffield_5fclient_5fid_226',['UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ID',['../group___u_c_p___w_o_r_k_e_r.html#gga31119b42b06b185822699697bd7a1018a2dbcf2ed5576bf2721ca550d34361f1d',1,'ucp.h']]], + ['ucp_5fconn_5frequest_5fattr_5ft_227',['ucp_conn_request_attr_t',['../group___u_c_p___w_o_r_k_e_r.html#ga001f8208d0682245878457d65f629091',1,'ucp.h']]], + ['ucp_5fconn_5frequest_5fh_228',['ucp_conn_request_h',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga200570bfa7d3a8b50b2a074aaa22d2ed',1,'ucp_def.h']]], + ['ucp_5fconn_5frequest_5fquery_229',['ucp_conn_request_query',['../group___u_c_p___w_o_r_k_e_r.html#ga440c99f2462ba8201280687a76fd8569',1,'ucp.h']]], + ['ucp_20application_20context_230',['UCP Application Context',['../group___u_c_p___c_o_n_t_e_x_t.html',1,'']]], + ['ucp_5fcontext_5fattr_231',['ucp_context_attr',['../group___u_c_p___c_o_n_t_e_x_t.html#structucp__context__attr',1,'']]], + ['ucp_5fcontext_5fattr_5ffield_232',['ucp_context_attr_field',['../group___u_c_p___c_o_n_t_e_x_t.html#ga446a95e55ba52251d2ca4bf61ff916bf',1,'ucp.h']]], + ['ucp_5fcontext_5fattr_5ft_233',['ucp_context_attr_t',['../group___u_c_p___c_o_n_t_e_x_t.html#ga64e2a4abc0ad7d1648ce8266de1731c2',1,'ucp.h']]], + ['ucp_5fcontext_5fh_234',['ucp_context_h',['../group___u_c_p___c_o_n_t_e_x_t.html#ga0e40ddc46f0bbe868a13f6ab1b674f76',1,'ucp_def.h']]], + ['ucp_5fcontext_5fprint_5finfo_235',['ucp_context_print_info',['../group___u_c_p___c_o_n_t_e_x_t.html#ga91684cf77b8dc8cbb62af0c3741b36ea',1,'ucp.h']]], + ['ucp_5fcontext_5fquery_236',['ucp_context_query',['../group___u_c_p___c_o_n_t_e_x_t.html#ga3485fb61663f4cc6f32e801654aedcff',1,'ucp.h']]], + ['ucp_20data_20type_20routines_237',['UCP Data type routines',['../group___u_c_p___d_a_t_a_t_y_p_e.html',1,'']]], + ['ucp_5fdatatype_5fclass_5fmask_238',['UCP_DATATYPE_CLASS_MASK',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6ca63ddce22a2292935f40122def246ffa8',1,'ucp.h']]], + ['ucp_5fdatatype_5fcontig_239',['UCP_DATATYPE_CONTIG',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6ca42f91fe8586a858f8e6cf9b2b0128048',1,'ucp.h']]], + ['ucp_5fdatatype_5fgeneric_240',['UCP_DATATYPE_GENERIC',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6caeb9bca341a1f16a56bff64f9889a4567',1,'ucp.h']]], + ['ucp_5fdatatype_5fiov_241',['UCP_DATATYPE_IOV',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6ca3b5515fddd08f075a8b74eca562bcb50',1,'ucp.h']]], + ['ucp_5fdatatype_5fshift_242',['UCP_DATATYPE_SHIFT',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6ca5c657c620df6580669917914217b2cda',1,'ucp.h']]], + ['ucp_5fdatatype_5fstrided_243',['UCP_DATATYPE_STRIDED',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6caa6bc9a1df8eb865e71f2b90d3e4d97ad',1,'ucp.h']]], + ['ucp_5fdatatype_5ft_244',['ucp_datatype_t',['../group___u_c_p___c_o_m_m.html#gae461587956dd56a6bc7d67b027845891',1,'ucp_def.h']]], + ['ucp_5fdisconnect_5fnb_245',['ucp_disconnect_nb',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga22cf67f74ae06242cc26e6ca6ecd100b',1,'ucp_compat.h']]], + ['ucp_5fdt_5fcreate_5fgeneric_246',['ucp_dt_create_generic',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gad786aa1a5250b22d4c35d82801aef254',1,'ucp.h']]], + ['ucp_5fdt_5fdestroy_247',['ucp_dt_destroy',['../group___u_c_p___d_a_t_a_t_y_p_e.html#ga00337159ebd75640d55be501b7fcc5e7',1,'ucp.h']]], + ['ucp_5fdt_5fiov_248',['ucp_dt_iov',['../group___u_c_p___d_a_t_a_t_y_p_e.html#structucp__dt__iov',1,'']]], + ['ucp_5fdt_5fiov_5ft_249',['ucp_dt_iov_t',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gab2de4538a9794186e4aa62c055454473',1,'ucp.h']]], + ['ucp_5fdt_5fmake_5fcontig_250',['ucp_dt_make_contig',['../group___u_c_p___d_a_t_a_t_y_p_e.html#ga9a56fc4636094bab740d77f7df70c2b5',1,'ucp.h']]], + ['ucp_5fdt_5fmake_5fiov_251',['ucp_dt_make_iov',['../group___u_c_p___d_a_t_a_t_y_p_e.html#ga8ff6e9f933b306e777d24491ec251d7a',1,'ucp.h']]], + ['ucp_5fdt_5ftype_252',['ucp_dt_type',['../group___u_c_p___d_a_t_a_t_y_p_e.html#ga50b3b4e641a197264e963d91be480b6c',1,'ucp.h']]], + ['ucp_20endpoint_253',['UCP Endpoint',['../group___u_c_p___e_n_d_p_o_i_n_t.html',1,'']]], + ['ucp_5fentity_5fname_5fmax_254',['UCP_ENTITY_NAME_MAX',['../group___u_c_p___c_o_n_t_e_x_t.html#gacbb936da337ac69d01a51e74d2476981',1,'ucp_def.h']]], + ['ucp_5fep_5fattr_255',['ucp_ep_attr',['../group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__attr',1,'']]], + ['ucp_5fep_5fattr_5ffield_256',['ucp_ep_attr_field',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gaa24832a718990ceb558ab5a1d4abfc41',1,'ucp.h']]], + ['ucp_5fep_5fattr_5ffield_5flocal_5fsockaddr_257',['UCP_EP_ATTR_FIELD_LOCAL_SOCKADDR',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggaa24832a718990ceb558ab5a1d4abfc41a1f04baee4cd992c08b62716558eb6013',1,'ucp.h']]], + ['ucp_5fep_5fattr_5ffield_5fname_258',['UCP_EP_ATTR_FIELD_NAME',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggaa24832a718990ceb558ab5a1d4abfc41ac78de8cbed80cdb833a6ae5ddcd270fd',1,'ucp.h']]], + ['ucp_5fep_5fattr_5ffield_5fremote_5fsockaddr_259',['UCP_EP_ATTR_FIELD_REMOTE_SOCKADDR',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggaa24832a718990ceb558ab5a1d4abfc41a2b85f61bc437c3b277e360afaa058bf3',1,'ucp.h']]], + ['ucp_5fep_5fattr_5ft_260',['ucp_ep_attr_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gaf870daeabc3b91d521d9063eb1b1027d',1,'ucp.h']]], + ['ucp_5fep_5fclose_5fflag_5fforce_261',['UCP_EP_CLOSE_FLAG_FORCE',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggacef728a5ee7a11f50794544aa259fe71a5b827bc555062bcba501faa3f40e789b',1,'ucp.h']]], + ['ucp_5fep_5fclose_5fflags_5ft_262',['ucp_ep_close_flags_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gacef728a5ee7a11f50794544aa259fe71',1,'ucp.h']]], + ['ucp_5fep_5fclose_5fmode_263',['ucp_ep_close_mode',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga3be4aa93d76e41c80c780965f2f8ae57',1,'ucp.h']]], + ['ucp_5fep_5fclose_5fmode_5fflush_264',['UCP_EP_CLOSE_MODE_FLUSH',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga3be4aa93d76e41c80c780965f2f8ae57ab0b1f6dcac5f54dff76c87fcf0c55c8b',1,'ucp.h']]], + ['ucp_5fep_5fclose_5fmode_5fforce_265',['UCP_EP_CLOSE_MODE_FORCE',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga3be4aa93d76e41c80c780965f2f8ae57ad78eab8ac29d813247b3cca01c3194db',1,'ucp.h']]], + ['ucp_5fep_5fclose_5fnb_266',['ucp_ep_close_nb',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gaa7293ad4dc72858b2594686d1c553015',1,'ucp.h']]], + ['ucp_5fep_5fclose_5fnbx_267',['ucp_ep_close_nbx',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga6756b434213a424abb0d542fda1d82a1',1,'ucp.h']]], + ['ucp_5fep_5fcreate_268',['ucp_ep_create',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga6cc5ffb2ba1b0ccd510848de0a779f7b',1,'ucp.h']]], + ['ucp_5fep_5fdestroy_269',['ucp_ep_destroy',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gac63b3fe87c001dd965ca42943ea04bb1',1,'ucp_compat.h']]], + ['ucp_5fep_5fevaluate_5fperf_270',['ucp_ep_evaluate_perf',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga654a8402e9a3d657f5226ac4e8866994',1,'ucp.h']]], + ['ucp_5fep_5fevaluate_5fperf_5fattr_5ft_271',['ucp_ep_evaluate_perf_attr_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__evaluate__perf__attr__t',1,'']]], + ['ucp_5fep_5fevaluate_5fperf_5fparam_5ft_272',['ucp_ep_evaluate_perf_param_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__evaluate__perf__param__t',1,'']]], + ['ucp_5fep_5fflush_273',['ucp_ep_flush',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga046d87a26389c7adecd177111a65cd31',1,'ucp_compat.h']]], + ['ucp_5fep_5fflush_5fnb_274',['ucp_ep_flush_nb',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga599c9b9272bfdd662afaa247d8e4dfd6',1,'ucp.h']]], + ['ucp_5fep_5fflush_5fnbx_275',['ucp_ep_flush_nbx',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga28d61bf53320bd0f5d741147447251a4',1,'ucp.h']]], + ['ucp_5fep_5fh_276',['ucp_ep_h',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga9bea4e4174ea25f44285d8e7a9fb7adf',1,'ucp_def.h']]], + ['ucp_5fep_5fmodify_5fnb_277',['ucp_ep_modify_nb',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga034aff7bd27e3b932d4bb7b964db759e',1,'ucp_compat.h']]], + ['ucp_5fep_5fparam_5ffield_5fconn_5frequest_278',['UCP_EP_PARAM_FIELD_CONN_REQUEST',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60a88c2cf7c57a1cddc6b2cf9bcdc99e64e',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5ferr_5fhandler_279',['UCP_EP_PARAM_FIELD_ERR_HANDLER',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60adc6619f5e4bf3f68190f918ee064036d',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5ferr_5fhandling_5fmode_280',['UCP_EP_PARAM_FIELD_ERR_HANDLING_MODE',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60a1b0e70c12efabe6a2cab3c9bc66db340',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5fflags_281',['UCP_EP_PARAM_FIELD_FLAGS',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60a1b53a3d4eaee470bcb3e23c60f1f7794',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5flocal_5fsock_5faddr_282',['UCP_EP_PARAM_FIELD_LOCAL_SOCK_ADDR',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60ade6d1e89c4a39f44f8c088d3e79c59f5',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5fname_283',['UCP_EP_PARAM_FIELD_NAME',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60aad52a9473f7b47dd7dddc43062e16436',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5fremote_5faddress_284',['UCP_EP_PARAM_FIELD_REMOTE_ADDRESS',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60ae1c4a9617dea28b56c486ac357299f4c',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5fsock_5faddr_285',['UCP_EP_PARAM_FIELD_SOCK_ADDR',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60a8149dfb8648b2b248825020c63449a80',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5fuser_5fdata_286',['UCP_EP_PARAM_FIELD_USER_DATA',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60afc6cbbfabd368438e5d6afd36f389d1b',1,'ucp.h']]], + ['ucp_5fep_5fparams_287',['ucp_ep_params',['../group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__params',1,'']]], + ['ucp_5fep_5fparams_5ffield_288',['ucp_ep_params_field',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gabb6ce0b3189f415dadc7f99727751d60',1,'ucp.h']]], + ['ucp_5fep_5fparams_5fflags_5fclient_5fserver_289',['UCP_EP_PARAMS_FLAGS_CLIENT_SERVER',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga4a1f422dc1e81495b4aee1da8939459fad42871a591a0a34bccf5c8203a0b32bb',1,'ucp.h']]], + ['ucp_5fep_5fparams_5fflags_5ffield_290',['ucp_ep_params_flags_field',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga4a1f422dc1e81495b4aee1da8939459f',1,'ucp.h']]], + ['ucp_5fep_5fparams_5fflags_5fno_5floopback_291',['UCP_EP_PARAMS_FLAGS_NO_LOOPBACK',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga4a1f422dc1e81495b4aee1da8939459fa519d4e4a7237ae543f72ddeaef6864ec',1,'ucp.h']]], + ['ucp_5fep_5fparams_5fflags_5fsend_5fclient_5fid_292',['UCP_EP_PARAMS_FLAGS_SEND_CLIENT_ID',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga4a1f422dc1e81495b4aee1da8939459faddc3dea615010520ff2fa9d214eabcd3',1,'ucp.h']]], + ['ucp_5fep_5fparams_5ft_293',['ucp_ep_params_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gae071db9736cd54afebe6f619401c6617',1,'ucp_def.h']]], + ['ucp_5fep_5fperf_5fattr_5ffield_294',['ucp_ep_perf_attr_field',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga806d286165cdbe6d6c63d52b06b16406',1,'ucp.h']]], + ['ucp_5fep_5fperf_5fattr_5ffield_5festimated_5ftime_295',['UCP_EP_PERF_ATTR_FIELD_ESTIMATED_TIME',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga806d286165cdbe6d6c63d52b06b16406a6bfbf6be343cb78ca8bb7ad9c602ad1a',1,'ucp.h']]], + ['ucp_5fep_5fperf_5fattr_5ffield_5ft_296',['ucp_ep_perf_attr_field_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga0e9799a75ca8d6843aea1df455f934cb',1,'ucp.h']]], + ['ucp_5fep_5fperf_5fparam_5ffield_297',['ucp_ep_perf_param_field',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga4abce355cbaf6b31b1aaa88b68154f13',1,'ucp.h']]], + ['ucp_5fep_5fperf_5fparam_5ffield_5fmessage_5fsize_298',['UCP_EP_PERF_PARAM_FIELD_MESSAGE_SIZE',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga4abce355cbaf6b31b1aaa88b68154f13a3d545405c1d0a3fec8050d1f985f3360',1,'ucp.h']]], + ['ucp_5fep_5fperf_5fparam_5ffield_5ft_299',['ucp_ep_perf_param_field_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga9b89513109c87c9118e250dd47560fb5',1,'ucp.h']]], + ['ucp_5fep_5fprint_5finfo_300',['ucp_ep_print_info',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gacc9e967b69f48d6223e921831181f3ee',1,'ucp.h']]], + ['ucp_5fep_5fquery_301',['ucp_ep_query',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga5074a508e2ae53e00d2bd7e728336f30',1,'ucp.h']]], + ['ucp_5fep_5frkey_5funpack_302',['ucp_ep_rkey_unpack',['../group___u_c_p___m_e_m.html#ga92353d1cb038a4e281f0a1973937079d',1,'ucp.h']]], + ['ucp_5ferr_5fhandler_303',['ucp_err_handler',['../group___u_c_p___c_o_m_m.html#structucp__err__handler',1,'']]], + ['ucp_5ferr_5fhandler_5fcb_5ft_304',['ucp_err_handler_cb_t',['../group___u_c_p___c_o_m_m.html#gaf2174ce2b86eb56f6bd4bd62865e87f1',1,'ucp_def.h']]], + ['ucp_5ferr_5fhandler_5ft_305',['ucp_err_handler_t',['../group___u_c_p___c_o_m_m.html#ga66f1988c0a6aa526d57e999b0df4acc4',1,'ucp_def.h']]], + ['ucp_5ferr_5fhandling_5fmode_5fnone_306',['UCP_ERR_HANDLING_MODE_NONE',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga7c69a28724d5ae3e49490e23e64df167a18c7855c2e1dea33e0be32d9ef841ffe',1,'ucp_def.h']]], + ['ucp_5ferr_5fhandling_5fmode_5fpeer_307',['UCP_ERR_HANDLING_MODE_PEER',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga7c69a28724d5ae3e49490e23e64df167aa31630259732e700b6ce0fe612cf0a6f',1,'ucp_def.h']]], + ['ucp_5ferr_5fhandling_5fmode_5ft_308',['ucp_err_handling_mode_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga7c69a28724d5ae3e49490e23e64df167',1,'ucp_def.h']]], + ['ucp_5ffeature_309',['ucp_feature',['../group___u_c_p___c_o_n_t_e_x_t.html#gaca5990bc015e7e9ac3e3be4e3611c5be',1,'ucp.h']]], + ['ucp_5ffeature_5fam_310',['UCP_FEATURE_AM',['../group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5bea685931b9f438fa9a2faaf9eccf47b097',1,'ucp.h']]], + ['ucp_5ffeature_5famo32_311',['UCP_FEATURE_AMO32',['../group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5beab127e1eabe5779ad82bc1ad4c5b47007',1,'ucp.h']]], + ['ucp_5ffeature_5famo64_312',['UCP_FEATURE_AMO64',['../group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5beada4b36191b39ef8615f657d370baead1',1,'ucp.h']]], + ['ucp_5ffeature_5frma_313',['UCP_FEATURE_RMA',['../group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5beaf374a837508d798fb36abd22a7a0a033',1,'ucp.h']]], + ['ucp_5ffeature_5fstream_314',['UCP_FEATURE_STREAM',['../group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5bea0c3896ead0887f9c650b221831e16b5c',1,'ucp.h']]], + ['ucp_5ffeature_5ftag_315',['UCP_FEATURE_TAG',['../group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5bea244187ad85296b3784d302db00f66b9e',1,'ucp.h']]], + ['ucp_5ffeature_5fwakeup_316',['UCP_FEATURE_WAKEUP',['../group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5beabc3fea5aff6b7453e24235bceb102b5a',1,'ucp.h']]], + ['ucp_5fgeneric_5fdt_5fops_317',['ucp_generic_dt_ops',['../structucp__generic__dt__ops.html',1,'']]], + ['ucp_5fgeneric_5fdt_5fops_5ft_318',['ucp_generic_dt_ops_t',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gabece4d5eeeb7f7f22b03dd2fc00e1fdd',1,'ucp.h']]], + ['ucp_5fget_319',['ucp_get',['../group___u_c_p___c_o_m_m.html#gaf4a465cff6c1691106430564899f6f3e',1,'ucp_compat.h']]], + ['ucp_5fget_5fnb_320',['ucp_get_nb',['../group___u_c_p___c_o_m_m.html#ga7cb68811f53a69d37fd16e8ddb46e23b',1,'ucp.h']]], + ['ucp_5fget_5fnbi_321',['ucp_get_nbi',['../group___u_c_p___c_o_m_m.html#gae3597f699227d598651f6630fbd7968b',1,'ucp.h']]], + ['ucp_5fget_5fnbx_322',['ucp_get_nbx',['../group___u_c_p___c_o_m_m.html#gaa06c6521592661a8123c11426074d880',1,'ucp.h']]], + ['ucp_5fget_5fversion_323',['ucp_get_version',['../group___u_c_p___c_o_n_t_e_x_t.html#gae57b8eee6087f5e1d056d8075751042e',1,'ucp.h']]], + ['ucp_5fget_5fversion_5fstring_324',['ucp_get_version_string',['../group___u_c_p___c_o_n_t_e_x_t.html#gad53f3f2fe0e47cf54ac4f41b2687850b',1,'ucp.h']]], + ['ucp_5finit_325',['ucp_init',['../group___u_c_p___c_o_n_t_e_x_t.html#ga3ad3662ebafac88ec666be4caeb76cb2',1,'ucp.h']]], + ['ucp_5flib_5fattr_326',['ucp_lib_attr',['../group___u_c_p___c_o_n_t_e_x_t.html#structucp__lib__attr',1,'']]], + ['ucp_5flib_5fattr_5ffield_327',['ucp_lib_attr_field',['../group___u_c_p___c_o_n_t_e_x_t.html#ga2791b2b44c55fdb685dcd4dad8c8ae3c',1,'ucp.h']]], + ['ucp_5flib_5fattr_5ffield_5fmax_5fthread_5flevel_328',['UCP_LIB_ATTR_FIELD_MAX_THREAD_LEVEL',['../group___u_c_p___c_o_n_t_e_x_t.html#gga2791b2b44c55fdb685dcd4dad8c8ae3ca96a3edd65a30f00765d330342d3c1267',1,'ucp.h']]], + ['ucp_5flib_5fattr_5ft_329',['ucp_lib_attr_t',['../group___u_c_p___c_o_n_t_e_x_t.html#ga0b1aa9a567a689ccc7bd9848c2bc0ba1',1,'ucp.h']]], + ['ucp_5flib_5fquery_330',['ucp_lib_query',['../group___u_c_p___c_o_n_t_e_x_t.html#ga4f8c11637791304bd7fcc9aceafbb1dd',1,'ucp.h']]], + ['ucp_5flistener_5faccept_5fcallback_5ft_331',['ucp_listener_accept_callback_t',['../group___u_c_p___w_o_r_k_e_r.html#ga9a1d61f9a3c1fd97c008dd77ae86c02c',1,'ucp_def.h']]], + ['ucp_5flistener_5faccept_5fhandler_332',['ucp_listener_accept_handler',['../group___u_c_p___w_o_r_k_e_r.html#structucp__listener__accept__handler',1,'']]], + ['ucp_5flistener_5faccept_5fhandler_5ft_333',['ucp_listener_accept_handler_t',['../group___u_c_p___w_o_r_k_e_r.html#ga6b4950841b36dfddd268fcb2cce2a52c',1,'ucp_compat.h']]], + ['ucp_5flistener_5fattr_334',['ucp_listener_attr',['../group___u_c_p___w_o_r_k_e_r.html#structucp__listener__attr',1,'']]], + ['ucp_5flistener_5fattr_5ffield_335',['ucp_listener_attr_field',['../group___u_c_p___w_o_r_k_e_r.html#ga54059507b51041359aedffbe75635720',1,'ucp.h']]], + ['ucp_5flistener_5fattr_5ffield_5fsockaddr_336',['UCP_LISTENER_ATTR_FIELD_SOCKADDR',['../group___u_c_p___w_o_r_k_e_r.html#gga54059507b51041359aedffbe75635720a5a58fea3f5a4daa6b055306a6798ec26',1,'ucp.h']]], + ['ucp_5flistener_5fattr_5ft_337',['ucp_listener_attr_t',['../group___u_c_p___w_o_r_k_e_r.html#gaa8d7abc94888383e95d19067a78ecb1e',1,'ucp.h']]], + ['ucp_5flistener_5fconn_5fcallback_5ft_338',['ucp_listener_conn_callback_t',['../group___u_c_p___w_o_r_k_e_r.html#ga389a8cfa253f87eb9d8cc7b8d4747c82',1,'ucp_def.h']]], + ['ucp_5flistener_5fconn_5fhandler_339',['ucp_listener_conn_handler',['../group___u_c_p___w_o_r_k_e_r.html#structucp__listener__conn__handler',1,'']]], + ['ucp_5flistener_5fconn_5fhandler_5ft_340',['ucp_listener_conn_handler_t',['../group___u_c_p___w_o_r_k_e_r.html#gaec337bd9fcab44386c01f76699010b63',1,'ucp_def.h']]], + ['ucp_5flistener_5fcreate_341',['ucp_listener_create',['../group___u_c_p___w_o_r_k_e_r.html#ga7a8943f89a7b49c1f1abc562fb5178ad',1,'ucp.h']]], + ['ucp_5flistener_5fdestroy_342',['ucp_listener_destroy',['../group___u_c_p___w_o_r_k_e_r.html#gae45c609cd659bdd0e205d30627b7af21',1,'ucp.h']]], + ['ucp_5flistener_5fh_343',['ucp_listener_h',['../group___u_c_p___w_o_r_k_e_r.html#gac0496f7102c43cf339cc760b9e5724a2',1,'ucp_def.h']]], + ['ucp_5flistener_5fparam_5ffield_5faccept_5fhandler_344',['UCP_LISTENER_PARAM_FIELD_ACCEPT_HANDLER',['../group___u_c_p___w_o_r_k_e_r.html#gga36d95269fcce844261494cbd4f5e26fca3cdf187536d998c115377f8de396ac66',1,'ucp.h']]], + ['ucp_5flistener_5fparam_5ffield_5fconn_5fhandler_345',['UCP_LISTENER_PARAM_FIELD_CONN_HANDLER',['../group___u_c_p___w_o_r_k_e_r.html#gga36d95269fcce844261494cbd4f5e26fca6f28cd3c96e0ada4fafc63d6f67e48bc',1,'ucp.h']]], + ['ucp_5flistener_5fparam_5ffield_5fsock_5faddr_346',['UCP_LISTENER_PARAM_FIELD_SOCK_ADDR',['../group___u_c_p___w_o_r_k_e_r.html#gga36d95269fcce844261494cbd4f5e26fca0eed5ab19654fabc0afceb5b439c6f05',1,'ucp.h']]], + ['ucp_5flistener_5fparams_347',['ucp_listener_params',['../group___u_c_p___w_o_r_k_e_r.html#structucp__listener__params',1,'']]], + ['ucp_5flistener_5fparams_5ffield_348',['ucp_listener_params_field',['../group___u_c_p___w_o_r_k_e_r.html#ga36d95269fcce844261494cbd4f5e26fc',1,'ucp.h']]], + ['ucp_5flistener_5fparams_5ft_349',['ucp_listener_params_t',['../group___u_c_p___w_o_r_k_e_r.html#ga440ab104a3ed59271948a28d6eb1f224',1,'ucp.h']]], + ['ucp_5flistener_5fquery_350',['ucp_listener_query',['../group___u_c_p___w_o_r_k_e_r.html#ga785a8cc6adab6c01bb2354a38bcd9928',1,'ucp.h']]], + ['ucp_5flistener_5freject_351',['ucp_listener_reject',['../group___u_c_p___w_o_r_k_e_r.html#ga1f1620fdbae11ea076875fd6ac644241',1,'ucp.h']]], + ['ucp_5fmadv_5fnormal_352',['UCP_MADV_NORMAL',['../group___u_c_p___m_e_m.html#gga1a73c4a7fc1d8a6d75e6b53256eec0b8a3a335aa51dc934e57f4ccbd26fb32fb0',1,'ucp.h']]], + ['ucp_5fmadv_5fwillneed_353',['UCP_MADV_WILLNEED',['../group___u_c_p___m_e_m.html#gga1a73c4a7fc1d8a6d75e6b53256eec0b8a882711eaac0fe1172570783e9824e12f',1,'ucp.h']]], + ['ucp_20memory_20routines_354',['UCP Memory routines',['../group___u_c_p___m_e_m.html',1,'']]], + ['ucp_5fmem_5fadvice_355',['ucp_mem_advice',['../group___u_c_p___m_e_m.html#ga1a73c4a7fc1d8a6d75e6b53256eec0b8',1,'ucp.h']]], + ['ucp_5fmem_5fadvice_5ft_356',['ucp_mem_advice_t',['../group___u_c_p___m_e_m.html#ga54153fa56291a9c0cb149029e23e85d1',1,'ucp.h']]], + ['ucp_5fmem_5fadvise_357',['ucp_mem_advise',['../group___u_c_p___m_e_m.html#ga455313831b8734fe1a824109c3ffc588',1,'ucp.h']]], + ['ucp_5fmem_5fadvise_5fparam_5ffield_5faddress_358',['UCP_MEM_ADVISE_PARAM_FIELD_ADDRESS',['../group___u_c_p___m_e_m.html#gga3c0f7ca217c77fa0ae8649e21b24a1fca19cd431b1a46a62abaf904d0358ffaad',1,'ucp.h']]], + ['ucp_5fmem_5fadvise_5fparam_5ffield_5fadvice_359',['UCP_MEM_ADVISE_PARAM_FIELD_ADVICE',['../group___u_c_p___m_e_m.html#gga3c0f7ca217c77fa0ae8649e21b24a1fca8834ee80833e5509eea118807dc1a213',1,'ucp.h']]], + ['ucp_5fmem_5fadvise_5fparam_5ffield_5flength_360',['UCP_MEM_ADVISE_PARAM_FIELD_LENGTH',['../group___u_c_p___m_e_m.html#gga3c0f7ca217c77fa0ae8649e21b24a1fcac60bdd12018a716587c71883ae408b60',1,'ucp.h']]], + ['ucp_5fmem_5fadvise_5fparams_361',['ucp_mem_advise_params',['../group___u_c_p___m_e_m.html#structucp__mem__advise__params',1,'']]], + ['ucp_5fmem_5fadvise_5fparams_5ffield_362',['ucp_mem_advise_params_field',['../group___u_c_p___m_e_m.html#ga3c0f7ca217c77fa0ae8649e21b24a1fc',1,'ucp.h']]], + ['ucp_5fmem_5fadvise_5fparams_5ft_363',['ucp_mem_advise_params_t',['../group___u_c_p___m_e_m.html#ga3bbc14ac42d6465b98e9b63107d9f6be',1,'ucp.h']]], + ['ucp_5fmem_5fattr_364',['ucp_mem_attr',['../group___u_c_p___m_e_m.html#structucp__mem__attr',1,'']]], + ['ucp_5fmem_5fattr_5ffield_365',['ucp_mem_attr_field',['../group___u_c_p___m_e_m.html#gab0d7a54391c964c59b2cfbf30e23dc14',1,'ucp_def.h']]], + ['ucp_5fmem_5fattr_5ffield_5faddress_366',['UCP_MEM_ATTR_FIELD_ADDRESS',['../group___u_c_p___m_e_m.html#ggab0d7a54391c964c59b2cfbf30e23dc14a7255d71b73495f3466b2b3938f85630f',1,'ucp_def.h']]], + ['ucp_5fmem_5fattr_5ffield_5flength_367',['UCP_MEM_ATTR_FIELD_LENGTH',['../group___u_c_p___m_e_m.html#ggab0d7a54391c964c59b2cfbf30e23dc14aaf7684459badd65a4e70a65813ae1e35',1,'ucp_def.h']]], + ['ucp_5fmem_5fattr_5ffield_5fmem_5ftype_368',['UCP_MEM_ATTR_FIELD_MEM_TYPE',['../group___u_c_p___m_e_m.html#ggab0d7a54391c964c59b2cfbf30e23dc14a97c63bcd6332d0556e4439bc65531116',1,'ucp_def.h']]], + ['ucp_5fmem_5fattr_5ft_369',['ucp_mem_attr_t',['../group___u_c_p___m_e_m.html#ga501b036afde29169c2f9472f532d3355',1,'ucp_def.h']]], + ['ucp_5fmem_5fh_370',['ucp_mem_h',['../group___u_c_p___m_e_m.html#gacf61d6417524329d75f239d3f2ea8d3b',1,'ucp_def.h']]], + ['ucp_5fmem_5fmap_371',['ucp_mem_map',['../group___u_c_p___m_e_m.html#ga1af508a609cc7f2cebf4b33f9ee6ac66',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fallocate_372',['UCP_MEM_MAP_ALLOCATE',['../group___u_c_p___m_e_m.html#gga06fc87d81c62e9abb8790b6e5713c55ba8cb2c18c15da7e8da9aa2de5b407957a',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5ffixed_373',['UCP_MEM_MAP_FIXED',['../group___u_c_p___m_e_m.html#gga06fc87d81c62e9abb8790b6e5713c55ba937051276d5a7825211189c84d7f2922',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fnonblock_374',['UCP_MEM_MAP_NONBLOCK',['../group___u_c_p___m_e_m.html#gga06fc87d81c62e9abb8790b6e5713c55ba31fa3f795110becccb25734067b5e203',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fparam_5ffield_5faddress_375',['UCP_MEM_MAP_PARAM_FIELD_ADDRESS',['../group___u_c_p___m_e_m.html#gga1b78010c24c834aadc9fb8f1083e226faa3ddd6c11c7610ae3c97fcb4473d9332',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fparam_5ffield_5fflags_376',['UCP_MEM_MAP_PARAM_FIELD_FLAGS',['../group___u_c_p___m_e_m.html#gga1b78010c24c834aadc9fb8f1083e226fafc2e699ec811b6848bfc40d4a6c1b049',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fparam_5ffield_5flength_377',['UCP_MEM_MAP_PARAM_FIELD_LENGTH',['../group___u_c_p___m_e_m.html#gga1b78010c24c834aadc9fb8f1083e226faa4aa7e36cd51262837f9179cb74fb22a',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fparam_5ffield_5fmemory_5ftype_378',['UCP_MEM_MAP_PARAM_FIELD_MEMORY_TYPE',['../group___u_c_p___m_e_m.html#gga1b78010c24c834aadc9fb8f1083e226fab5d6cd1e76f334a4ae5d10d5955d51b7',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fparam_5ffield_5fprot_379',['UCP_MEM_MAP_PARAM_FIELD_PROT',['../group___u_c_p___m_e_m.html#gga1b78010c24c834aadc9fb8f1083e226fa349ca907322a708479795afef1fe28ff',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fparams_380',['ucp_mem_map_params',['../group___u_c_p___m_e_m.html#structucp__mem__map__params',1,'']]], + ['ucp_5fmem_5fmap_5fparams_5ffield_381',['ucp_mem_map_params_field',['../group___u_c_p___m_e_m.html#ga1b78010c24c834aadc9fb8f1083e226f',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fparams_5ft_382',['ucp_mem_map_params_t',['../group___u_c_p___m_e_m.html#ga1651ea0d7b1db95a8f9683c24ecc5f37',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fprot_5flocal_5fread_383',['UCP_MEM_MAP_PROT_LOCAL_READ',['../group___u_c_p___m_e_m.html#ggadf764cbdea00d65edcd07bb9953ad2b7a78c92c33fb131e7084b6a2933632ec17',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fprot_5flocal_5fwrite_384',['UCP_MEM_MAP_PROT_LOCAL_WRITE',['../group___u_c_p___m_e_m.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6961fd2dcb7ff1fd5980f2d09bb40c39',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fprot_5fremote_5fread_385',['UCP_MEM_MAP_PROT_REMOTE_READ',['../group___u_c_p___m_e_m.html#ggadf764cbdea00d65edcd07bb9953ad2b7a2dc03b7f80ce18c5ec948d1039342bdb',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fprot_5fremote_5fwrite_386',['UCP_MEM_MAP_PROT_REMOTE_WRITE',['../group___u_c_p___m_e_m.html#ggadf764cbdea00d65edcd07bb9953ad2b7a4d1429c096e17c691ca710aeb6385fe8',1,'ucp.h']]], + ['ucp_5fmem_5fprint_5finfo_387',['ucp_mem_print_info',['../group___u_c_p___m_e_m.html#gaabf69fda20dd01c6ade48906a74a5690',1,'ucp.h']]], + ['ucp_5fmem_5fquery_388',['ucp_mem_query',['../group___u_c_p___m_e_m.html#ga080c10aaf347682594092d796bbc913f',1,'ucp.h']]], + ['ucp_5fmem_5funmap_389',['ucp_mem_unmap',['../group___u_c_p___m_e_m.html#gac8bd616375fe05594690b5e0cddd6318',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5fcallback_390',['UCP_OP_ATTR_FIELD_CALLBACK',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a73e3a6e8b96b37ec1b0764e67dd13602',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5fdatatype_391',['UCP_OP_ATTR_FIELD_DATATYPE',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a354ef92dd9352dfccc859cd2ca3558d8',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5fflags_392',['UCP_OP_ATTR_FIELD_FLAGS',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a2f2586686e21b2700fd7cd4a8efb5a1b',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5fmemh_393',['UCP_OP_ATTR_FIELD_MEMH',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a84426c4dea4dceee1b015c3ccdcb7a78',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5fmemory_5ftype_394',['UCP_OP_ATTR_FIELD_MEMORY_TYPE',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a768b4c6759502c34b0051ba33c0d05b3',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5frecv_5finfo_395',['UCP_OP_ATTR_FIELD_RECV_INFO',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610ac5a4c17a81a2efefae5e338479ae06cb',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5freply_5fbuffer_396',['UCP_OP_ATTR_FIELD_REPLY_BUFFER',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a8eb660399c093d89d5deae5c847019f0',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5frequest_397',['UCP_OP_ATTR_FIELD_REQUEST',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610acfac7dfc3e7b5967870f5376c334b996',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5fuser_5fdata_398',['UCP_OP_ATTR_FIELD_USER_DATA',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610af6f932f15331fe7c9efacbfe2578e5ec',1,'ucp.h']]], + ['ucp_5fop_5fattr_5fflag_5ffast_5fcmpl_399',['UCP_OP_ATTR_FLAG_FAST_CMPL',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a69a2066ee5f68e57021f622b0cc859a8',1,'ucp.h']]], + ['ucp_5fop_5fattr_5fflag_5fforce_5fimm_5fcmpl_400',['UCP_OP_ATTR_FLAG_FORCE_IMM_CMPL',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610aeb35a090d86119cfd25d4e82753e943f',1,'ucp.h']]], + ['ucp_5fop_5fattr_5fflag_5fmulti_5fsend_401',['UCP_OP_ATTR_FLAG_MULTI_SEND',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a405517272bc4319aa3b49638f5626c7b',1,'ucp.h']]], + ['ucp_5fop_5fattr_5fflag_5fno_5fimm_5fcmpl_402',['UCP_OP_ATTR_FLAG_NO_IMM_CMPL',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a8805045d48573e9aa5751b439be114d0',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ft_403',['ucp_op_attr_t',['../group___u_c_p___c_o_m_m.html#ga67fae646dd1668efba6efe49a35a6610',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5festimated_5fnum_5feps_404',['UCP_PARAM_FIELD_ESTIMATED_NUM_EPS',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a834c5a969e0d41a90d54a6955b7414eb',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5festimated_5fnum_5fppn_405',['UCP_PARAM_FIELD_ESTIMATED_NUM_PPN',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a22fcdc29e68f36d97a0f389712529976',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5ffeatures_406',['UCP_PARAM_FIELD_FEATURES',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a454f1e90a324095192d87d97b8a4321f',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5fmt_5fworkers_5fshared_407',['UCP_PARAM_FIELD_MT_WORKERS_SHARED',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71aa8d5e573f9d52358f50ae2725a08e10e',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5fname_408',['UCP_PARAM_FIELD_NAME',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a9bf23645413cc4f5e753cf99b4379eb6',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5frequest_5fcleanup_409',['UCP_PARAM_FIELD_REQUEST_CLEANUP',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a9e2c9cebfbf51d47df31ffd019eb01c6',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5frequest_5finit_410',['UCP_PARAM_FIELD_REQUEST_INIT',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71ac95d94f94370df6cd79db8e830505738',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5frequest_5fsize_411',['UCP_PARAM_FIELD_REQUEST_SIZE',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a8385ca52048353e69b90fb7c6b0799ee',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5ftag_5fsender_5fmask_412',['UCP_PARAM_FIELD_TAG_SENDER_MASK',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a030b9866b2b6167cbdcfe9ce321d1f28',1,'ucp.h']]], + ['ucp_5fparams_413',['ucp_params',['../group___u_c_p___c_o_n_f_i_g.html#structucp__params',1,'']]], + ['ucp_5fparams_5ffield_414',['ucp_params_field',['../group___u_c_p___c_o_n_t_e_x_t.html#gab43f613a2365147415abf66f571cfa71',1,'ucp.h']]], + ['ucp_5fparams_5ft_415',['ucp_params_t',['../group___u_c_p___c_o_n_f_i_g.html#ga91aad075a1692f3bea2df3c59e63ed5c',1,'ucp.h']]], + ['ucp_5fput_416',['ucp_put',['../group___u_c_p___c_o_m_m.html#ga85b0a27cf8a3239decabad6a9104eb31',1,'ucp_compat.h']]], + ['ucp_5fput_5fnb_417',['ucp_put_nb',['../group___u_c_p___c_o_m_m.html#ga1ba986b2bde69c215abd5766dbceeb18',1,'ucp.h']]], + ['ucp_5fput_5fnbi_418',['ucp_put_nbi',['../group___u_c_p___c_o_m_m.html#ga77f3d5def7a77c4ba88f9e1eefa4b7e6',1,'ucp.h']]], + ['ucp_5fput_5fnbx_419',['ucp_put_nbx',['../group___u_c_p___c_o_m_m.html#ga29e7b9b70b782140e63544b8613a5fe7',1,'ucp.h']]], + ['ucp_5freq_5fattr_5ffield_420',['ucp_req_attr_field',['../group___u_c_p___c_o_m_m.html#gab383d860475f8917f51afb542e7d02ff',1,'ucp.h']]], + ['ucp_5frequest_5falloc_421',['ucp_request_alloc',['../group___u_c_p___c_o_m_m.html#gac6f75654d74e7e24881252fbff6bb9b2',1,'ucp.h']]], + ['ucp_5frequest_5fattr_5ffield_5finfo_5fstring_422',['UCP_REQUEST_ATTR_FIELD_INFO_STRING',['../group___u_c_p___c_o_m_m.html#ggab383d860475f8917f51afb542e7d02ffa45086e70d5035d92a601605a689178b9',1,'ucp.h']]], + ['ucp_5frequest_5fattr_5ffield_5finfo_5fstring_5fsize_423',['UCP_REQUEST_ATTR_FIELD_INFO_STRING_SIZE',['../group___u_c_p___c_o_m_m.html#ggab383d860475f8917f51afb542e7d02ffaaae11c040c811d14362cbbc47ea9f772',1,'ucp.h']]], + ['ucp_5frequest_5fattr_5ffield_5fmem_5ftype_424',['UCP_REQUEST_ATTR_FIELD_MEM_TYPE',['../group___u_c_p___c_o_m_m.html#ggab383d860475f8917f51afb542e7d02ffa7a1764b4ce21085ecbbdd13a1f183df5',1,'ucp.h']]], + ['ucp_5frequest_5fattr_5ffield_5fstatus_425',['UCP_REQUEST_ATTR_FIELD_STATUS',['../group___u_c_p___c_o_m_m.html#ggab383d860475f8917f51afb542e7d02ffa9d41f03b4a79e21265ad15f87d3ff8ed',1,'ucp.h']]], + ['ucp_5frequest_5fattr_5ft_426',['ucp_request_attr_t',['../group___u_c_p___c_o_m_m.html#structucp__request__attr__t',1,'']]], + ['ucp_5frequest_5fcancel_427',['ucp_request_cancel',['../group___u_c_p___c_o_m_m.html#ga3553f89a61d6b40af4633a2e7c84fc1d',1,'ucp.h']]], + ['ucp_5frequest_5fcheck_5fstatus_428',['ucp_request_check_status',['../group___u_c_p___c_o_m_m.html#gae082ad7af428645ebe6e469d3d06a757',1,'ucp.h']]], + ['ucp_5frequest_5fcleanup_5fcallback_5ft_429',['ucp_request_cleanup_callback_t',['../group___u_c_p___c_o_n_t_e_x_t.html#gaa0db30ca2911587c444d63b6a54b3625',1,'ucp_def.h']]], + ['ucp_5frequest_5ffree_430',['ucp_request_free',['../group___u_c_p___c_o_m_m.html#ga0e8e46f5953d464382b21edef3ec9994',1,'ucp.h']]], + ['ucp_5frequest_5finit_5fcallback_5ft_431',['ucp_request_init_callback_t',['../group___u_c_p___c_o_n_t_e_x_t.html#ga0cc0c63694e7e9ee370bbee017aee7fb',1,'ucp_def.h']]], + ['ucp_5frequest_5fis_5fcompleted_432',['ucp_request_is_completed',['../group___u_c_p___c_o_m_m.html#ga432e478b97575b21855074a45d54520d',1,'ucp_compat.h']]], + ['ucp_5frequest_5fparam_5ft_433',['ucp_request_param_t',['../group___u_c_p___c_o_n_t_e_x_t.html#structucp__request__param__t',1,'']]], + ['ucp_5frequest_5fparam_5ft_2ecb_434',['ucp_request_param_t.cb',['../group___u_c_p___c_o_n_t_e_x_t.html#unionucp__request__param__t_8cb',1,'']]], + ['ucp_5frequest_5fparam_5ft_2erecv_5finfo_435',['ucp_request_param_t.recv_info',['../group___u_c_p___c_o_n_t_e_x_t.html#unionucp__request__param__t_8recv__info',1,'']]], + ['ucp_5frequest_5fquery_436',['ucp_request_query',['../group___u_c_p___c_o_m_m.html#gafc247802373bbe39e9866745e102a064',1,'ucp.h']]], + ['ucp_5frequest_5frelease_437',['ucp_request_release',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gaabf569a298946627fbc8d66814c35e68',1,'ucp_compat.h']]], + ['ucp_5frequest_5ftest_438',['ucp_request_test',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga3802a983138ed27034b7d52026dccb2f',1,'ucp_compat.h']]], + ['ucp_5frkey_5fbuffer_5frelease_439',['ucp_rkey_buffer_release',['../group___u_c_p___m_e_m.html#ga8bc005f53da015f4a062087e6eb064e9',1,'ucp.h']]], + ['ucp_5frkey_5fdestroy_440',['ucp_rkey_destroy',['../group___u_c_p___m_e_m.html#gae33d7cc264e0fe1b11e27ae4289fba39',1,'ucp.h']]], + ['ucp_5frkey_5fh_441',['ucp_rkey_h',['../group___u_c_p___m_e_m.html#gaefeb4e775983f4313691a6b465e36c24',1,'ucp_def.h']]], + ['ucp_5frkey_5fpack_442',['ucp_rkey_pack',['../group___u_c_p___m_e_m.html#gadbb6b3ace4ab988cd7660319123407b4',1,'ucp.h']]], + ['ucp_5frkey_5fptr_443',['ucp_rkey_ptr',['../group___u_c_p___m_e_m.html#ga68f3458805ba15d6a5883219ecd56c1e',1,'ucp.h']]], + ['ucp_5fsend_5fam_5fflags_444',['ucp_send_am_flags',['../group___u_c_p___w_o_r_k_e_r.html#ga583228e89cd5c882025ed04c76106aa6',1,'ucp.h']]], + ['ucp_5fsend_5fcallback_5ft_445',['ucp_send_callback_t',['../group___u_c_p___c_o_m_m.html#gaad905bbbff95166a1e9b0e9743feb677',1,'ucp_def.h']]], + ['ucp_5fsend_5fnbx_5fcallback_5ft_446',['ucp_send_nbx_callback_t',['../group___u_c_p___c_o_m_m.html#gaee41a74074b37f96dad5b29c9af17faf',1,'ucp_def.h']]], + ['ucp_5fstream_5fdata_5frelease_447',['ucp_stream_data_release',['../group___u_c_p___c_o_m_m.html#ga1d1c1c1b2caf4f26c9872e1d708d5f68',1,'ucp.h']]], + ['ucp_5fstream_5fpoll_5fep_448',['ucp_stream_poll_ep',['../group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__stream__poll__ep',1,'']]], + ['ucp_5fstream_5fpoll_5fep_5ft_449',['ucp_stream_poll_ep_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gac7c775b6f8e929ca725a0b16ad9b244e',1,'ucp.h']]], + ['ucp_5fstream_5frecv_5fcallback_5ft_450',['ucp_stream_recv_callback_t',['../group___u_c_p___c_o_m_m.html#ga6a6234b8497006e26ba02f10ddc0bbf5',1,'ucp_def.h']]], + ['ucp_5fstream_5frecv_5fdata_5fnb_451',['ucp_stream_recv_data_nb',['../group___u_c_p___c_o_m_m.html#ga47f307f4765eb5410f24ac27986b59d7',1,'ucp.h']]], + ['ucp_5fstream_5frecv_5fflag_5fwaitall_452',['UCP_STREAM_RECV_FLAG_WAITALL',['../group___u_c_p___c_o_m_m.html#ggab471a9c7ab815e3d3ad7af80253f5cc2a5fb4ed4f8009d969ea9a8b3f3542424c',1,'ucp.h']]], + ['ucp_5fstream_5frecv_5fflags_5ft_453',['ucp_stream_recv_flags_t',['../group___u_c_p___c_o_m_m.html#gab471a9c7ab815e3d3ad7af80253f5cc2',1,'ucp.h']]], + ['ucp_5fstream_5frecv_5fnb_454',['ucp_stream_recv_nb',['../group___u_c_p___c_o_m_m.html#gadf3b4504a329a46d2d4ec0a8cec08130',1,'ucp.h']]], + ['ucp_5fstream_5frecv_5fnbx_455',['ucp_stream_recv_nbx',['../group___u_c_p___c_o_m_m.html#ga30494ce33e63823c81c2c5b3656d25c3',1,'ucp.h']]], + ['ucp_5fstream_5frecv_5fnbx_5fcallback_5ft_456',['ucp_stream_recv_nbx_callback_t',['../group___u_c_p___c_o_m_m.html#gaf9e253400533137ba2a5a49a111a9ee8',1,'ucp_def.h']]], + ['ucp_5fstream_5frecv_5frequest_5ftest_457',['ucp_stream_recv_request_test',['../group___u_c_p___c_o_m_m.html#ga4d8d8823b24cb25dcab8bf44c72fa25e',1,'ucp.h']]], + ['ucp_5fstream_5fsend_5fnb_458',['ucp_stream_send_nb',['../group___u_c_p___c_o_m_m.html#ga9022ff0ebb56cac81f6ba81bb28f71b3',1,'ucp.h']]], + ['ucp_5fstream_5fsend_5fnbx_459',['ucp_stream_send_nbx',['../group___u_c_p___c_o_m_m.html#gae9fe6efe6b05e4e78f58bee68c68b252',1,'ucp.h']]], + ['ucp_5fstream_5fworker_5fpoll_460',['ucp_stream_worker_poll',['../group___u_c_p___w_o_r_k_e_r.html#gaacff2409268fc6620d9a2bca4fa01950',1,'ucp.h']]], + ['ucp_5ftag_5fmessage_5fh_461',['ucp_tag_message_h',['../group___u_c_p___c_o_m_m.html#ga6a8b5741a4e66d7e890d31ef7cbf88ec',1,'ucp_def.h']]], + ['ucp_5ftag_5fmsg_5frecv_5fnb_462',['ucp_tag_msg_recv_nb',['../group___u_c_p___c_o_m_m.html#gac335b3ae4c9577728d9c0f2ecd44c084',1,'ucp.h']]], + ['ucp_5ftag_5fmsg_5frecv_5fnbx_463',['ucp_tag_msg_recv_nbx',['../group___u_c_p___c_o_m_m.html#ga48c61d44f18362bdaf8fca3122efcea6',1,'ucp.h']]], + ['ucp_5ftag_5fprobe_5fnb_464',['ucp_tag_probe_nb',['../group___u_c_p___c_o_m_m.html#ga41668f468dc37a7634116b8210815f22',1,'ucp.h']]], + ['ucp_5ftag_5frecv_5fcallback_5ft_465',['ucp_tag_recv_callback_t',['../group___u_c_p___c_o_m_m.html#ga00ac0fe5665d15fab5cd254af9b07758',1,'ucp_def.h']]], + ['ucp_5ftag_5frecv_5finfo_466',['ucp_tag_recv_info',['../group___u_c_p___c_o_n_t_e_x_t.html#structucp__tag__recv__info',1,'']]], + ['ucp_5ftag_5frecv_5finfo_5ft_467',['ucp_tag_recv_info_t',['../group___u_c_p___c_o_n_t_e_x_t.html#ga118ca6feabfc3b35c7b37002c40ca7e2',1,'ucp_def.h']]], + ['ucp_5ftag_5frecv_5fnb_468',['ucp_tag_recv_nb',['../group___u_c_p___c_o_m_m.html#gaeb24cdfc33dfb2886551b51843aa6304',1,'ucp.h']]], + ['ucp_5ftag_5frecv_5fnbr_469',['ucp_tag_recv_nbr',['../group___u_c_p___c_o_m_m.html#ga5a86663a4a144fd81d7a4e3378c5edd2',1,'ucp.h']]], + ['ucp_5ftag_5frecv_5fnbx_470',['ucp_tag_recv_nbx',['../group___u_c_p___c_o_m_m.html#gaa842f8ca8ad1363ed857ab938285a16f',1,'ucp.h']]], + ['ucp_5ftag_5frecv_5fnbx_5fcallback_5ft_471',['ucp_tag_recv_nbx_callback_t',['../group___u_c_p___c_o_m_m.html#ga70e110cf7c85ed5f281bd52438488d75',1,'ucp_def.h']]], + ['ucp_5ftag_5frecv_5frequest_5ftest_472',['ucp_tag_recv_request_test',['../group___u_c_p___c_o_m_m.html#ga707cbbef8cdcf90fa7cf63c922ef2c7f',1,'ucp.h']]], + ['ucp_5ftag_5fsend_5fnb_473',['ucp_tag_send_nb',['../group___u_c_p___c_o_m_m.html#gaae7343bd638924e5518041311d5c1dfc',1,'ucp.h']]], + ['ucp_5ftag_5fsend_5fnbr_474',['ucp_tag_send_nbr',['../group___u_c_p___c_o_m_m.html#gad90aa964e14fef59b4e3bd9120cca669',1,'ucp.h']]], + ['ucp_5ftag_5fsend_5fnbx_475',['ucp_tag_send_nbx',['../group___u_c_p___c_o_m_m.html#ga8323878b60f426c630d4ff8996ede3cc',1,'ucp.h']]], + ['ucp_5ftag_5fsend_5fsync_5fnb_476',['ucp_tag_send_sync_nb',['../group___u_c_p___c_o_m_m.html#gabd3e1ccae2ef34463e8313d09d3db17f',1,'ucp.h']]], + ['ucp_5ftag_5fsend_5fsync_5fnbx_477',['ucp_tag_send_sync_nbx',['../group___u_c_p___c_o_m_m.html#ga0d96a2aac42fe99ce0c79f15dda8bd06',1,'ucp.h']]], + ['ucp_5ftag_5ft_478',['ucp_tag_t',['../group___u_c_p___c_o_m_m.html#ga55df42689ef1f5621eae4d1ffb16856e',1,'ucp_def.h']]], + ['ucp_20wake_2dup_20routines_479',['UCP Wake-up routines',['../group___u_c_p___w_a_k_e_u_p.html',1,'']]], + ['ucp_5fwakeup_5famo_480',['UCP_WAKEUP_AMO',['../group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a1f8891a39fe63593947811936a9af8f7',1,'ucp_def.h']]], + ['ucp_5fwakeup_5fedge_481',['UCP_WAKEUP_EDGE',['../group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a474ecc6ca013d28f71ade5d85aafd1c8',1,'ucp_def.h']]], + ['ucp_5fwakeup_5fevent_5ft_482',['ucp_wakeup_event_t',['../group___u_c_p___w_o_r_k_e_r.html#ga10aa3ad0bd9107c6bd4161c07eb50fe3',1,'ucp_def.h']]], + ['ucp_5fwakeup_5fevent_5ftypes_483',['ucp_wakeup_event_types',['../group___u_c_p___w_o_r_k_e_r.html#ga66be8946dcd33051d40ceca65ba28e22',1,'ucp_def.h']]], + ['ucp_5fwakeup_5frma_484',['UCP_WAKEUP_RMA',['../group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a80fc6d63077023d905d9f3adfb37c50a',1,'ucp_def.h']]], + ['ucp_5fwakeup_5frx_485',['UCP_WAKEUP_RX',['../group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a182a353c533fc335e638e41fdaf7c6b5',1,'ucp_def.h']]], + ['ucp_5fwakeup_5ftag_5frecv_486',['UCP_WAKEUP_TAG_RECV',['../group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a15bd79b8acc9815513dccf43fc350435',1,'ucp_def.h']]], + ['ucp_5fwakeup_5ftag_5fsend_487',['UCP_WAKEUP_TAG_SEND',['../group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a136d0a608b0dcceb731d3022f1cb0e91',1,'ucp_def.h']]], + ['ucp_5fwakeup_5ftx_488',['UCP_WAKEUP_TX',['../group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22ad70899effbabed3294c35b9b0f2a747b',1,'ucp_def.h']]], + ['ucp_20worker_489',['UCP Worker',['../group___u_c_p___w_o_r_k_e_r.html',1,'']]], + ['ucp_5fworker_5faddress_5fattr_490',['ucp_worker_address_attr',['../group___u_c_p___w_o_r_k_e_r.html#structucp__worker__address__attr',1,'']]], + ['ucp_5fworker_5faddress_5fattr_5ffield_491',['ucp_worker_address_attr_field',['../group___u_c_p___w_o_r_k_e_r.html#gaadc74e7e271c4e181263115b08bf71c8',1,'ucp.h']]], + ['ucp_5fworker_5faddress_5fattr_5ffield_5fuid_492',['UCP_WORKER_ADDRESS_ATTR_FIELD_UID',['../group___u_c_p___w_o_r_k_e_r.html#ggaadc74e7e271c4e181263115b08bf71c8af5d5293830102fa30e1e26cfbdde0772',1,'ucp.h']]], + ['ucp_5fworker_5faddress_5fattr_5ft_493',['ucp_worker_address_attr_t',['../group___u_c_p___w_o_r_k_e_r.html#ga70e28a0293df12979a6cedd7878ac8d3',1,'ucp.h']]], + ['ucp_5fworker_5faddress_5fflag_5fnet_5fonly_494',['UCP_WORKER_ADDRESS_FLAG_NET_ONLY',['../group___u_c_p___w_o_r_k_e_r.html#ggab1ec638cc4a7498a85017d132492d195af9fe9ee3edc7fe21c889437941bb4117',1,'ucp.h']]], + ['ucp_5fworker_5faddress_5fflags_5ft_495',['ucp_worker_address_flags_t',['../group___u_c_p___w_o_r_k_e_r.html#gab1ec638cc4a7498a85017d132492d195',1,'ucp.h']]], + ['ucp_5fworker_5faddress_5fquery_496',['ucp_worker_address_query',['../group___u_c_p___w_o_r_k_e_r.html#ga0fac7f3d7bf9970e837732557e4277b0',1,'ucp.h']]], + ['ucp_5fworker_5farm_497',['ucp_worker_arm',['../group___u_c_p___w_a_k_e_u_p.html#gadce97937294aae0f5f599d58d68904d6',1,'ucp.h']]], + ['ucp_5fworker_5fattr_498',['ucp_worker_attr',['../group___u_c_p___w_o_r_k_e_r.html#structucp__worker__attr',1,'']]], + ['ucp_5fworker_5fattr_5ffield_499',['ucp_worker_attr_field',['../group___u_c_p___w_o_r_k_e_r.html#gacf03ee299a48c2f9c776516cc82c7194',1,'ucp.h']]], + ['ucp_5fworker_5fattr_5ffield_5faddress_500',['UCP_WORKER_ATTR_FIELD_ADDRESS',['../group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194a0dde53e12c0ab222ddcf2a52984fddd2',1,'ucp.h']]], + ['ucp_5fworker_5fattr_5ffield_5faddress_5fflags_501',['UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS',['../group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194a9b007ce57d2935817f86b4c4c6aad8c9',1,'ucp.h']]], + ['ucp_5fworker_5fattr_5ffield_5fmax_5fam_5fheader_502',['UCP_WORKER_ATTR_FIELD_MAX_AM_HEADER',['../group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194a4ad76742671a6282274e48dc904f145e',1,'ucp.h']]], + ['ucp_5fworker_5fattr_5ffield_5fmax_5finfo_5fstring_503',['UCP_WORKER_ATTR_FIELD_MAX_INFO_STRING',['../group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194aa92fba4ea095cc171b1153b88684213d',1,'ucp.h']]], + ['ucp_5fworker_5fattr_5ffield_5fname_504',['UCP_WORKER_ATTR_FIELD_NAME',['../group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194a806d5f1afd1e673b78888588b03ae95e',1,'ucp.h']]], + ['ucp_5fworker_5fattr_5ffield_5fthread_5fmode_505',['UCP_WORKER_ATTR_FIELD_THREAD_MODE',['../group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194a6d3178929ef9e6570999384991fbd42d',1,'ucp.h']]], + ['ucp_5fworker_5fattr_5ft_506',['ucp_worker_attr_t',['../group___u_c_p___w_o_r_k_e_r.html#gad29a316a83f74775060023852aeec763',1,'ucp.h']]], + ['ucp_5fworker_5fcreate_507',['ucp_worker_create',['../group___u_c_p___w_o_r_k_e_r.html#ga0aec01ed3dad646ca6cd3814b13054b1',1,'ucp.h']]], + ['ucp_5fworker_5fdestroy_508',['ucp_worker_destroy',['../group___u_c_p___w_o_r_k_e_r.html#ga6b6c5bf97d16e7fc4b7c815875e92676',1,'ucp.h']]], + ['ucp_5fworker_5ffence_509',['ucp_worker_fence',['../group___u_c_p___w_o_r_k_e_r.html#ga05b3b5887475966631c62119d64c6182',1,'ucp.h']]], + ['ucp_5fworker_5fflag_5fignore_5frequest_5fleak_510',['UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK',['../group___u_c_p___w_o_r_k_e_r.html#gga11a37476d021e1ad36c1b727373212b4a367a4eddbf55c75a186584fef73a484a',1,'ucp.h']]], + ['ucp_5fworker_5fflags_5ft_511',['ucp_worker_flags_t',['../group___u_c_p___w_o_r_k_e_r.html#ga11a37476d021e1ad36c1b727373212b4',1,'ucp.h']]], + ['ucp_5fworker_5fflush_512',['ucp_worker_flush',['../group___u_c_p___w_o_r_k_e_r.html#gae20b8bc9fbbde208ea266490bde4cbcb',1,'ucp_compat.h']]], + ['ucp_5fworker_5fflush_5fnb_513',['ucp_worker_flush_nb',['../group___u_c_p___w_o_r_k_e_r.html#gac461d1034a3313612243a5829b7e3847',1,'ucp.h']]], + ['ucp_5fworker_5fflush_5fnbx_514',['ucp_worker_flush_nbx',['../group___u_c_p___w_o_r_k_e_r.html#ga57fedddf88d4b777f5c16b39b5fcf52e',1,'ucp.h']]], + ['ucp_5fworker_5fget_5faddress_515',['ucp_worker_get_address',['../group___u_c_p___w_o_r_k_e_r.html#ga41aaa5fb8fbd3de50a39b1fda12977cc',1,'ucp.h']]], + ['ucp_5fworker_5fget_5fefd_516',['ucp_worker_get_efd',['../group___u_c_p___w_a_k_e_u_p.html#gadf849649110fa338fd891548198a578b',1,'ucp.h']]], + ['ucp_5fworker_5fh_517',['ucp_worker_h',['../group___u_c_p___w_o_r_k_e_r.html#ga5fd52efba31d20fc52055bb19270729f',1,'ucp_def.h']]], + ['ucp_5fworker_5fparam_5ffield_5fam_5falignment_518',['UCP_WORKER_PARAM_FIELD_AM_ALIGNMENT',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a68376de940e85a5ee4ffa6359c5ee2bc',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fclient_5fid_519',['UCP_WORKER_PARAM_FIELD_CLIENT_ID',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a20b21817e31db3e2ef52b507abbfa0bb',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fcpu_5fmask_520',['UCP_WORKER_PARAM_FIELD_CPU_MASK',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a0ba499461804b26850d6a530609e228d',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fevent_5ffd_521',['UCP_WORKER_PARAM_FIELD_EVENT_FD',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6ae743c2d23a0d7b0a9a8c6362a7611139',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fevents_522',['UCP_WORKER_PARAM_FIELD_EVENTS',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6ac756667325d053bd1cc11cccf853b0c9',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fflags_523',['UCP_WORKER_PARAM_FIELD_FLAGS',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a4a43ec7752c45629a3fc229a31d33617',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fname_524',['UCP_WORKER_PARAM_FIELD_NAME',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a57069c65941e47f35bea0478ddf0a829',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fthread_5fmode_525',['UCP_WORKER_PARAM_FIELD_THREAD_MODE',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a651598f7340d42cafb0876d918c83ec8',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fuser_5fdata_526',['UCP_WORKER_PARAM_FIELD_USER_DATA',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a1243d403aeceab36eee6d9cb985e8eb0',1,'ucp.h']]], + ['ucp_5fworker_5fparams_527',['ucp_worker_params',['../group___u_c_p___w_o_r_k_e_r.html#structucp__worker__params',1,'']]], + ['ucp_5fworker_5fparams_5ffield_528',['ucp_worker_params_field',['../group___u_c_p___w_o_r_k_e_r.html#gadbfc8fd5eaa65351d1617f2f158b80f6',1,'ucp.h']]], + ['ucp_5fworker_5fparams_5ft_529',['ucp_worker_params_t',['../group___u_c_p___w_o_r_k_e_r.html#ga06d7269d208e74bbf09fda6b4d3a7109',1,'ucp.h']]], + ['ucp_5fworker_5fprint_5finfo_530',['ucp_worker_print_info',['../group___u_c_p___w_o_r_k_e_r.html#gab746c6cccbfe8d25a892eb415bcedd97',1,'ucp.h']]], + ['ucp_5fworker_5fprogress_531',['ucp_worker_progress',['../group___u_c_p___w_o_r_k_e_r.html#ga340784a8528d4932916651460dc481c0',1,'ucp.h']]], + ['ucp_5fworker_5fquery_532',['ucp_worker_query',['../group___u_c_p___w_o_r_k_e_r.html#gaab678930b792e328eb4f0a17654e5e42',1,'ucp.h']]], + ['ucp_5fworker_5frelease_5faddress_533',['ucp_worker_release_address',['../group___u_c_p___w_o_r_k_e_r.html#ga94260829739496267d2c8d86414b863d',1,'ucp.h']]], + ['ucp_5fworker_5fset_5fam_5fhandler_534',['ucp_worker_set_am_handler',['../group___u_c_p___w_o_r_k_e_r.html#gab8e272749e7a396643caf8775889df4e',1,'ucp.h']]], + ['ucp_5fworker_5fset_5fam_5frecv_5fhandler_535',['ucp_worker_set_am_recv_handler',['../group___u_c_p___w_o_r_k_e_r.html#ga410d5e90c2abc6997924cbf7dee4a1f3',1,'ucp.h']]], + ['ucp_5fworker_5fsignal_536',['ucp_worker_signal',['../group___u_c_p___w_a_k_e_u_p.html#ga4f83bf7620a2ea765fb7167c756b8e48',1,'ucp.h']]], + ['ucp_5fworker_5fwait_537',['ucp_worker_wait',['../group___u_c_p___w_a_k_e_u_p.html#gaa6d1fba4d8a2525b74174a8c344ae9aa',1,'ucp.h']]], + ['ucp_5fworker_5fwait_5fmem_538',['ucp_worker_wait_mem',['../group___u_c_p___w_a_k_e_u_p.html#ga8b9a2ca2795f083e3b1250d698162aa6',1,'ucp.h']]], + ['unified_20communication_20services_20_28ucs_29_20api_539',['Unified Communication Services (UCS) API',['../group___u_c_s___a_p_i.html',1,'']]], + ['ucs_5fasync_5fadd_5ftimer_540',['ucs_async_add_timer',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga11a624df0bff9513f87b273506a8f711',1,'async_fwd.h']]], + ['ucs_5fasync_5fcontext_5fcreate_541',['ucs_async_context_create',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga8c3ad862fef1d35af708628d778a5a5b',1,'async_fwd.h']]], + ['ucs_5fasync_5fcontext_5fdestroy_542',['ucs_async_context_destroy',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga65db07fbee18ab2bd46a738c89ccc8f7',1,'async_fwd.h']]], + ['ucs_5fasync_5fevent_5fcb_5ft_543',['ucs_async_event_cb_t',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga6175fd675274497a9d714623a6ffba6f',1,'async_fwd.h']]], + ['ucs_5fasync_5fmodify_5fhandler_544',['ucs_async_modify_handler',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga46ac2384234000408d56065a8e43fc5a',1,'async_fwd.h']]], + ['ucs_5fasync_5fpoll_545',['ucs_async_poll',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga41fb5f0e0719d9b6d2c07358c6a9e6ae',1,'async_fwd.h']]], + ['ucs_5fasync_5fremove_5fhandler_546',['ucs_async_remove_handler',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga7253f7d2762b8d288e78d573f9948aef',1,'async_fwd.h']]], + ['ucs_5fasync_5fset_5fevent_5fhandler_547',['ucs_async_set_event_handler',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga4bd1833c4a212330cbdff7605858819c',1,'async_fwd.h']]], + ['ucs_5fcallbackq_548',['ucs_callbackq',['../namespace_3global_scope_4.html#structucs__callbackq',1,'']]], + ['ucs_5fcallbackq_5felem_549',['ucs_callbackq_elem',['../namespace_3global_scope_4.html#structucs__callbackq__elem',1,'']]], + ['ucs_5fcallbackq_5fflag_5ffast_550',['UCS_CALLBACKQ_FLAG_FAST',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ggaa693580c739b1ba94bd6218d00222110a05c5239629fdbfb4dc63a2b354b93e93',1,'callbackq.h']]], + ['ucs_5fcallbackq_5fflag_5foneshot_551',['UCS_CALLBACKQ_FLAG_ONESHOT',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ggaa693580c739b1ba94bd6218d00222110aabec96aecc786be2edb8f16c5034c493',1,'callbackq.h']]], + ['ucs_5fcallbackq_5fflags_552',['ucs_callbackq_flags',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gaa693580c739b1ba94bd6218d00222110',1,'callbackq.h']]], + ['ucs_5fconfig_5fallow_5flist_5ft_553',['ucs_config_allow_list_t',['../namespace_3global_scope_4.html#structucs__config__allow__list__t',1,'']]], + ['ucs_5ferr_5falready_5fexists_554',['UCS_ERR_ALREADY_EXISTS',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a8295b85b654e3145ee08a94714832112',1,'status.h']]], + ['ucs_5ferr_5fbuffer_5ftoo_5fsmall_555',['UCS_ERR_BUFFER_TOO_SMALL',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a2ab3b7e6c60cb0afe80c2e11cc39122f',1,'status.h']]], + ['ucs_5ferr_5fbusy_556',['UCS_ERR_BUSY',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a331d8719f76965a4514684c570110105',1,'status.h']]], + ['ucs_5ferr_5fcanceled_557',['UCS_ERR_CANCELED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a446ce3cf260eab2465e9f7adfbad1f11',1,'status.h']]], + ['ucs_5ferr_5fconnection_5freset_558',['UCS_ERR_CONNECTION_RESET',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a3845462922a8704ddca8be0dafc47cd5',1,'status.h']]], + ['ucs_5ferr_5fendpoint_5ftimeout_559',['UCS_ERR_ENDPOINT_TIMEOUT',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558adc9adfec2d408b4efd95be36dcb119cf',1,'status.h']]], + ['ucs_5ferr_5fexceeds_5flimit_560',['UCS_ERR_EXCEEDS_LIMIT',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a45d1cd8512f1ba4391f91b0bc399f1fb',1,'status.h']]], + ['ucs_5ferr_5ffirst_5fendpoint_5ffailure_561',['UCS_ERR_FIRST_ENDPOINT_FAILURE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a2441db0c09803ed41453968577e29446',1,'status.h']]], + ['ucs_5ferr_5ffirst_5flink_5ffailure_562',['UCS_ERR_FIRST_LINK_FAILURE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a8356f94996c7759a785f8d508ff58779',1,'status.h']]], + ['ucs_5ferr_5finvalid_5faddr_563',['UCS_ERR_INVALID_ADDR',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aaebc6a3a7f1626b431f80ff66e9a4922',1,'status.h']]], + ['ucs_5ferr_5finvalid_5fparam_564',['UCS_ERR_INVALID_PARAM',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558ab5a5c5278c83f957a096444de28db597',1,'status.h']]], + ['ucs_5ferr_5fio_5ferror_565',['UCS_ERR_IO_ERROR',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aaaf39ceea715057fdec5736443e0265b',1,'status.h']]], + ['ucs_5ferr_5flast_566',['UCS_ERR_LAST',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a359c2fe5ffba5911f340ec8a750917bb',1,'status.h']]], + ['ucs_5ferr_5flast_5fendpoint_5ffailure_567',['UCS_ERR_LAST_ENDPOINT_FAILURE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aa54339cfd8cefc96aa4e9d5d0b824284',1,'status.h']]], + ['ucs_5ferr_5flast_5flink_5ffailure_568',['UCS_ERR_LAST_LINK_FAILURE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a9e4aac3283309260e9b8f34bca72209c',1,'status.h']]], + ['ucs_5ferr_5fmessage_5ftruncated_569',['UCS_ERR_MESSAGE_TRUNCATED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aef3defd5d754266db882e079fad7c544',1,'status.h']]], + ['ucs_5ferr_5fno_5fdevice_570',['UCS_ERR_NO_DEVICE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558af42564cbfb39953294f80d782404a3bf',1,'status.h']]], + ['ucs_5ferr_5fno_5felem_571',['UCS_ERR_NO_ELEM',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558ab67faa1abcd824b5bb47a094491524ba',1,'status.h']]], + ['ucs_5ferr_5fno_5fmemory_572',['UCS_ERR_NO_MEMORY',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a9919ffd4eaf870612c4aa63df65ae0a6',1,'status.h']]], + ['ucs_5ferr_5fno_5fmessage_573',['UCS_ERR_NO_MESSAGE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a1bbd2445646883a1ef758fe2ef75e586',1,'status.h']]], + ['ucs_5ferr_5fno_5fprogress_574',['UCS_ERR_NO_PROGRESS',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aa3e6111410197f82888c6527258a5149',1,'status.h']]], + ['ucs_5ferr_5fno_5fresource_575',['UCS_ERR_NO_RESOURCE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a83fc93632e7b3e3251410985aab27edc',1,'status.h']]], + ['ucs_5ferr_5fnot_5fconnected_576',['UCS_ERR_NOT_CONNECTED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a19ed4a30ff1b25ffdc00adeb8cd211fa',1,'status.h']]], + ['ucs_5ferr_5fnot_5fimplemented_577',['UCS_ERR_NOT_IMPLEMENTED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a623f715116a8d8986c737bf626e956b4',1,'status.h']]], + ['ucs_5ferr_5fout_5fof_5frange_578',['UCS_ERR_OUT_OF_RANGE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a7ce30c5ce3f9b06ed9d51a618dc76920',1,'status.h']]], + ['ucs_5ferr_5frejected_579',['UCS_ERR_REJECTED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a7ebfa416cd741e37ec1a0371feaaa10a',1,'status.h']]], + ['ucs_5ferr_5fshmem_5fsegment_580',['UCS_ERR_SHMEM_SEGMENT',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a5cfb884e5be55df1f4acf19990f4029d',1,'status.h']]], + ['ucs_5ferr_5fsome_5fconnects_5ffailed_581',['UCS_ERR_SOME_CONNECTS_FAILED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aa74d2a7cf7aeeaaaff6724bf0d700743',1,'status.h']]], + ['ucs_5ferr_5ftimed_5fout_582',['UCS_ERR_TIMED_OUT',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a28655a75087757c2b6c28adcae5562c7',1,'status.h']]], + ['ucs_5ferr_5funreachable_583',['UCS_ERR_UNREACHABLE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558ab56647f308360ef22316ed42a700e057',1,'status.h']]], + ['ucs_5ferr_5funsupported_584',['UCS_ERR_UNSUPPORTED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a252c38290855ceaf849c04b7fa52dc23',1,'status.h']]], + ['ucs_5finprogress_585',['UCS_INPROGRESS',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a77aa02620851779729e4ad6ceb41f84a',1,'status.h']]], + ['ucs_5flog_5fcomponent_5fconfig_586',['ucs_log_component_config',['../namespace_3global_scope_4.html#structucs__log__component__config',1,'']]], + ['ucs_5fmemory_5ftype_587',['ucs_memory_type',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga5cfcc524f5dc586101a3e7caff8d982d',1,'memory_type.h']]], + ['ucs_5fmemory_5ftype_5fcuda_588',['UCS_MEMORY_TYPE_CUDA',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982dafc4cb4732ebd0539e364bb6a4466c2fc',1,'memory_type.h']]], + ['ucs_5fmemory_5ftype_5fcuda_5fmanaged_589',['UCS_MEMORY_TYPE_CUDA_MANAGED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982dab61ccfc729e22de60f4831cc60ef1e16',1,'memory_type.h']]], + ['ucs_5fmemory_5ftype_5fhost_590',['UCS_MEMORY_TYPE_HOST',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982da4bebe1325d9a3be9b5821bec4f78a55f',1,'memory_type.h']]], + ['ucs_5fmemory_5ftype_5flast_591',['UCS_MEMORY_TYPE_LAST',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982da6105aba9983dc25cbf7cbf4d03f655d7',1,'memory_type.h']]], + ['ucs_5fmemory_5ftype_5frocm_592',['UCS_MEMORY_TYPE_ROCM',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982da84a165376983da6abbdf0e9cc7d3d546',1,'memory_type.h']]], + ['ucs_5fmemory_5ftype_5frocm_5fmanaged_593',['UCS_MEMORY_TYPE_ROCM_MANAGED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982dabc097618d75594ac6df460592561cd77',1,'memory_type.h']]], + ['ucs_5fmemory_5ftype_5ft_594',['ucs_memory_type_t',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga0da130a6b3524f3f7642b76f698903c7',1,'memory_type.h']]], + ['ucs_5fmemory_5ftype_5funknown_595',['UCS_MEMORY_TYPE_UNKNOWN',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982dab0e5609f442bf33d5447c6e8b5928215',1,'memory_type.h']]], + ['ucs_5fok_596',['UCS_OK',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a1a7fbae02ac33fb94f519c7c773f419a',1,'status.h']]], + ['ucs_20communication_20resource_597',['UCS Communication Resource',['../group___u_c_s___r_e_s_o_u_r_c_e.html',1,'']]], + ['ucs_5fsock_5faddr_598',['ucs_sock_addr',['../group___u_c_s___r_e_s_o_u_r_c_e.html#structucs__sock__addr',1,'']]], + ['ucs_5fsock_5faddr_5ft_599',['ucs_sock_addr_t',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga66409ecb6655d099e1375e1225475601',1,'types.h']]], + ['ucs_5fstatus_5fptr_5ft_600',['ucs_status_ptr_t',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gaf4381d25f2fb0cf02f996f3e0729ed62',1,'status.h']]], + ['ucs_5fstatus_5ft_601',['ucs_status_t',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga88ca72d7294772e7d2edb70a2df15558',1,'status.h']]], + ['ucs_5fthread_5fmode_5flast_602',['UCS_THREAD_MODE_LAST',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga40e9f363c389e702ad9920f5d52525ceaf7b465a8a13f216fd6c35a828a8c7986',1,'thread_mode.h']]], + ['ucs_5fthread_5fmode_5fmulti_603',['UCS_THREAD_MODE_MULTI',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga40e9f363c389e702ad9920f5d52525cea8f8e252ce479d99c7cdc708321534904',1,'thread_mode.h']]], + ['ucs_5fthread_5fmode_5fserialized_604',['UCS_THREAD_MODE_SERIALIZED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga40e9f363c389e702ad9920f5d52525cea95d2ddb2144f8cfebfe305be13bd6776',1,'thread_mode.h']]], + ['ucs_5fthread_5fmode_5fsingle_605',['UCS_THREAD_MODE_SINGLE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga40e9f363c389e702ad9920f5d52525ceabc2f71e39a3527f7abe6a1c47f0a5a25',1,'thread_mode.h']]], + ['ucs_5fthread_5fmode_5ft_606',['ucs_thread_mode_t',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga40e9f363c389e702ad9920f5d52525ce',1,'thread_mode.h']]], + ['ucs_5ftime_5ft_607',['ucs_time_t',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga69fbc58f4523686b459ee0fff60b5197',1,'time_def.h']]], + ['uct_5falloc_5fmethod_5fdefault_608',['UCT_ALLOC_METHOD_DEFAULT',['../group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09aee732738d1b13520beeefda125e40665',1,'uct.h']]], + ['uct_5falloc_5fmethod_5fheap_609',['UCT_ALLOC_METHOD_HEAP',['../group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09ab026ce58725388c3dca9d1a5d152250c',1,'uct.h']]], + ['uct_5falloc_5fmethod_5fhuge_610',['UCT_ALLOC_METHOD_HUGE',['../group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09ad542185f2c8f7a7ff89f3a1b0581439d',1,'uct.h']]], + ['uct_5falloc_5fmethod_5flast_611',['UCT_ALLOC_METHOD_LAST',['../group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09a3b9f6f050e19d2d85425d2c87d4bdbb8',1,'uct.h']]], + ['uct_5falloc_5fmethod_5fmd_612',['UCT_ALLOC_METHOD_MD',['../group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09a2036e15fb7da79b6cb7af6e8bda700c7',1,'uct.h']]], + ['uct_5falloc_5fmethod_5fmmap_613',['UCT_ALLOC_METHOD_MMAP',['../group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09a496187eba67f49a27e0017a4290505cc',1,'uct.h']]], + ['uct_5falloc_5fmethod_5ft_614',['uct_alloc_method_t',['../group___u_c_t___c_o_n_t_e_x_t.html#ga019362c62f98ff7935b05c512eb0ab09',1,'uct.h']]], + ['uct_5falloc_5fmethod_5fthp_615',['UCT_ALLOC_METHOD_THP',['../group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09ae4e651614b0a020b351b94f4a589fd07',1,'uct.h']]], + ['uct_5fallocated_5fmemory_616',['uct_allocated_memory',['../group___u_c_t___m_d.html#structuct__allocated__memory',1,'']]], + ['uct_5fallocated_5fmemory_5ft_617',['uct_allocated_memory_t',['../group___u_c_t___m_d.html#ga3a11b017769f9a1cc5c1be535a7782fe',1,'uct.h']]], + ['uct_20active_20messages_618',['UCT Active messages',['../group___u_c_t___a_m.html',1,'']]], + ['uct_5fam_5fcallback_5ft_619',['uct_am_callback_t',['../group___u_c_t___a_m.html#gaeeaac1f152fc82d237e286a663e83d04',1,'uct_def.h']]], + ['uct_5fam_5ftrace_5ftype_620',['uct_am_trace_type',['../group___u_c_t___a_m.html#gacbe4c7fdcaf25cd7bd004a3c2d54f067',1,'uct_def.h']]], + ['uct_5fam_5ftrace_5ftype_5flast_621',['UCT_AM_TRACE_TYPE_LAST',['../group___u_c_t___a_m.html#ggacbe4c7fdcaf25cd7bd004a3c2d54f067a74589340125a9634d4f1cba73da0b0a1',1,'uct_def.h']]], + ['uct_5fam_5ftrace_5ftype_5frecv_622',['UCT_AM_TRACE_TYPE_RECV',['../group___u_c_t___a_m.html#ggacbe4c7fdcaf25cd7bd004a3c2d54f067a02b0b980c43b7d66823bb0169d03f98f',1,'uct_def.h']]], + ['uct_5fam_5ftrace_5ftype_5frecv_5fdrop_623',['UCT_AM_TRACE_TYPE_RECV_DROP',['../group___u_c_t___a_m.html#ggacbe4c7fdcaf25cd7bd004a3c2d54f067aa2125f63177d657998f381a60e60e8fd',1,'uct_def.h']]], + ['uct_5fam_5ftrace_5ftype_5fsend_624',['UCT_AM_TRACE_TYPE_SEND',['../group___u_c_t___a_m.html#ggacbe4c7fdcaf25cd7bd004a3c2d54f067aef58a6db54a952e5e34edd91325a83ed',1,'uct_def.h']]], + ['uct_5fam_5ftrace_5ftype_5fsend_5fdrop_625',['UCT_AM_TRACE_TYPE_SEND_DROP',['../group___u_c_t___a_m.html#ggacbe4c7fdcaf25cd7bd004a3c2d54f067a70335ae779aaa99685d6842f9e85a6db',1,'uct_def.h']]], + ['uct_5fam_5ftrace_5ftype_5ft_626',['uct_am_trace_type_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga8d195c0008dbf59eb931504c3b2590fc',1,'uct_def.h']]], + ['uct_5fam_5ftracer_5ft_627',['uct_am_tracer_t',['../group___u_c_t___a_m.html#gae089079bf0edee87f4f8be3edc0164cb',1,'uct_def.h']]], + ['uct_20atomic_20operations_628',['UCT Atomic operations',['../group___u_c_t___a_m_o.html',1,'']]], + ['unified_20communication_20transport_20_28uct_29_20api_629',['Unified Communication Transport (UCT) API',['../group___u_c_t___a_p_i.html',1,'']]], + ['uct_5fasync_5fevent_5fcb_5ft_630',['uct_async_event_cb_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gafb7251839b08fac157af1c9b85430e16',1,'uct_def.h']]], + ['uct_5fcb_5fflag_5fasync_631',['UCT_CB_FLAG_ASYNC',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggaca1e07b69024fec26746e3a19b4de9d0a2de3b7622afcabd645878e0540f062aa',1,'uct.h']]], + ['uct_5fcb_5fflag_5freserved_632',['UCT_CB_FLAG_RESERVED',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggaca1e07b69024fec26746e3a19b4de9d0a93c65c155511b258449363ea8cad8f7f',1,'uct.h']]], + ['uct_5fcb_5fflags_633',['uct_cb_flags',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaca1e07b69024fec26746e3a19b4de9d0',1,'uct.h']]], + ['uct_5fcb_5fparam_5fflag_5fdesc_634',['UCT_CB_PARAM_FLAG_DESC',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga36bfc11c722b01a11e1949e8329262c9a741f6a62c34d5484fa6999b1e097e42a',1,'uct_def.h']]], + ['uct_5fcb_5fparam_5fflag_5ffirst_635',['UCT_CB_PARAM_FLAG_FIRST',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga36bfc11c722b01a11e1949e8329262c9aef5b11372c919dfcdc55602d48e67135',1,'uct_def.h']]], + ['uct_5fcb_5fparam_5fflag_5fmore_636',['UCT_CB_PARAM_FLAG_MORE',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga36bfc11c722b01a11e1949e8329262c9a2d9bb153789aeae6d1ecf0173cf483e9',1,'uct_def.h']]], + ['uct_5fcb_5fparam_5fflags_637',['uct_cb_param_flags',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga36bfc11c722b01a11e1949e8329262c9',1,'uct_def.h']]], + ['uct_20client_2dserver_20operations_638',['UCT client-server operations',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html',1,'']]], + ['uct_5fcm_5fattr_639',['uct_cm_attr',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__attr',1,'']]], + ['uct_5fcm_5fattr_5ffield_640',['uct_cm_attr_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga2b308be867e1e13dcb7d941b07835431',1,'uct.h']]], + ['uct_5fcm_5fattr_5ffield_5fmax_5fconn_5fpriv_641',['UCT_CM_ATTR_FIELD_MAX_CONN_PRIV',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga2b308be867e1e13dcb7d941b07835431a2521b69fbc5dd8dff615878729572978',1,'uct.h']]], + ['uct_5fcm_5fattr_5ft_642',['uct_cm_attr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gac97ab5f8fc69893d70fd3dc374687a71',1,'uct_def.h']]], + ['uct_5fcm_5fclient_5fep_5fconn_5fnotify_643',['uct_cm_client_ep_conn_notify',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga45664fb4113fa1f2ddad4fc181e0d62a',1,'uct.h']]], + ['uct_5fcm_5fclose_644',['uct_cm_close',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga2d4b7947a338ad8721390f8c292a4dfa',1,'uct.h']]], + ['uct_5fcm_5fconfig_5fread_645',['uct_cm_config_read',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaec01265a1d6fbbeef49ca3bdb5bbf2b4',1,'uct.h']]], + ['uct_5fcm_5fconfig_5ft_646',['uct_cm_config_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga98237d6d7f9a212449f6469d0d0eefd9',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fclient_5fconnect_5fargs_647',['uct_cm_ep_client_connect_args',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__client__connect__args',1,'']]], + ['uct_5fcm_5fep_5fclient_5fconnect_5fargs_5ffield_648',['uct_cm_ep_client_connect_args_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga6746759cc1850c6e260fca7e3de008ad',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fclient_5fconnect_5fargs_5ffield_5fremote_5fdata_649',['UCT_CM_EP_CLIENT_CONNECT_ARGS_FIELD_REMOTE_DATA',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga6746759cc1850c6e260fca7e3de008ada9657c720a60df0b6b89bd9b019ac01cc',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fclient_5fconnect_5fargs_5ffield_5fstatus_650',['UCT_CM_EP_CLIENT_CONNECT_ARGS_FIELD_STATUS',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga6746759cc1850c6e260fca7e3de008ada21ad19d697d3ff1b5a3acb0fcb4a7cfc',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fclient_5fconnect_5fargs_5ft_651',['uct_cm_ep_client_connect_args_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga933f702714bc1ebb3d172ef74f2cfdab',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fclient_5fconnect_5fcallback_5ft_652',['uct_cm_ep_client_connect_callback_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gad221f8e9528614b0688ea3097cc0c2bc',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fpriv_5fdata_5fpack_5fargs_653',['uct_cm_ep_priv_data_pack_args',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__priv__data__pack__args',1,'']]], + ['uct_5fcm_5fep_5fpriv_5fdata_5fpack_5fargs_5ffield_654',['uct_cm_ep_priv_data_pack_args_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga405dee8e814ebc33f14c5f44e80d008c',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fpriv_5fdata_5fpack_5fargs_5ffield_5fdevice_5fname_655',['UCT_CM_EP_PRIV_DATA_PACK_ARGS_FIELD_DEVICE_NAME',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga405dee8e814ebc33f14c5f44e80d008ca39e1834470a48aaaa5b9e6fbef11b5f1',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fpriv_5fdata_5fpack_5fargs_5ft_656',['uct_cm_ep_priv_data_pack_args_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga72c3431a351c6f4defb61368c0ec7806',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fpriv_5fdata_5fpack_5fcallback_5ft_657',['uct_cm_ep_priv_data_pack_callback_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga4eb772a7b4af18ae62b546bcd85250ef',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fresolve_5fargs_658',['uct_cm_ep_resolve_args',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__resolve__args',1,'']]], + ['uct_5fcm_5fep_5fresolve_5fargs_5ffield_659',['uct_cm_ep_resolve_args_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga6c342b6c43e178b73f567bd0fb253e62',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fresolve_5fargs_5ffield_5fdev_5fname_660',['UCT_CM_EP_RESOLVE_ARGS_FIELD_DEV_NAME',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga6c342b6c43e178b73f567bd0fb253e62ab617fac24c5437d6acd095c84eb0a6a1',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fresolve_5fargs_5ffield_5fstatus_661',['UCT_CM_EP_RESOLVE_ARGS_FIELD_STATUS',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga6c342b6c43e178b73f567bd0fb253e62ad7cc5818b0812933a99f25378be77cb5',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fresolve_5fargs_5ft_662',['uct_cm_ep_resolve_args_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaab6b697d57f77c7e5ab8665cb66f138c',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fresolve_5fcallback_5ft_663',['uct_cm_ep_resolve_callback_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gad96e813463556ed4d5e9258b4ceee78d',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fserver_5fconn_5fnotify_5fargs_664',['uct_cm_ep_server_conn_notify_args',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__server__conn__notify__args',1,'']]], + ['uct_5fcm_5fep_5fserver_5fconn_5fnotify_5fargs_5ffield_665',['uct_cm_ep_server_conn_notify_args_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaf1cffc53a9b63fb98a77503917f5fd79',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fserver_5fconn_5fnotify_5fargs_5ffield_5fstatus_666',['UCT_CM_EP_SERVER_CONN_NOTIFY_ARGS_FIELD_STATUS',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaf1cffc53a9b63fb98a77503917f5fd79a84648af7a2470a6869bd8d05e894b0a5',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fserver_5fconn_5fnotify_5fargs_5ft_667',['uct_cm_ep_server_conn_notify_args_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gadfa5264d4edfe19fc3dd6d1ceed218d5',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fserver_5fconn_5fnotify_5fcallback_5ft_668',['uct_cm_ep_server_conn_notify_callback_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaaffce62ed4f37b665a71a88f37cbfec6',1,'uct_def.h']]], + ['uct_5fcm_5fh_669',['uct_cm_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gab88b0c85922e6c157fae605a42647dd7',1,'uct_def.h']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fargs_670',['uct_cm_listener_conn_request_args',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__listener__conn__request__args',1,'']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fargs_5ffield_671',['uct_cm_listener_conn_request_args_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga9e97a59a0593244e730734d592b642df',1,'uct_def.h']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fargs_5ffield_5fclient_5faddr_672',['UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_CLIENT_ADDR',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga9e97a59a0593244e730734d592b642dfae396fa228bfaf18e554eaa2e91f19333',1,'uct_def.h']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fargs_5ffield_5fconn_5frequest_673',['UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_CONN_REQUEST',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga9e97a59a0593244e730734d592b642dfadf438afd4aa996a342ddb1e69894882b',1,'uct_def.h']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fargs_5ffield_5fdev_5fname_674',['UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_DEV_NAME',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga9e97a59a0593244e730734d592b642dfab3c57e4db473538c60b5feaf094833d9',1,'uct_def.h']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fargs_5ffield_5fremote_5fdata_675',['UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_REMOTE_DATA',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga9e97a59a0593244e730734d592b642dfab87a184e4a1684ba337aaff9547c2753',1,'uct_def.h']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fargs_5ft_676',['uct_cm_listener_conn_request_args_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga7268a2ca363cb04b529026b99dd56da0',1,'uct_def.h']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fcallback_5ft_677',['uct_cm_listener_conn_request_callback_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga8c150a87e614379b42283be7e91b0dec',1,'uct_def.h']]], + ['uct_5fcm_5fopen_678',['uct_cm_open',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaa388b4d447f77dbb9dcc45f4fff4e9b9',1,'uct.h']]], + ['uct_5fcm_5fquery_679',['uct_cm_query',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga4a47044a01e1cefbe7a1fd6a7e9a6857',1,'uct.h']]], + ['uct_5fcm_5fremote_5fdata_680',['uct_cm_remote_data',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__remote__data',1,'']]], + ['uct_5fcm_5fremote_5fdata_5ffield_681',['uct_cm_remote_data_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga3e023485a86ad4092497ffe58cddef37',1,'uct_def.h']]], + ['uct_5fcm_5fremote_5fdata_5ffield_5fconn_5fpriv_5fdata_682',['UCT_CM_REMOTE_DATA_FIELD_CONN_PRIV_DATA',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga3e023485a86ad4092497ffe58cddef37a86ed1d1f02236dd9467176b2130fba32',1,'uct_def.h']]], + ['uct_5fcm_5fremote_5fdata_5ffield_5fconn_5fpriv_5fdata_5flength_683',['UCT_CM_REMOTE_DATA_FIELD_CONN_PRIV_DATA_LENGTH',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga3e023485a86ad4092497ffe58cddef37a550619037bb2bad0ad2a46dfe68f6cc3',1,'uct_def.h']]], + ['uct_5fcm_5fremote_5fdata_5ffield_5fdev_5faddr_684',['UCT_CM_REMOTE_DATA_FIELD_DEV_ADDR',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga3e023485a86ad4092497ffe58cddef37af5ba4b8423006af3e3b0342b9cea533b',1,'uct_def.h']]], + ['uct_5fcm_5fremote_5fdata_5ffield_5fdev_5faddr_5flength_685',['UCT_CM_REMOTE_DATA_FIELD_DEV_ADDR_LENGTH',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga3e023485a86ad4092497ffe58cddef37a22ac6bf59b6b07381c25ba808254092b',1,'uct_def.h']]], + ['uct_5fcm_5fremote_5fdata_5ft_686',['uct_cm_remote_data_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga2458f8dde2369d49eec3453fb6722674',1,'uct_def.h']]], + ['uct_5fcm_5ft_687',['uct_cm_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaf0ad3383e80500c7b5f1ac9a93ca1525',1,'uct_def.h']]], + ['uct_5fcompletion_688',['uct_completion',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__completion',1,'']]], + ['uct_5fcompletion_5fcallback_5ft_689',['uct_completion_callback_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gafe8643ddb601908eab1d92ee2f012f8c',1,'uct_def.h']]], + ['uct_5fcompletion_5ft_690',['uct_completion_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga1c5e511c1cbe1734b317f7688a5cdb90',1,'uct_def.h']]], + ['uct_5fcompletion_5fupdate_5fstatus_691',['uct_completion_update_status',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga6d517ca850e8bb367939139b6b24cc87',1,'uct.h']]], + ['uct_5fcomponent_5fattr_692',['uct_component_attr',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__component__attr',1,'']]], + ['uct_5fcomponent_5fattr_5ffield_693',['uct_component_attr_field',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga246ded5e20aa09c590673c771c74b68b',1,'uct.h']]], + ['uct_5fcomponent_5fattr_5ffield_5fflags_694',['UCT_COMPONENT_ATTR_FIELD_FLAGS',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga246ded5e20aa09c590673c771c74b68baf29cd3b384fbddeccc937d42abbd6b41',1,'uct.h']]], + ['uct_5fcomponent_5fattr_5ffield_5fmd_5fresource_5fcount_695',['UCT_COMPONENT_ATTR_FIELD_MD_RESOURCE_COUNT',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga246ded5e20aa09c590673c771c74b68ba25d44baf92c5c7673dbbf44de35fdc84',1,'uct.h']]], + ['uct_5fcomponent_5fattr_5ffield_5fmd_5fresources_696',['UCT_COMPONENT_ATTR_FIELD_MD_RESOURCES',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga246ded5e20aa09c590673c771c74b68ba4ffc9f65e0b3d7cb07db745e7e61ba47',1,'uct.h']]], + ['uct_5fcomponent_5fattr_5ffield_5fname_697',['UCT_COMPONENT_ATTR_FIELD_NAME',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga246ded5e20aa09c590673c771c74b68ba45f30f9f196f5f75309882d48c435a26',1,'uct.h']]], + ['uct_5fcomponent_5fattr_5ft_698',['uct_component_attr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga09ca059b9929301d94b90194f1631fd0',1,'uct.h']]], + ['uct_5fcomponent_5fflag_5fcm_699',['UCT_COMPONENT_FLAG_CM',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggadc29c2ff13d900c2f185ee95427fb06cac3f00c23358624b53732e413433f1d8d',1,'uct.h']]], + ['uct_5fcomponent_5fh_700',['uct_component_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga970f9dcfebb42f0209c2c7e23eca99f6',1,'uct_def.h']]], + ['uct_5fcomponent_5fquery_701',['uct_component_query',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga437597d034328ce061df61647add1891',1,'uct.h']]], + ['uct_5fconfig_5fget_702',['uct_config_get',['../group___u_c_t___c_o_n_t_e_x_t.html#ga711e3a72f282ad7d11d2945ea2dd7b4c',1,'uct.h']]], + ['uct_5fconfig_5fmodify_703',['uct_config_modify',['../group___u_c_t___c_o_n_t_e_x_t.html#ga00b51bffb44b91b256dd6d6e6e99f98f',1,'uct.h']]], + ['uct_5fconfig_5frelease_704',['uct_config_release',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga951ea184730bc0b9cf659b1038e999a4',1,'uct.h']]], + ['uct_5fconn_5frequest_5fh_705',['uct_conn_request_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga71c5cb66cb921d62e609d02ca628c90f',1,'uct_def.h']]], + ['uct_20communication_20context_706',['UCT Communication Context',['../group___u_c_t___c_o_n_t_e_x_t.html',1,'']]], + ['uct_5fdevice_5faddr_5ft_707',['uct_device_addr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gac88423ede47b1ecaf895996971cfdf53',1,'uct_def.h']]], + ['uct_5fdevice_5ftype_5facc_708',['UCT_DEVICE_TYPE_ACC',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggae0c25b8c160e49fbb9cc122c9807f20da4830aee82331272d4acfc027d733613f',1,'uct.h']]], + ['uct_5fdevice_5ftype_5flast_709',['UCT_DEVICE_TYPE_LAST',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggae0c25b8c160e49fbb9cc122c9807f20dacd8f593dedbce6ce4d40115b593451e1',1,'uct.h']]], + ['uct_5fdevice_5ftype_5fnet_710',['UCT_DEVICE_TYPE_NET',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggae0c25b8c160e49fbb9cc122c9807f20da5996d835fc60fcdca9c03539b99a0a2d',1,'uct.h']]], + ['uct_5fdevice_5ftype_5fself_711',['UCT_DEVICE_TYPE_SELF',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggae0c25b8c160e49fbb9cc122c9807f20da86a97f09cfba66ff7170f77faaa2d89b',1,'uct.h']]], + ['uct_5fdevice_5ftype_5fshm_712',['UCT_DEVICE_TYPE_SHM',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggae0c25b8c160e49fbb9cc122c9807f20da3d586e5bccd77cfe8bb3c87ce3fcce06',1,'uct.h']]], + ['uct_5fdevice_5ftype_5ft_713',['uct_device_type_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gae0c25b8c160e49fbb9cc122c9807f20d',1,'uct.h']]], + ['uct_5fep_5faddr_5ft_714',['uct_ep_addr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga808816ad1373f05b9ed7f3432d9f78c6',1,'uct_def.h']]], + ['uct_5fep_5fam_5fbcopy_715',['uct_ep_am_bcopy',['../group___u_c_t___a_m.html#gae29dad6b69beaf21c19255906742e14d',1,'uct.h']]], + ['uct_5fep_5fam_5fshort_716',['uct_ep_am_short',['../group___u_c_t___a_m.html#ga0d170165e2d16dccbe45588ebad181f3',1,'uct.h']]], + ['uct_5fep_5fam_5fshort_5fiov_717',['uct_ep_am_short_iov',['../group___u_c_t___a_m.html#ga54b4c1f0426349ac9fc498736c53c0e7',1,'uct.h']]], + ['uct_5fep_5fam_5fzcopy_718',['uct_ep_am_zcopy',['../group___u_c_t___a_m.html#gae79d303f72e688df6d49bc44823c2210',1,'uct.h']]], + ['uct_5fep_5fatomic32_5ffetch_719',['uct_ep_atomic32_fetch',['../group___u_c_t___a_m_o.html#ga2d4fba85b9c7e5d70f09579bddbd91c6',1,'uct.h']]], + ['uct_5fep_5fatomic32_5fpost_720',['uct_ep_atomic32_post',['../group___u_c_t___a_m_o.html#ga81f59547148ece219e188d4196932e9f',1,'uct.h']]], + ['uct_5fep_5fatomic64_5ffetch_721',['uct_ep_atomic64_fetch',['../group___u_c_t___a_m_o.html#gae13c6bff2a3e26a133a3d17253fa3428',1,'uct.h']]], + ['uct_5fep_5fatomic64_5fpost_722',['uct_ep_atomic64_post',['../group___u_c_t___a_m_o.html#ga0e702db435215d222e12186cdcdf737c',1,'uct.h']]], + ['uct_5fep_5fatomic_5fcswap32_723',['uct_ep_atomic_cswap32',['../group___u_c_t___a_m_o.html#ga8c93ec75fb32dd52cda9cbe628b1077f',1,'uct.h']]], + ['uct_5fep_5fatomic_5fcswap64_724',['uct_ep_atomic_cswap64',['../group___u_c_t___a_m_o.html#ga84362057b7249456e00c00844fc60290',1,'uct.h']]], + ['uct_5fep_5fattr_5ft_725',['uct_ep_attr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaad8747fe0969320a445f7b9cba53d50c',1,'uct_def.h']]], + ['uct_5fep_5fcheck_726',['uct_ep_check',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga45924a1e90cc4747fd23b36a21fc07af',1,'uct.h']]], + ['uct_5fep_5fconnect_727',['uct_ep_connect',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaec09721914083255f4856da1a9541880',1,'uct.h']]], + ['uct_5fep_5fconnect_5fparam_5ffield_5fprivate_5fdata_728',['UCT_EP_CONNECT_PARAM_FIELD_PRIVATE_DATA',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaa821e2f4247cd5e72632e5ea7008e6e1a51f30ec2f30a63bdea6660a0ad61305e',1,'uct.h']]], + ['uct_5fep_5fconnect_5fparam_5ffield_5fprivate_5fdata_5flength_729',['UCT_EP_CONNECT_PARAM_FIELD_PRIVATE_DATA_LENGTH',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaa821e2f4247cd5e72632e5ea7008e6e1accc8d70e4ee5ee60283e1b53456963e1',1,'uct.h']]], + ['uct_5fep_5fconnect_5fparams_730',['uct_ep_connect_params',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__ep__connect__params',1,'']]], + ['uct_5fep_5fconnect_5fparams_5ffield_731',['uct_ep_connect_params_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaa821e2f4247cd5e72632e5ea7008e6e1',1,'uct.h']]], + ['uct_5fep_5fconnect_5fparams_5ft_732',['uct_ep_connect_params_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaddad06e96eb39d96239d984bfbbbb5c0',1,'uct_def.h']]], + ['uct_5fep_5fconnect_5fto_5fep_733',['uct_ep_connect_to_ep',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga371685403748eb72784fdcb17f9e4bdf',1,'uct.h']]], + ['uct_5fep_5fcreate_734',['uct_ep_create',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga0b2d38bde2651977c2b476e6e8866acc',1,'uct.h']]], + ['uct_5fep_5fdestroy_735',['uct_ep_destroy',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gac7d6537c7cdacdf24afeafe9c0085163',1,'uct.h']]], + ['uct_5fep_5fdisconnect_736',['uct_ep_disconnect',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga97049050f63eab653949cceef8fe4ba0',1,'uct.h']]], + ['uct_5fep_5fdisconnect_5fcb_5ft_737',['uct_ep_disconnect_cb_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaf1b75ee068dfa5fbf7194f999360197a',1,'uct_def.h']]], + ['uct_5fep_5ffence_738',['uct_ep_fence',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga34719e12b68f8ac890f261018aa6ddb3',1,'uct.h']]], + ['uct_5fep_5fflush_739',['uct_ep_flush',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga2a7a12705b1f4af41792282b59fbc8c2',1,'uct.h']]], + ['uct_5fep_5fget_5faddress_740',['uct_ep_get_address',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga23773d9d87524cfa6dc6c2d1e094d487',1,'uct.h']]], + ['uct_5fep_5fget_5fbcopy_741',['uct_ep_get_bcopy',['../group___u_c_t___r_m_a.html#ga82b06eb1ca3be490d39c70a664f12742',1,'uct.h']]], + ['uct_5fep_5fget_5fshort_742',['uct_ep_get_short',['../group___u_c_t___r_m_a.html#gaed5201516e35d10605e5db1fd0dea674',1,'uct.h']]], + ['uct_5fep_5fget_5fzcopy_743',['uct_ep_get_zcopy',['../group___u_c_t___r_m_a.html#ga535095dfcb356cfab17c319f7993d53a',1,'uct.h']]], + ['uct_5fep_5fh_744',['uct_ep_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gae7298a2b6fdb0e7771868459b10d6b20',1,'uct_def.h']]], + ['uct_5fep_5fparam_5ffield_5fcm_745',['UCT_EP_PARAM_FIELD_CM',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bab089df3f421f6fc0ccdda8b36ecd4e42',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fcm_5fresolve_5fcb_746',['UCT_EP_PARAM_FIELD_CM_RESOLVE_CB',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bab8af49c5286ab9f6b6f6f62743960f8f',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fconn_5frequest_747',['UCT_EP_PARAM_FIELD_CONN_REQUEST',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba313aa3f8e5e089fc57a0c53fa48ee72d',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fdev_5faddr_748',['UCT_EP_PARAM_FIELD_DEV_ADDR',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba14fb24fafcf9fdd0418a5dd348ab828c',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fiface_749',['UCT_EP_PARAM_FIELD_IFACE',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba082065ffa8866740ca6418a9c38b503d',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fiface_5faddr_750',['UCT_EP_PARAM_FIELD_IFACE_ADDR',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658baef938215a002d0b59812c737db0a965d',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5flocal_5fsockaddr_751',['UCT_EP_PARAM_FIELD_LOCAL_SOCKADDR',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bafdb48e56bfcdd0b9439329568885f8df',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fpath_5findex_752',['UCT_EP_PARAM_FIELD_PATH_INDEX',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658baf1b7df888b75b42a627b327003bffdb6',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fpriv_5fdata_753',['UCT_EP_PARAM_FIELD_PRIV_DATA',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba43b2ccfee5e1811447b1902e6d9962c4',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fpriv_5fdata_5flength_754',['UCT_EP_PARAM_FIELD_PRIV_DATA_LENGTH',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bac5bd575d5dddf9dd99e90251bb56faea',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fsockaddr_755',['UCT_EP_PARAM_FIELD_SOCKADDR',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bae4c4f4f2110b170ed4920529821387e6',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fsockaddr_5fcb_5fflags_756',['UCT_EP_PARAM_FIELD_SOCKADDR_CB_FLAGS',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba6489f1bcbdd0de8e2aee80661aa37ec1',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fsockaddr_5fconnect_5fcb_5fclient_757',['UCT_EP_PARAM_FIELD_SOCKADDR_CONNECT_CB_CLIENT',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bad59d4bae36d22a6d5da01512d9861256',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fsockaddr_5fdisconnect_5fcb_758',['UCT_EP_PARAM_FIELD_SOCKADDR_DISCONNECT_CB',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba148d1e23de6d640612457216ad81da29',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fsockaddr_5fnotify_5fcb_5fserver_759',['UCT_EP_PARAM_FIELD_SOCKADDR_NOTIFY_CB_SERVER',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bad86327449165ad945e6ae8a7c36c1c8c',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fsockaddr_5fpack_5fcb_760',['UCT_EP_PARAM_FIELD_SOCKADDR_PACK_CB',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba61e749dca15775eb4cbc492c020027ca',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fuser_5fdata_761',['UCT_EP_PARAM_FIELD_USER_DATA',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658babbff9b7d6a5114860d6b40f3b0c445dc',1,'uct.h']]], + ['uct_5fep_5fparams_762',['uct_ep_params',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__ep__params',1,'']]], + ['uct_5fep_5fparams_5ffield_763',['uct_ep_params_field',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga8e76f363d8805669fb5371b404c5658b',1,'uct.h']]], + ['uct_5fep_5fparams_5ft_764',['uct_ep_params_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaff904a2be18f709176eaec75e4a93251',1,'uct_def.h']]], + ['uct_5fep_5fpending_5fadd_765',['uct_ep_pending_add',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga40f4b92dd4af8da92e138816d57dfece',1,'uct.h']]], + ['uct_5fep_5fpending_5fpurge_766',['uct_ep_pending_purge',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga11196076031e7c8601241a3adbe1e561',1,'uct.h']]], + ['uct_5fep_5fput_5fbcopy_767',['uct_ep_put_bcopy',['../group___u_c_t___r_m_a.html#gad0b6f7d4ad48f672e20ff70c8e0faadc',1,'uct.h']]], + ['uct_5fep_5fput_5fshort_768',['uct_ep_put_short',['../group___u_c_t___r_m_a.html#ga2dfc08ad6547e081cddd7457c19417b1',1,'uct.h']]], + ['uct_5fep_5fput_5fzcopy_769',['uct_ep_put_zcopy',['../group___u_c_t___r_m_a.html#gaed8c42bab761c97bc0a1516fbf552583',1,'uct.h']]], + ['uct_5fep_5ftag_5feager_5fbcopy_770',['uct_ep_tag_eager_bcopy',['../group___u_c_t___t_a_g.html#ga08d520cd093b8c661c3f5a3bd863b7c2',1,'uct.h']]], + ['uct_5fep_5ftag_5feager_5fshort_771',['uct_ep_tag_eager_short',['../group___u_c_t___t_a_g.html#ga5e595ff1d9e77bd5b4abe84fae3ac117',1,'uct.h']]], + ['uct_5fep_5ftag_5feager_5fzcopy_772',['uct_ep_tag_eager_zcopy',['../group___u_c_t___t_a_g.html#gaab6efb1df0527e53a0c1528cc80f64e4',1,'uct.h']]], + ['uct_5fep_5ftag_5frndv_5fcancel_773',['uct_ep_tag_rndv_cancel',['../group___u_c_t___t_a_g.html#gaee99ff7af5b69b653977e4db2b5fef8b',1,'uct.h']]], + ['uct_5fep_5ftag_5frndv_5frequest_774',['uct_ep_tag_rndv_request',['../group___u_c_t___t_a_g.html#ga0b01e46c59a9d713495e4be1cdc6edda',1,'uct.h']]], + ['uct_5fep_5ftag_5frndv_5fzcopy_775',['uct_ep_tag_rndv_zcopy',['../group___u_c_t___t_a_g.html#ga897e5cfaa4998fdcb36128624635460a',1,'uct.h']]], + ['uct_5ferror_5fhandler_5ft_776',['uct_error_handler_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga119fc03d8825b540252406cfeb280897',1,'uct_def.h']]], + ['uct_5fevent_5frecv_777',['UCT_EVENT_RECV',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggaef09139f303b0a3d28a1cea524dc3bd2a1381e135252b79646cdb3a6f3d15431e',1,'uct.h']]], + ['uct_5fevent_5frecv_5fsig_778',['UCT_EVENT_RECV_SIG',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggaef09139f303b0a3d28a1cea524dc3bd2ab5b97562ce555a0979a56bd1d9810eaf',1,'uct.h']]], + ['uct_5fevent_5fsend_5fcomp_779',['UCT_EVENT_SEND_COMP',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggaef09139f303b0a3d28a1cea524dc3bd2aba611824db8eb31b9eb07111f987e011',1,'uct.h']]], + ['uct_5fflush_5fflag_5fcancel_780',['UCT_FLUSH_FLAG_CANCEL',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga84ba23c28fda1c96f5018bbafb7ffed6a556a8cb417f5b6e21b0be93297eb2f45',1,'uct.h']]], + ['uct_5fflush_5fflag_5flocal_781',['UCT_FLUSH_FLAG_LOCAL',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga84ba23c28fda1c96f5018bbafb7ffed6ad0b221329684853b22a60d88e0dd8bac',1,'uct.h']]], + ['uct_5fflush_5fflags_782',['uct_flush_flags',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga84ba23c28fda1c96f5018bbafb7ffed6',1,'uct.h']]], + ['uct_5fiface_5faccept_783',['uct_iface_accept',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaadcca33083e95033b161b4f5b1365dc9',1,'uct.h']]], + ['uct_5fiface_5faddr_5ft_784',['uct_iface_addr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga96d01980a33064e85158b9028073e96c',1,'uct_def.h']]], + ['uct_5fiface_5fattr_785',['uct_iface_attr',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr',1,'']]], + ['uct_5fiface_5fattr_2ecap_786',['uct_iface_attr.cap',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap',1,'']]], + ['uct_5fiface_5fattr_2ecap_2eam_787',['uct_iface_attr.cap.am',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8am',1,'']]], + ['uct_5fiface_5fattr_2ecap_2eatomic32_788',['uct_iface_attr.cap.atomic32',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8atomic32',1,'']]], + ['uct_5fiface_5fattr_2ecap_2eatomic64_789',['uct_iface_attr.cap.atomic64',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8atomic64',1,'']]], + ['uct_5fiface_5fattr_2ecap_2eget_790',['uct_iface_attr.cap.get',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8get',1,'']]], + ['uct_5fiface_5fattr_2ecap_2eput_791',['uct_iface_attr.cap.put',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8put',1,'']]], + ['uct_5fiface_5fattr_2ecap_2etag_792',['uct_iface_attr.cap.tag',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag',1,'']]], + ['uct_5fiface_5fattr_2ecap_2etag_2eeager_793',['uct_iface_attr.cap.tag.eager',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag_8eager',1,'']]], + ['uct_5fiface_5fattr_2ecap_2etag_2erecv_794',['uct_iface_attr.cap.tag.recv',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag_8recv',1,'']]], + ['uct_5fiface_5fattr_2ecap_2etag_2erndv_795',['uct_iface_attr.cap.tag.rndv',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag_8rndv',1,'']]], + ['uct_5fiface_5fattr_5ft_796',['uct_iface_attr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga64b102833286ad65e2802002e0f403be',1,'uct_def.h']]], + ['uct_5fiface_5fclose_797',['uct_iface_close',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga748bd92ba4e62fd86c6b002f9198e2aa',1,'uct.h']]], + ['uct_5fiface_5fconfig_5ft_798',['uct_iface_config_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga9769f5a67e7c711eb95abe993f794207',1,'uct_def.h']]], + ['uct_5fiface_5fevent_5farm_799',['uct_iface_event_arm',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaf15e9f37d3ce5273153861522a443acf',1,'uct.h']]], + ['uct_5fiface_5fevent_5ffd_5fget_800',['uct_iface_event_fd_get',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gae3aa273c042171bee7292da0d7f774d1',1,'uct.h']]], + ['uct_5fiface_5fevent_5ftypes_801',['uct_iface_event_types',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaef09139f303b0a3d28a1cea524dc3bd2',1,'uct.h']]], + ['uct_5fiface_5ffeature_802',['uct_iface_feature',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga078dd84cff9d6b1cda5692fbf6b1e7c7',1,'uct.h']]], + ['uct_5fiface_5ffeature_5fam_803',['UCT_IFACE_FEATURE_AM',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7a4bce30860f36cee1a7b74f6cd2c061ad',1,'uct.h']]], + ['uct_5fiface_5ffeature_5famo32_804',['UCT_IFACE_FEATURE_AMO32',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7a06a813eb45714bc70e154691d82e5e81',1,'uct.h']]], + ['uct_5fiface_5ffeature_5famo64_805',['UCT_IFACE_FEATURE_AMO64',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7af6bebc50b5e4169f38cddaacc7ba7a7a',1,'uct.h']]], + ['uct_5fiface_5ffeature_5fget_806',['UCT_IFACE_FEATURE_GET',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7ae80cd4ab8043e2df41d2d81854686415',1,'uct.h']]], + ['uct_5fiface_5ffeature_5flast_807',['UCT_IFACE_FEATURE_LAST',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7ab317c0279d872516f011df628d67dd9f',1,'uct.h']]], + ['uct_5fiface_5ffeature_5fput_808',['UCT_IFACE_FEATURE_PUT',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7a59d0a64607692e3ff39fa61a899c7633',1,'uct.h']]], + ['uct_5fiface_5ffeature_5ftag_809',['UCT_IFACE_FEATURE_TAG',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7a08d34bf9a962d1b27b0c92865c773854',1,'uct.h']]], + ['uct_5fiface_5ffence_810',['uct_iface_fence',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaa8d42856661922581a683030dd9c8990',1,'uct.h']]], + ['uct_5fiface_5fflag_5fam_5fbcopy_811',['UCT_IFACE_FLAG_AM_BCOPY',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga157f699933110d47857b84d06de36c21',1,'uct.h']]], + ['uct_5fiface_5fflag_5fam_5fdup_812',['UCT_IFACE_FLAG_AM_DUP',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga57467dcc8d7be9b69caa2c886e2bf05a',1,'uct.h']]], + ['uct_5fiface_5fflag_5fam_5fshort_813',['UCT_IFACE_FLAG_AM_SHORT',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gaa58cb476c781afcc74ce00849cc1884c',1,'uct.h']]], + ['uct_5fiface_5fflag_5fam_5fzcopy_814',['UCT_IFACE_FLAG_AM_ZCOPY',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga480d42a7324a6944049f5f2ded5da783',1,'uct.h']]], + ['uct_5fiface_5fflag_5fatomic_5fcpu_815',['UCT_IFACE_FLAG_ATOMIC_CPU',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gad3c9946b758176b203769c4257751e05',1,'uct.h']]], + ['uct_5fiface_5fflag_5fatomic_5fdevice_816',['UCT_IFACE_FLAG_ATOMIC_DEVICE',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga264f4b6d97d47bba154940db2d39108f',1,'uct.h']]], + ['uct_5fiface_5fflag_5fcb_5fasync_817',['UCT_IFACE_FLAG_CB_ASYNC',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga0d11615d226392d79f547669968b4b90',1,'uct.h']]], + ['uct_5fiface_5fflag_5fcb_5fsync_818',['UCT_IFACE_FLAG_CB_SYNC',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga2e3c98ee6cfe8abe7769a3442fbaffaf',1,'uct.h']]], + ['uct_5fiface_5fflag_5fconnect_5fto_5fep_819',['UCT_IFACE_FLAG_CONNECT_TO_EP',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga598f1ae11f9ed8cfed2f6c04bbb0bfe8',1,'uct.h']]], + ['uct_5fiface_5fflag_5fconnect_5fto_5fiface_820',['UCT_IFACE_FLAG_CONNECT_TO_IFACE',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gac56a560766f8c50bef684e0e6b4efd18',1,'uct.h']]], + ['uct_5fiface_5fflag_5fconnect_5fto_5fsockaddr_821',['UCT_IFACE_FLAG_CONNECT_TO_SOCKADDR',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gadd27aab0e67faf844b0ec9011b5ff7dc',1,'uct.h']]], + ['uct_5fiface_5fflag_5fep_5fcheck_822',['UCT_IFACE_FLAG_EP_CHECK',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga0faa7a7889f57ccdc40fcb4c949d177c',1,'uct.h']]], + ['uct_5fiface_5fflag_5fep_5fkeepalive_823',['UCT_IFACE_FLAG_EP_KEEPALIVE',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gafd21d995c6a98421676ff9881c3fd30d',1,'uct.h']]], + ['uct_5fiface_5fflag_5ferrhandle_5fam_5fid_824',['UCT_IFACE_FLAG_ERRHANDLE_AM_ID',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga645a61b3a77a69abd3263b4c8cff162c',1,'uct.h']]], + ['uct_5fiface_5fflag_5ferrhandle_5fbcopy_5fbuf_825',['UCT_IFACE_FLAG_ERRHANDLE_BCOPY_BUF',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gac0767646add241453d8835c81a370ad4',1,'uct.h']]], + ['uct_5fiface_5fflag_5ferrhandle_5fbcopy_5flen_826',['UCT_IFACE_FLAG_ERRHANDLE_BCOPY_LEN',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga4fc39074e1a50d6fd8e5b009634090a8',1,'uct.h']]], + ['uct_5fiface_5fflag_5ferrhandle_5fpeer_5ffailure_827',['UCT_IFACE_FLAG_ERRHANDLE_PEER_FAILURE',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga2dd3b3fa9d757d3835a5cfe33778e51c',1,'uct.h']]], + ['uct_5fiface_5fflag_5ferrhandle_5fremote_5fmem_828',['UCT_IFACE_FLAG_ERRHANDLE_REMOTE_MEM',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga72ea5a02a74d3badb058dcb27c28d33f',1,'uct.h']]], + ['uct_5fiface_5fflag_5ferrhandle_5fshort_5fbuf_829',['UCT_IFACE_FLAG_ERRHANDLE_SHORT_BUF',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga8c2b68ef2471f41887923d60d7e7bc30',1,'uct.h']]], + ['uct_5fiface_5fflag_5ferrhandle_5fzcopy_5fbuf_830',['UCT_IFACE_FLAG_ERRHANDLE_ZCOPY_BUF',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga58d7b4bd4ce94d95f91f95cbfacc3687',1,'uct.h']]], + ['uct_5fiface_5fflag_5fevent_5fasync_5fcb_831',['UCT_IFACE_FLAG_EVENT_ASYNC_CB',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html#gae0199c5efa567b5906fb4119c84eeb90',1,'uct.h']]], + ['uct_5fiface_5fflag_5fevent_5ffd_832',['UCT_IFACE_FLAG_EVENT_FD',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html#gab3643d171600157693ecbc8b8a57ddb8',1,'uct.h']]], + ['uct_5fiface_5fflag_5fevent_5frecv_833',['UCT_IFACE_FLAG_EVENT_RECV',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html#ga8f30d238efddb2735f400a93d84741ec',1,'uct.h']]], + ['uct_5fiface_5fflag_5fevent_5frecv_5fsig_834',['UCT_IFACE_FLAG_EVENT_RECV_SIG',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html#ga92e91487e2c27a69934f84e3331012da',1,'uct.h']]], + ['uct_5fiface_5fflag_5fevent_5fsend_5fcomp_835',['UCT_IFACE_FLAG_EVENT_SEND_COMP',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html#ga4070a894b32d49061c07d5e636d2c7ae',1,'uct.h']]], + ['uct_5fiface_5fflag_5fget_5fbcopy_836',['UCT_IFACE_FLAG_GET_BCOPY',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga2bd7e6c6fb89b6f6922e4cd5b22976d1',1,'uct.h']]], + ['uct_5fiface_5fflag_5fget_5fshort_837',['UCT_IFACE_FLAG_GET_SHORT',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga71df9bc5c060b753e50ddeabf05464f8',1,'uct.h']]], + ['uct_5fiface_5fflag_5fget_5fzcopy_838',['UCT_IFACE_FLAG_GET_ZCOPY',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga2b06fb927355693fd2887a237521238a',1,'uct.h']]], + ['uct_5fiface_5fflag_5fpending_839',['UCT_IFACE_FLAG_PENDING',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gaeaaca09dbcf32488f508327b00d6f386',1,'uct.h']]], + ['uct_5fiface_5fflag_5fput_5fbcopy_840',['UCT_IFACE_FLAG_PUT_BCOPY',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga8370f7eb1b51d788b28a7b9391818b5a',1,'uct.h']]], + ['uct_5fiface_5fflag_5fput_5fshort_841',['UCT_IFACE_FLAG_PUT_SHORT',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga505de892b063f532d31e4903ad9c1126',1,'uct.h']]], + ['uct_5fiface_5fflag_5fput_5fzcopy_842',['UCT_IFACE_FLAG_PUT_ZCOPY',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gabb6ace47f4fac09f529b21e1e0b3aef8',1,'uct.h']]], + ['uct_5fiface_5fflag_5ftag_5feager_5fbcopy_843',['UCT_IFACE_FLAG_TAG_EAGER_BCOPY',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gaa31a85814a4c1f1d2b650ed962697c24',1,'uct.h']]], + ['uct_5fiface_5fflag_5ftag_5feager_5fshort_844',['UCT_IFACE_FLAG_TAG_EAGER_SHORT',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga3d034538bcf657f976ae500d8143ed64',1,'uct.h']]], + ['uct_5fiface_5fflag_5ftag_5feager_5fzcopy_845',['UCT_IFACE_FLAG_TAG_EAGER_ZCOPY',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#ga8bdcd3907a6cf4f5cb951994ae9da7bb',1,'uct.h']]], + ['uct_5fiface_5fflag_5ftag_5frndv_5fzcopy_846',['UCT_IFACE_FLAG_TAG_RNDV_ZCOPY',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html#gac7f2200f52db88d3634089d8cdf2100c',1,'uct.h']]], + ['uct_5fiface_5fflush_847',['uct_iface_flush',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga6cda14e7c03e4f400be46fe97aa23bed',1,'uct.h']]], + ['uct_5fiface_5fget_5faddress_848',['uct_iface_get_address',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga7da50f02f6cfaaf16f11c620fba9f3b8',1,'uct.h']]], + ['uct_5fiface_5fget_5fdevice_5faddress_849',['uct_iface_get_device_address',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga67f64f9b1971622ab8e7c8410cc5ab44',1,'uct.h']]], + ['uct_5fiface_5fh_850',['uct_iface_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gab6decd0363732ac4187bf7aa37883c35',1,'uct_def.h']]], + ['uct_5fiface_5fis_5freachable_851',['uct_iface_is_reachable',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gadf8829d8c85620cbc1ddfc0f3e8ec9a8',1,'uct.h']]], + ['uct_5fiface_5fmem_5falloc_852',['uct_iface_mem_alloc',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaa29727b03b244839f0c068d0785f0050',1,'uct.h']]], + ['uct_5fiface_5fmem_5ffree_853',['uct_iface_mem_free',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga198359eccf0ae85f1c13d4d8509f5532',1,'uct.h']]], + ['uct_5fiface_5fopen_854',['uct_iface_open',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga031e2c99f03585c0f4c7356c71f0fbb1',1,'uct.h']]], + ['uct_5fiface_5fopen_5fmode_855',['uct_iface_open_mode',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga8bc9c95ee7fbd76321940e2853d08bb5',1,'uct.h']]], + ['uct_5fiface_5fopen_5fmode_5fdevice_856',['UCT_IFACE_OPEN_MODE_DEVICE',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8bc9c95ee7fbd76321940e2853d08bb5a504bef9a8574445a0dfdcf517160fef0',1,'uct.h']]], + ['uct_5fiface_5fopen_5fmode_5fsockaddr_5fclient_857',['UCT_IFACE_OPEN_MODE_SOCKADDR_CLIENT',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8bc9c95ee7fbd76321940e2853d08bb5ab596bc437bc4e84500039aafcf5adfeb',1,'uct.h']]], + ['uct_5fiface_5fopen_5fmode_5fsockaddr_5fserver_858',['UCT_IFACE_OPEN_MODE_SOCKADDR_SERVER',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8bc9c95ee7fbd76321940e2853d08bb5a9b2655b644fae2cf20d5b673854c9ad0',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fam_5falign_5foffset_859',['UCT_IFACE_PARAM_FIELD_AM_ALIGN_OFFSET',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a22a9554ccdc8209f81d7d5b5a8e39780',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fam_5falignment_860',['UCT_IFACE_PARAM_FIELD_AM_ALIGNMENT',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a8d676d1b40253cacf1abb4302d448d3a',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fasync_5fevent_5farg_861',['UCT_IFACE_PARAM_FIELD_ASYNC_EVENT_ARG',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a8d6361b77aae50f66b88b13826375aed',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fasync_5fevent_5fcb_862',['UCT_IFACE_PARAM_FIELD_ASYNC_EVENT_CB',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a83e8eb07f6d7e357001a0ac826857ebd',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fcpu_5fmask_863',['UCT_IFACE_PARAM_FIELD_CPU_MASK',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a80cd3b1a8f9de031df8aa12e7a0eb08b',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fdevice_864',['UCT_IFACE_PARAM_FIELD_DEVICE',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a0f56ae54f7fcd7a002588a75e207f8a2',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5ferr_5fhandler_865',['UCT_IFACE_PARAM_FIELD_ERR_HANDLER',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a57771259693749559910cbf8256ef7a1',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5ferr_5fhandler_5farg_866',['UCT_IFACE_PARAM_FIELD_ERR_HANDLER_ARG',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596ab0a406683b45f265eaf9edc794e72e7e',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5ferr_5fhandler_5fflags_867',['UCT_IFACE_PARAM_FIELD_ERR_HANDLER_FLAGS',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a2f97be5b7ef0e542fc39fe778c85097e',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5ffeatures_868',['UCT_IFACE_PARAM_FIELD_FEATURES',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596ad5efe451d0f04d6929f39b66cdc8d889',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fhw_5ftm_5feager_5farg_869',['UCT_IFACE_PARAM_FIELD_HW_TM_EAGER_ARG',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596ad4afd13a4a6e36adb6e5576de666ab64',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fhw_5ftm_5feager_5fcb_870',['UCT_IFACE_PARAM_FIELD_HW_TM_EAGER_CB',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a9dcb103f9b93d5c37d5b1ff401fda324',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fhw_5ftm_5frndv_5farg_871',['UCT_IFACE_PARAM_FIELD_HW_TM_RNDV_ARG',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a5b7da96e1cd28639f489bcf08194ecd7',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fhw_5ftm_5frndv_5fcb_872',['UCT_IFACE_PARAM_FIELD_HW_TM_RNDV_CB',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a2c2b16ef1c537d1596ceb7b72fbf3145',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fkeepalive_5finterval_873',['UCT_IFACE_PARAM_FIELD_KEEPALIVE_INTERVAL',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a3b05690f0c5ae7cf346a1e7a00186953',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fopen_5fmode_874',['UCT_IFACE_PARAM_FIELD_OPEN_MODE',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a436751cf65204ec8d37e649b0913eff7',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5frx_5fheadroom_875',['UCT_IFACE_PARAM_FIELD_RX_HEADROOM',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596aabb0425ec3c58345ba973683b72dc255',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fsockaddr_876',['UCT_IFACE_PARAM_FIELD_SOCKADDR',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596af01913e91929ae3c52c465e5df97bec3',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fstats_5froot_877',['UCT_IFACE_PARAM_FIELD_STATS_ROOT',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a7af1c01a0aa6c8d7ddc167cd516f3272',1,'uct.h']]], + ['uct_5fiface_5fparams_878',['uct_iface_params',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__params',1,'']]], + ['uct_5fiface_5fparams_2emode_879',['uct_iface_params.mode',['../group___u_c_t___r_e_s_o_u_r_c_e.html#unionuct__iface__params_8mode',1,'']]], + ['uct_5fiface_5fparams_2emode_2edevice_880',['uct_iface_params.mode.device',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__params_8mode_8device',1,'']]], + ['uct_5fiface_5fparams_2emode_2esockaddr_881',['uct_iface_params.mode.sockaddr',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__params_8mode_8sockaddr',1,'']]], + ['uct_5fiface_5fparams_5ffield_882',['uct_iface_params_field',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga896baeefc7933d925202c32b0d09f596',1,'uct.h']]], + ['uct_5fiface_5fparams_5ft_883',['uct_iface_params_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaff593598b5296991d8081a289f7a7d40',1,'uct_def.h']]], + ['uct_5fiface_5fprogress_884',['uct_iface_progress',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga56dd7c8b9f4b02ae5da179a3055bcb81',1,'uct.h']]], + ['uct_5fiface_5fprogress_5fdisable_885',['uct_iface_progress_disable',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga7acfd29e7d7bb8566cfbbf02916bc466',1,'uct.h']]], + ['uct_5fiface_5fprogress_5fenable_886',['uct_iface_progress_enable',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga9f14d2694a06d5ea9e6434a52f8d3ff0',1,'uct.h']]], + ['uct_5fiface_5fquery_887',['uct_iface_query',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gac2ec7cdee76fa075cc65185d7c134bc2',1,'uct.h']]], + ['uct_5fiface_5freject_888',['uct_iface_reject',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga31c30e35f43121d1715620931860dafe',1,'uct.h']]], + ['uct_5fiface_5frelease_5fdesc_889',['uct_iface_release_desc',['../group___u_c_t___a_m.html#gac894ed0c24a3481f316945a462d67921',1,'uct.h']]], + ['uct_5fiface_5fset_5fam_5fhandler_890',['uct_iface_set_am_handler',['../group___u_c_t___a_m.html#ga81dd3f74f8dc8c2c950d932fca0f799e',1,'uct.h']]], + ['uct_5fiface_5fset_5fam_5ftracer_891',['uct_iface_set_am_tracer',['../group___u_c_t___a_m.html#gaed13079973d867e4bb18be3696216a3a',1,'uct.h']]], + ['uct_5fiface_5ftag_5frecv_5fcancel_892',['uct_iface_tag_recv_cancel',['../group___u_c_t___t_a_g.html#gad2448d4cf5325dec5aa9c69ae4a025e1',1,'uct.h']]], + ['uct_5fiface_5ftag_5frecv_5fzcopy_893',['uct_iface_tag_recv_zcopy',['../group___u_c_t___t_a_g.html#gac4ba076343a68f330e5c4659d38bb383',1,'uct.h']]], + ['uct_5fiov_894',['uct_iov',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iov',1,'']]], + ['uct_5fiov_5ft_895',['uct_iov_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga0012e635ed11cf3ffd9f61705de73b52',1,'uct_def.h']]], + ['uct_5flistener_5fattr_896',['uct_listener_attr',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__listener__attr',1,'']]], + ['uct_5flistener_5fattr_5ffield_897',['uct_listener_attr_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gad253d9c2e4116f9a137a2d2450afbe66',1,'uct.h']]], + ['uct_5flistener_5fattr_5ffield_5fsockaddr_898',['UCT_LISTENER_ATTR_FIELD_SOCKADDR',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggad253d9c2e4116f9a137a2d2450afbe66af566cba098163f464bdad7c392232c3f',1,'uct.h']]], + ['uct_5flistener_5fattr_5ft_899',['uct_listener_attr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gad9c5692c9af9e043f6ee4ad3a15dced6',1,'uct_def.h']]], + ['uct_5flistener_5fcreate_900',['uct_listener_create',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gadb87c52696a73feae4e1d6e0b9a01911',1,'uct.h']]], + ['uct_5flistener_5fdestroy_901',['uct_listener_destroy',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga8f6a0c420fbca1b5fbe7c1d919757d3f',1,'uct.h']]], + ['uct_5flistener_5fh_902',['uct_listener_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaf88468443532bb4b677b18f038b6f60e',1,'uct_def.h']]], + ['uct_5flistener_5fparam_5ffield_5fbacklog_903',['UCT_LISTENER_PARAM_FIELD_BACKLOG',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaf716bd7cdc636377ef78c258886693c7aa2a3bbfd550dc87ed8bba5cf960068fa',1,'uct.h']]], + ['uct_5flistener_5fparam_5ffield_5fconn_5frequest_5fcb_904',['UCT_LISTENER_PARAM_FIELD_CONN_REQUEST_CB',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaf716bd7cdc636377ef78c258886693c7a8a9ba7427c813614e65f29c38225ab44',1,'uct.h']]], + ['uct_5flistener_5fparam_5ffield_5fuser_5fdata_905',['UCT_LISTENER_PARAM_FIELD_USER_DATA',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaf716bd7cdc636377ef78c258886693c7af6172e01a7919f4afd27fa5e0aa0b794',1,'uct.h']]], + ['uct_5flistener_5fparams_906',['uct_listener_params',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__listener__params',1,'']]], + ['uct_5flistener_5fparams_5ffield_907',['uct_listener_params_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaf716bd7cdc636377ef78c258886693c7',1,'uct.h']]], + ['uct_5flistener_5fparams_5ft_908',['uct_listener_params_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga8d8a6ca0e12e5f1bc54f8c85bda14d59',1,'uct_def.h']]], + ['uct_5flistener_5fquery_909',['uct_listener_query',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gae8b7a5fbada262d0f312970f018a916e',1,'uct.h']]], + ['uct_5flistener_5freject_910',['uct_listener_reject',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaa8d1ea690c1600dc334ae6a014110d5e',1,'uct.h']]], + ['uct_5fmadv_5fnormal_911',['UCT_MADV_NORMAL',['../group___u_c_t___m_d.html#gga72172b231f5e9df777cb130b9f908397a44cc1f4e9d750610f872680ad83a5693',1,'uct.h']]], + ['uct_5fmadv_5fwillneed_912',['UCT_MADV_WILLNEED',['../group___u_c_t___m_d.html#gga72172b231f5e9df777cb130b9f908397af2f40857cea090977db8a5994b334594',1,'uct.h']]], + ['uct_20memory_20domain_913',['UCT Memory Domain',['../group___u_c_t___m_d.html',1,'']]], + ['uct_5fmd_5fattr_914',['uct_md_attr',['../group___u_c_t___m_d.html#structuct__md__attr',1,'']]], + ['uct_5fmd_5fattr_2ecap_915',['uct_md_attr.cap',['../group___u_c_t___m_d.html#structuct__md__attr_8cap',1,'']]], + ['uct_5fmd_5fattr_5ft_916',['uct_md_attr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga9e9485d79fdf2f153e05cc5282ab57fd',1,'uct_def.h']]], + ['uct_5fmd_5fclose_917',['uct_md_close',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gac9ab18f8a48b07429c9987b584fe5574',1,'uct.h']]], + ['uct_5fmd_5fconfig_5fread_918',['uct_md_config_read',['../group___u_c_t___m_d.html#ga8fd8d3ebc188c9016a179d5678c0a71f',1,'uct.h']]], + ['uct_5fmd_5fconfig_5ft_919',['uct_md_config_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gabfb351862f43010ab8d5bbdb2495d0ee',1,'uct_def.h']]], + ['uct_5fmd_5fdetect_5fmemory_5ftype_920',['uct_md_detect_memory_type',['../group___u_c_t___m_d.html#gac69d1df8de5ff0b6422af01c3befe67f',1,'uct.h']]], + ['uct_5fmd_5fflag_5fadvise_921',['UCT_MD_FLAG_ADVISE',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9ea489e86d8c4f7630c5b15ba37c11e8598',1,'uct.h']]], + ['uct_5fmd_5fflag_5falloc_922',['UCT_MD_FLAG_ALLOC',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9eace1638df732eb289b9dd6255101c6532',1,'uct.h']]], + ['uct_5fmd_5fflag_5ffixed_923',['UCT_MD_FLAG_FIXED',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9eae948128d19128010bff52f39b2ea8528',1,'uct.h']]], + ['uct_5fmd_5fflag_5finvalidate_924',['UCT_MD_FLAG_INVALIDATE',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9ea3b11ef8fb3fcf99c71ce1f91b03ecd2d',1,'uct.h']]], + ['uct_5fmd_5fflag_5fneed_5fmemh_925',['UCT_MD_FLAG_NEED_MEMH',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9ea8badc53da14cdd45fa70178483091e55',1,'uct.h']]], + ['uct_5fmd_5fflag_5fneed_5frkey_926',['UCT_MD_FLAG_NEED_RKEY',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9eafc6830135c641eecf0200f9990257e10',1,'uct.h']]], + ['uct_5fmd_5fflag_5freg_927',['UCT_MD_FLAG_REG',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9eac2a33833ce3c103c3de54332c512eba7',1,'uct.h']]], + ['uct_5fmd_5fflag_5frkey_5fptr_928',['UCT_MD_FLAG_RKEY_PTR',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9ea8e6750832a6a17fc5aff65c767d0e5b5',1,'uct.h']]], + ['uct_5fmd_5fflag_5fsockaddr_929',['UCT_MD_FLAG_SOCKADDR',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9ea1ef79afc094919112724f8eb82c2484b',1,'uct.h']]], + ['uct_5fmd_5fh_930',['uct_md_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga80ea2d5570f0cef850d315ce72ea8307',1,'uct_def.h']]], + ['uct_5fmd_5fiface_5fconfig_5fread_931',['uct_md_iface_config_read',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gace64468ec8d46cbcbcfa6efd74e1148c',1,'uct.h']]], + ['uct_5fmd_5fis_5fsockaddr_5faccessible_932',['uct_md_is_sockaddr_accessible',['../group___u_c_t___m_d.html#ga9d4cd6b6f3206610cbe83cab3eb1e90d',1,'uct.h']]], + ['uct_5fmd_5fmem_5faccess_5fall_933',['UCT_MD_MEM_ACCESS_ALL',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa8de9fc3e5e9a93abee846dbce6f51471',1,'uct.h']]], + ['uct_5fmd_5fmem_5faccess_5flocal_5fread_934',['UCT_MD_MEM_ACCESS_LOCAL_READ',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aaec71b48ac78529034432e702ae2497af',1,'uct.h']]], + ['uct_5fmd_5fmem_5faccess_5flocal_5fwrite_935',['UCT_MD_MEM_ACCESS_LOCAL_WRITE',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa3da522cc5178d7330279de64c6d8a42d',1,'uct.h']]], + ['uct_5fmd_5fmem_5faccess_5fremote_5fatomic_936',['UCT_MD_MEM_ACCESS_REMOTE_ATOMIC',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa4478fefd476fe66f7a1721161e3773e1',1,'uct.h']]], + ['uct_5fmd_5fmem_5faccess_5fremote_5fget_937',['UCT_MD_MEM_ACCESS_REMOTE_GET',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa4a699e49e99a57afab4fb7b4825e8a5e',1,'uct.h']]], + ['uct_5fmd_5fmem_5faccess_5fremote_5fput_938',['UCT_MD_MEM_ACCESS_REMOTE_PUT',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa107516b36500372eac7e05bdb71cf4a1',1,'uct.h']]], + ['uct_5fmd_5fmem_5faccess_5frma_939',['UCT_MD_MEM_ACCESS_RMA',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa53c0d5770a5c69086d0aaa58e7398fa8',1,'uct.h']]], + ['uct_5fmd_5fmem_5fadvise_940',['uct_md_mem_advise',['../group___u_c_t___m_d.html#gaf5f8ef1c6302792c726b294c84ef06c6',1,'uct.h']]], + ['uct_5fmd_5fmem_5fattr_941',['uct_md_mem_attr',['../group___u_c_t___m_d.html#structuct__md__mem__attr',1,'']]], + ['uct_5fmd_5fmem_5fattr_5ffield_942',['uct_md_mem_attr_field',['../group___u_c_t___m_d.html#gac4f1c9728c529e4f35eaf03bc14c6977',1,'uct.h']]], + ['uct_5fmd_5fmem_5fattr_5ffield_5falloc_5flength_943',['UCT_MD_MEM_ATTR_FIELD_ALLOC_LENGTH',['../group___u_c_t___m_d.html#ggac4f1c9728c529e4f35eaf03bc14c6977a7f5f99bb05148218a1855f3f8344aabb',1,'uct.h']]], + ['uct_5fmd_5fmem_5fattr_5ffield_5fbase_5faddress_944',['UCT_MD_MEM_ATTR_FIELD_BASE_ADDRESS',['../group___u_c_t___m_d.html#ggac4f1c9728c529e4f35eaf03bc14c6977a132548201e6dba2fca6b03385eed2356',1,'uct.h']]], + ['uct_5fmd_5fmem_5fattr_5ffield_5fmem_5ftype_945',['UCT_MD_MEM_ATTR_FIELD_MEM_TYPE',['../group___u_c_t___m_d.html#ggac4f1c9728c529e4f35eaf03bc14c6977a873fb4c4b884a7598873badb63a8caf9',1,'uct.h']]], + ['uct_5fmd_5fmem_5fattr_5ffield_5fsys_5fdev_946',['UCT_MD_MEM_ATTR_FIELD_SYS_DEV',['../group___u_c_t___m_d.html#ggac4f1c9728c529e4f35eaf03bc14c6977a1b869b2080c1ab765fa0b67a86dabb24',1,'uct.h']]], + ['uct_5fmd_5fmem_5fattr_5ffield_5ft_947',['uct_md_mem_attr_field_t',['../group___u_c_t___m_d.html#ga917d3c2d8def6607353178b53c159f79',1,'uct.h']]], + ['uct_5fmd_5fmem_5fattr_5ft_948',['uct_md_mem_attr_t',['../group___u_c_t___m_d.html#ga99d7da89ab336ca94345be7f887a5877',1,'uct.h']]], + ['uct_5fmd_5fmem_5fdereg_949',['uct_md_mem_dereg',['../group___u_c_t___m_d.html#gaf1e9ff0364ec4d2bb05c06a2fab67dd5',1,'uct.h']]], + ['uct_5fmd_5fmem_5fflag_5ffixed_950',['UCT_MD_MEM_FLAG_FIXED',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aac91502fd80954a19287b56c82d8c15e8',1,'uct.h']]], + ['uct_5fmd_5fmem_5fflag_5fhide_5ferrors_951',['UCT_MD_MEM_FLAG_HIDE_ERRORS',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aac9affab2e3fc8ce0237b8b7800731c49',1,'uct.h']]], + ['uct_5fmd_5fmem_5fflag_5flock_952',['UCT_MD_MEM_FLAG_LOCK',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa177416f1bc52ecf58571f2320ea860f4',1,'uct.h']]], + ['uct_5fmd_5fmem_5fflag_5fnonblock_953',['UCT_MD_MEM_FLAG_NONBLOCK',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa156afde3449517fd4d518148df8e3e24',1,'uct.h']]], + ['uct_5fmd_5fmem_5fflags_954',['uct_md_mem_flags',['../group___u_c_t___m_d.html#ga3b0345adc84e4b3224366502aca5e11a',1,'uct.h']]], + ['uct_5fmd_5fmem_5fquery_955',['uct_md_mem_query',['../group___u_c_t___m_d.html#ga7d8cf921f8fd8fba4545c568d495bc8f',1,'uct.h']]], + ['uct_5fmd_5fmem_5freg_956',['uct_md_mem_reg',['../group___u_c_t___m_d.html#gadafbaee4d8462954361fd2a41c8069e0',1,'uct.h']]], + ['uct_5fmd_5fmkey_5fpack_957',['uct_md_mkey_pack',['../group___u_c_t___m_d.html#ga91cc404f53a9ef031c7bfbe886c0f414',1,'uct.h']]], + ['uct_5fmd_5fopen_958',['uct_md_open',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga6254b927d3bfcb9699dbf82f0987b9ce',1,'uct.h']]], + ['uct_5fmd_5fops_5ft_959',['uct_md_ops_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gac8dbb0c7c104ee4eb86cb299e56a535e',1,'uct_def.h']]], + ['uct_5fmd_5fquery_960',['uct_md_query',['../group___u_c_t___m_d.html#gae7f6d3f902cff0370fe0f07f841898f1',1,'uct.h']]], + ['uct_5fmd_5fquery_5ftl_5fresources_961',['uct_md_query_tl_resources',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gae4572e36e60bf2665e59cc7ef04bb011',1,'uct.h']]], + ['uct_5fmd_5fresource_5fdesc_962',['uct_md_resource_desc',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__md__resource__desc',1,'']]], + ['uct_5fmd_5fresource_5fdesc_5ft_963',['uct_md_resource_desc_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaf0054bef6a6e9a76677d1d9bac50a5cb',1,'uct.h']]], + ['uct_5fmd_5ft_964',['uct_md_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gad8a3d325a68dfb193354ac884f6ddd1d',1,'uct_def.h']]], + ['uct_5fmem_5fadvice_5ft_965',['uct_mem_advice_t',['../group___u_c_t___m_d.html#ga72172b231f5e9df777cb130b9f908397',1,'uct.h']]], + ['uct_5fmem_5falloc_966',['uct_mem_alloc',['../group___u_c_t___m_d.html#ga3c91345959561cd033670a9ae527d52f',1,'uct.h']]], + ['uct_5fmem_5falloc_5fparam_5ffield_5faddress_967',['UCT_MEM_ALLOC_PARAM_FIELD_ADDRESS',['../group___u_c_t___m_d.html#gga3421ca55bc67f5752ca6164f678a7923abcfd9def1c725531f11cbbcde9fedd6f',1,'uct.h']]], + ['uct_5fmem_5falloc_5fparam_5ffield_5fflags_968',['UCT_MEM_ALLOC_PARAM_FIELD_FLAGS',['../group___u_c_t___m_d.html#gga3421ca55bc67f5752ca6164f678a7923ae179d3ffed3e53b0e2cda2d6a62280d3',1,'uct.h']]], + ['uct_5fmem_5falloc_5fparam_5ffield_5fmds_969',['UCT_MEM_ALLOC_PARAM_FIELD_MDS',['../group___u_c_t___m_d.html#gga3421ca55bc67f5752ca6164f678a7923a122274e877d32afcfafd10cde3c0b8e7',1,'uct.h']]], + ['uct_5fmem_5falloc_5fparam_5ffield_5fmem_5ftype_970',['UCT_MEM_ALLOC_PARAM_FIELD_MEM_TYPE',['../group___u_c_t___m_d.html#gga3421ca55bc67f5752ca6164f678a7923a0f09a88dc239026aefa08e4597e0d9e6',1,'uct.h']]], + ['uct_5fmem_5falloc_5fparam_5ffield_5fname_971',['UCT_MEM_ALLOC_PARAM_FIELD_NAME',['../group___u_c_t___m_d.html#gga3421ca55bc67f5752ca6164f678a7923a97de3a2b66f4cd940a271df1b9632f83',1,'uct.h']]], + ['uct_5fmem_5falloc_5fparams_5ffield_5ft_972',['uct_mem_alloc_params_field_t',['../group___u_c_t___m_d.html#ga3421ca55bc67f5752ca6164f678a7923',1,'uct.h']]], + ['uct_5fmem_5falloc_5fparams_5ft_973',['uct_mem_alloc_params_t',['../group___u_c_t___m_d.html#structuct__mem__alloc__params__t',1,'']]], + ['uct_5fmem_5falloc_5fparams_5ft_2emds_974',['uct_mem_alloc_params_t.mds',['../group___u_c_t___m_d.html#structuct__mem__alloc__params__t_8mds',1,'']]], + ['uct_5fmem_5ffree_975',['uct_mem_free',['../group___u_c_t___m_d.html#ga55be17fdb04dcf28373bef0ddf423e94',1,'uct.h']]], + ['uct_5fmem_5fh_976',['uct_mem_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga2af4d7f2a70d4ac5eaef079dc68506b8',1,'uct_def.h']]], + ['uct_5fmsg_5fflags_977',['uct_msg_flags',['../group___u_c_t___a_m.html#ga139e5d124e16d412200bf64bdbccab1c',1,'uct.h']]], + ['uct_5fpack_5fcallback_5ft_978',['uct_pack_callback_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga75c4600da362988f9d4f4d53a294f36b',1,'uct_def.h']]], + ['uct_5fpending_5fcallback_5ft_979',['uct_pending_callback_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gad282a6c6faf7911791c3978bcfbb3c93',1,'uct_def.h']]], + ['uct_5fpending_5fpurge_5fcallback_5ft_980',['uct_pending_purge_callback_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga35d6acc042923019e0d5819b72a465f5',1,'uct_def.h']]], + ['uct_5fpending_5freq_981',['uct_pending_req',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__pending__req',1,'']]], + ['uct_5fpending_5freq_5ft_982',['uct_pending_req_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaacadb8cfd53f7cafd39fd7f1ae12ec02',1,'uct_def.h']]], + ['uct_5fppn_5fbandwidth_983',['uct_ppn_bandwidth',['../namespace_3global_scope_4.html#structuct__ppn__bandwidth',1,'']]], + ['uct_5fprogress_5frecv_984',['UCT_PROGRESS_RECV',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga71bfe6e07ebbcc036f883b31db1e9e51a13a7d7c06d204f61b5de0cdf3ede1957',1,'uct.h']]], + ['uct_5fprogress_5fsend_985',['UCT_PROGRESS_SEND',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga71bfe6e07ebbcc036f883b31db1e9e51a5a00ade1aed7157a0662d8a4ae9cc2f5',1,'uct.h']]], + ['uct_5fprogress_5fthread_5fsafe_986',['UCT_PROGRESS_THREAD_SAFE',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga71bfe6e07ebbcc036f883b31db1e9e51a8cba06626715c4be748d16a7baf90b77',1,'uct.h']]], + ['uct_5fprogress_5ftypes_987',['uct_progress_types',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga71bfe6e07ebbcc036f883b31db1e9e51',1,'uct.h']]], + ['uct_5fquery_5fcomponents_988',['uct_query_components',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gac11a18f80ae695355914c32095e5c75d',1,'uct.h']]], + ['uct_5frelease_5fcomponent_5flist_989',['uct_release_component_list',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gadd4eea4cf8e757f5ddd2e9edb1942dd0',1,'uct.h']]], + ['uct_5frelease_5ftl_5fresource_5flist_990',['uct_release_tl_resource_list',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga1edfeac896c9ca285ab11580c904b558',1,'uct.h']]], + ['uct_20communication_20resource_991',['UCT Communication Resource',['../group___u_c_t___r_e_s_o_u_r_c_e.html',1,'']]], + ['uct_20interface_20operations_20and_20capabilities_992',['UCT interface operations and capabilities',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html',1,'']]], + ['uct_20interface_20for_20asynchronous_20event_20capabilities_993',['UCT interface for asynchronous event capabilities',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html',1,'']]], + ['uct_5frkey_5fbundle_994',['uct_rkey_bundle',['../group___u_c_t___m_d.html#structuct__rkey__bundle',1,'']]], + ['uct_5frkey_5fbundle_5ft_995',['uct_rkey_bundle_t',['../group___u_c_t___m_d.html#gae63a147f419ca82f65db6ae556ac3b0f',1,'uct.h']]], + ['uct_5frkey_5fctx_5fh_996',['uct_rkey_ctx_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gab9a50bee74dc6d4674fb3800aab19da7',1,'uct_def.h']]], + ['uct_5frkey_5fptr_997',['uct_rkey_ptr',['../group___u_c_t___m_d.html#ga0d9f92b5814f82afc67c9f4a7ba348e3',1,'uct.h']]], + ['uct_5frkey_5frelease_998',['uct_rkey_release',['../group___u_c_t___m_d.html#gaea26840237c8c112e0c1505c1423cd30',1,'uct.h']]], + ['uct_5frkey_5ft_999',['uct_rkey_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga2ccb9c7b57d14f25db9d2e850c348180',1,'uct_def.h']]], + ['uct_5frkey_5funpack_1000',['uct_rkey_unpack',['../group___u_c_t___m_d.html#ga2927741255a1ab0efc82b965f4266efa',1,'uct.h']]], + ['uct_20remote_20memory_20access_20operations_1001',['UCT Remote memory access operations',['../group___u_c_t___r_m_a.html',1,'']]], + ['uct_5fsend_5fflag_5fpeer_5fcheck_1002',['UCT_SEND_FLAG_PEER_CHECK',['../group___u_c_t___a_m.html#gga139e5d124e16d412200bf64bdbccab1ca222442e08a093d34d6266e810346f4d8',1,'uct.h']]], + ['uct_5fsend_5fflag_5fsignaled_1003',['UCT_SEND_FLAG_SIGNALED',['../group___u_c_t___a_m.html#gga139e5d124e16d412200bf64bdbccab1ca5af3a2c43c1e989a4f21f97188f38b06',1,'uct.h']]], + ['uct_5fsockaddr_5facc_5flocal_1004',['UCT_SOCKADDR_ACC_LOCAL',['../group___u_c_t___m_d.html#ggacb560e35a1b169ca88792200817e219ea0f21e1dc1e98d3ee0291cc345bfe1fde',1,'uct.h']]], + ['uct_5fsockaddr_5facc_5fremote_1005',['UCT_SOCKADDR_ACC_REMOTE',['../group___u_c_t___m_d.html#ggacb560e35a1b169ca88792200817e219ea4e0f66a27582dfec8698a77102fb368e',1,'uct.h']]], + ['uct_5fsockaddr_5faccessibility_5ft_1006',['uct_sockaddr_accessibility_t',['../group___u_c_t___m_d.html#gacb560e35a1b169ca88792200817e219e',1,'uct.h']]], + ['uct_5fsockaddr_5fconn_5frequest_5fcallback_5ft_1007',['uct_sockaddr_conn_request_callback_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga18a175c5b28386d6693a35ae432466ef',1,'uct_def.h']]], + ['uct_20tag_20matching_20operations_1008',['UCT Tag matching operations',['../group___u_c_t___t_a_g.html',1,'']]], + ['uct_5ftag_5fcontext_1009',['uct_tag_context',['../structuct__tag__context.html',1,'']]], + ['uct_5ftag_5fcontext_5ft_1010',['uct_tag_context_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga65b6470372d51789a3a96cc5ea317f9d',1,'uct_def.h']]], + ['uct_5ftag_5frecv_5fcb_5finline_5fdata_1011',['UCT_TAG_RECV_CB_INLINE_DATA',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga726ca809ffd3d67ab4b8476646f26635a5dcb013c4470abbabc764c473898df3e',1,'uct.h']]], + ['uct_5ftag_5ft_1012',['uct_tag_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga162e00587cfb6506fe1c038c0f63e2ca',1,'uct_def.h']]], + ['uct_5ftag_5funexp_5feager_5fcb_5ft_1013',['uct_tag_unexp_eager_cb_t',['../group___u_c_t___t_a_g.html#ga4ba3d3c3d35e02d9d6952d927c9b53bd',1,'uct_def.h']]], + ['uct_5ftag_5funexp_5frndv_5fcb_5ft_1014',['uct_tag_unexp_rndv_cb_t',['../group___u_c_t___t_a_g.html#ga8534a90a1887092c91c4bcaf029ac6fd',1,'uct_def.h']]], + ['uct_5ftl_5fresource_5fdesc_1015',['uct_tl_resource_desc',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__tl__resource__desc',1,'']]], + ['uct_5ftl_5fresource_5fdesc_5ft_1016',['uct_tl_resource_desc_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gab5f56e3ba73460c560c7c1a833a991b8',1,'uct.h']]], + ['uct_5funpack_5fcallback_5ft_1017',['uct_unpack_callback_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga58d033b0b2eacc05af41af8c07fde4da',1,'uct_def.h']]], + ['uct_5fworker_5fcb_5fid_5ft_1018',['uct_worker_cb_id_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga9ec2e5d2c228f55751038dad0691c67b',1,'uct_def.h']]], + ['uct_5fworker_5fcreate_1019',['uct_worker_create',['../group___u_c_t___c_o_n_t_e_x_t.html#ga6f21b4dd1dc16d55f4a8e6bf65f8757f',1,'uct.h']]], + ['uct_5fworker_5fdestroy_1020',['uct_worker_destroy',['../group___u_c_t___c_o_n_t_e_x_t.html#ga22608452cb78bb1d3c9253860025c4fd',1,'uct.h']]], + ['uct_5fworker_5fh_1021',['uct_worker_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga2c776904a7202aa95ec1ceecfe74f2f9',1,'uct_def.h']]], + ['uct_5fworker_5fprogress_1022',['uct_worker_progress',['../group___u_c_t___c_o_n_t_e_x_t.html#ga4ec9fae48afd24d7fa7c5537e76b54e5',1,'uct.h']]], + ['uct_5fworker_5fprogress_5fregister_5fsafe_1023',['uct_worker_progress_register_safe',['../group___u_c_t___c_o_n_t_e_x_t.html#ga358ed4a23be49a3c1ace5d78a0b2ee9c',1,'uct.h']]], + ['uct_5fworker_5fprogress_5funregister_5fsafe_1024',['uct_worker_progress_unregister_safe',['../group___u_c_t___c_o_n_t_e_x_t.html#ga2dcbb085b3f94e5a2b6771c4cc7bcbbf',1,'uct.h']]], + ['unpack_1025',['unpack',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gaef4bcfb34731b7f113479b221304b698',1,'ucp_generic_dt_ops']]], + ['user_5fdata_1026',['user_data',['../group___u_c_p___w_o_r_k_e_r.html#a2c277d353e134219265887c4f5339159',1,'ucp_worker_params::user_data()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#a202ee8e08e637b9e868387ab294a684c',1,'ucp_stream_poll_ep::user_data()'],['../group___u_c_p___c_o_n_t_e_x_t.html#aa9092d65a2e4e55368ca4f88775c190b',1,'ucp_request_param_t::user_data()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#adaf49e16ee05400f715f432e442336cb',1,'ucp_ep_params::user_data()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a107bb6eec86e0f877d2f256378ea0df8',1,'uct_ep_params::user_data()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a8a9d41566f96e942418c48139ccede90',1,'uct_listener_params::user_data()']]] +]; diff --git a/api/v1.13/html/search/all_12.html b/api/v1.13/html/search/all_12.html new file mode 100644 index 00000000000..dd9ff1d5944 --- /dev/null +++ b/api/v1.13/html/search/all_12.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_12.js b/api/v1.13/html/search/all_12.js new file mode 100644 index 00000000000..123d705d93f --- /dev/null +++ b/api/v1.13/html/search/all_12.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['worker_5fuid_1027',['worker_uid',['../group___u_c_p___w_o_r_k_e_r.html#a682d3477655dc66072e03530d95239f2',1,'ucp_worker_address_attr']]] +]; diff --git a/api/v1.13/html/search/all_2.html b/api/v1.13/html/search/all_2.html new file mode 100644 index 00000000000..b26d916501a --- /dev/null +++ b/api/v1.13/html/search/all_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_2.js b/api/v1.13/html/search/all_2.js new file mode 100644 index 00000000000..4c79bebc05a --- /dev/null +++ b/api/v1.13/html/search/all_2.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['cap_18',['cap',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a6c55cf8697354f4ace91142100ed074e',1,'uct_iface_attr::cap()'],['../group___u_c_t___m_d.html#afc943a5af89c1028723bc0046092c067',1,'uct_md_attr::cap()']]], + ['cb_19',['cb',['../group___u_c_p___c_o_n_t_e_x_t.html#a1859c77f14dee64f623bd9f9111200c7',1,'ucp_request_param_t::cb()'],['../group___u_c_p___w_o_r_k_e_r.html#acd54cdefba3f3f5e145dfe2360485659',1,'ucp_am_handler_param::cb()'],['../group___u_c_p___w_o_r_k_e_r.html#a3017ef77fb807d87b60667df14f6c0b0',1,'ucp_listener_accept_handler::cb()'],['../group___u_c_p___c_o_m_m.html#a0bf3f446a1821a62dd3a300584792e33',1,'ucp_err_handler::cb()'],['../group___u_c_p___w_o_r_k_e_r.html#a55ac5ba9e07ca64d55e22730038a4018',1,'ucp_listener_conn_handler::cb()'],['../namespace_3global_scope_4.html#a57233b5af77231c4fb6e8d0c7a9cf279',1,'ucs_callbackq_elem::cb()']]], + ['client_5faddress_20',['client_address',['../group___u_c_p___w_o_r_k_e_r.html#a8ca1dc70d395335dc9f8fe20e9de1a0d',1,'ucp_conn_request_attr::client_address()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ab9e98cce78462e28a6593a891f2aa3bc',1,'uct_cm_listener_conn_request_args::client_address()']]], + ['client_5fid_21',['client_id',['../group___u_c_p___w_o_r_k_e_r.html#a41afbbfba922c2bdc4f35e2c4ecfcaa4',1,'ucp_worker_params::client_id()'],['../group___u_c_p___w_o_r_k_e_r.html#aff4d88d6fd3b2613e058bbcf43d0815b',1,'ucp_conn_request_attr::client_id()']]], + ['cm_22',['cm',['../group___u_c_t___r_e_s_o_u_r_c_e.html#aa8133488ec45605b0c825e66d12ba1a8',1,'uct_ep_params']]], + ['cm_5fresolve_5fcb_23',['cm_resolve_cb',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a84e49366f4967ac76fad12d27295ec87',1,'uct_ep_params']]], + ['completed_5fcb_24',['completed_cb',['../structuct__tag__context.html#a8a872809ba82414123000deeb3f8dd2f',1,'uct_tag_context']]], + ['component_5fname_25',['component_name',['../group___u_c_t___m_d.html#a1f337f217f10d019529e79d9fe60af5c',1,'uct_md_attr']]], + ['conn_5fhandler_26',['conn_handler',['../group___u_c_p___w_o_r_k_e_r.html#a0694aacde5fff09dc75e556e8116098a',1,'ucp_listener_params']]], + ['conn_5fpriv_5fdata_27',['conn_priv_data',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a3557ea63ebf0f959c06ad78a592cd311',1,'uct_cm_remote_data']]], + ['conn_5fpriv_5fdata_5flength_28',['conn_priv_data_length',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ad68a816000641cdaab8b7bae782c005d',1,'uct_cm_remote_data']]], + ['conn_5frequest_29',['conn_request',['../group___u_c_p___e_n_d_p_o_i_n_t.html#a9fbba62cd4a470f2bc7c6f7e55fe3db1',1,'ucp_ep_params::conn_request()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#ad852c3138b06acb342e7f9c78ade8e41',1,'uct_ep_params::conn_request()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#aec2a2194a329ef66262756de423a3cb2',1,'uct_cm_listener_conn_request_args::conn_request()']]], + ['conn_5frequest_5fcb_30',['conn_request_cb',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a84a1de42f58965886c5d457480be3b2d',1,'uct_listener_params']]], + ['count_31',['count',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ac80f9b64f46a8a3a9de6cb0b121667ab',1,'uct_completion::count()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#addb247a8d80907156df00159bbafcda5',1,'uct_iov::count()']]], + ['cpu_5fmask_32',['cpu_mask',['../group___u_c_p___w_o_r_k_e_r.html#afc8f70f3ff12f36ea34ad40ff12de61e',1,'ucp_worker_params::cpu_mask()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a7093f64ec5efe2f1c3833dbe90b9099a',1,'uct_iface_params::cpu_mask()']]], + ['conventions_20and_20notations_33',['Conventions and Notations',['../md_docs_doxygen_conventions.html',1,'']]] +]; diff --git a/api/v1.13/html/search/all_3.html b/api/v1.13/html/search/all_3.html new file mode 100644 index 00000000000..b61b96f83c7 --- /dev/null +++ b/api/v1.13/html/search/all_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_3.js b/api/v1.13/html/search/all_3.js new file mode 100644 index 00000000000..b329c526db3 --- /dev/null +++ b/api/v1.13/html/search/all_3.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['datatype_34',['datatype',['../group___u_c_p___c_o_n_t_e_x_t.html#a3988d603154f90eb5405785cac62b65f',1,'ucp_request_param_t']]], + ['debug_5fstring_35',['debug_string',['../group___u_c_p___c_o_m_m.html#aa284657c27e1a8d6d2653f12cfb61bc5',1,'ucp_request_attr_t']]], + ['debug_5fstring_5fsize_36',['debug_string_size',['../group___u_c_p___c_o_m_m.html#a871b3929bfe0b97d249016e57fd2fdd7',1,'ucp_request_attr_t']]], + ['dedicated_37',['dedicated',['../namespace_3global_scope_4.html#ab415588ec7332c0264ac81d883dd7a8c',1,'uct_ppn_bandwidth']]], + ['deprecated_20list_38',['Deprecated List',['../deprecated.html',1,'']]], + ['dev_5faddr_39',['dev_addr',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a273d48d73a6813f2fe097026d739e9d9',1,'uct_ep_params::dev_addr()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ada382f435e44b388e3e29b16a04c3808',1,'uct_cm_remote_data::dev_addr()']]], + ['dev_5faddr_5flength_40',['dev_addr_length',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a05768f24babff9b522b4845dc2672c55',1,'uct_cm_remote_data']]], + ['dev_5fname_41',['dev_name',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a19260a4faff281f45363008cbcaa0f41',1,'uct_tl_resource_desc::dev_name()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a10c637e00793a55862826870bfe6499d',1,'uct_cm_ep_priv_data_pack_args::dev_name()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#af750fc4d3be08d8dcd81f452b1ba5ab4',1,'uct_cm_ep_resolve_args::dev_name()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a718770a6c8d147fadd63490c029de6d2',1,'uct_cm_listener_conn_request_args::dev_name()']]], + ['dev_5fnum_5fpaths_42',['dev_num_paths',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ac9c279de0e13a96a683baf04d3c40c46',1,'uct_iface_attr']]], + ['dev_5ftype_43',['dev_type',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a83b6513b96f2a97a82dcd3ab751c996a',1,'uct_tl_resource_desc']]], + ['device_5faddr_5flen_44',['device_addr_len',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a150fb2fb81e47e2a97571147cdc1647e',1,'uct_iface_attr']]], + ['disconnect_5fcb_45',['disconnect_cb',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ac270000f4e5a1bbcba955098ea7e8e6a',1,'uct_ep_params']]], + ['design_46',['Design',['../md_docs_doxygen_design.html',1,'']]] +]; diff --git a/api/v1.13/html/search/all_4.html b/api/v1.13/html/search/all_4.html new file mode 100644 index 00000000000..06de1550e03 --- /dev/null +++ b/api/v1.13/html/search/all_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_4.js b/api/v1.13/html/search/all_4.js new file mode 100644 index 00000000000..1abf1ec3b14 --- /dev/null +++ b/api/v1.13/html/search/all_4.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['eager_5farg_47',['eager_arg',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a7c6b1ea224405a00438306212d30a172',1,'uct_iface_params']]], + ['eager_5fcb_48',['eager_cb',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a3e70569e1bf8a8d62fbc686dd147fd56',1,'uct_iface_params']]], + ['ep_49',['ep',['../group___u_c_p___e_n_d_p_o_i_n_t.html#aa9703a325b9dc242facae719f6cef8a7',1,'ucp_stream_poll_ep']]], + ['ep_5faddr_5flen_50',['ep_addr_len',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a70955f4d39111b0a48c85e0ff65768a0',1,'uct_iface_attr']]], + ['err_5fhandler_51',['err_handler',['../group___u_c_p___e_n_d_p_o_i_n_t.html#aaf329de9e2b45311099cee8c9df43a20',1,'ucp_ep_params::err_handler()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#afc90f76dc754aa478af524ac7c9d3f51',1,'uct_iface_params::err_handler()']]], + ['err_5fhandler_5farg_52',['err_handler_arg',['../group___u_c_t___r_e_s_o_u_r_c_e.html#abd1425d7ce0507acc97361abc56ea66d',1,'uct_iface_params']]], + ['err_5fhandler_5fflags_53',['err_handler_flags',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a01b7ef6558dbe6f91ac5c59b63d5e0dd',1,'uct_iface_params']]], + ['err_5fmode_54',['err_mode',['../group___u_c_p___e_n_d_p_o_i_n_t.html#a50ce29893509695caa5b70ab4525a4d6',1,'ucp_ep_params']]], + ['estimated_5fnum_5feps_55',['estimated_num_eps',['../group___u_c_p___c_o_n_f_i_g.html#a5881757ea71d8c3ff7c15632a6cbd699',1,'ucp_params']]], + ['estimated_5fnum_5fppn_56',['estimated_num_ppn',['../group___u_c_p___c_o_n_f_i_g.html#ab5966a27f9f4cf476560f9c87ac839cc',1,'ucp_params']]], + ['estimated_5ftime_57',['estimated_time',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ac8864d77a5f8d333c2de912ad621626a',1,'ucp_ep_evaluate_perf_attr_t']]], + ['event_5ffd_58',['event_fd',['../group___u_c_p___w_o_r_k_e_r.html#aaeaf0e7ec196ed72ee2b52183f8d1d7d',1,'ucp_worker_params']]], + ['events_59',['events',['../group___u_c_p___w_o_r_k_e_r.html#a89b9add865222b57caee81874704ba89',1,'ucp_worker_params']]] +]; diff --git a/api/v1.13/html/search/all_5.html b/api/v1.13/html/search/all_5.html new file mode 100644 index 00000000000..2544c4e5b79 --- /dev/null +++ b/api/v1.13/html/search/all_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_5.js b/api/v1.13/html/search/all_5.js new file mode 100644 index 00000000000..64ed6e40bd6 --- /dev/null +++ b/api/v1.13/html/search/all_5.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['fast_5felems_60',['fast_elems',['../namespace_3global_scope_4.html#a00e13bcee0aa60124620ed02e5cd9116',1,'ucs_callbackq']]], + ['features_61',['features',['../group___u_c_p___c_o_n_f_i_g.html#afe7ed2a6c6ceb48e18a04f524d844e67',1,'ucp_params::features()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a967dbb2a49191e0b028f7058938293c6',1,'uct_iface_params::features()']]], + ['field_5fmask_62',['field_mask',['../group___u_c_p___c_o_n_f_i_g.html#a62d432cd22de13ccc9bb12edeb9c566b',1,'ucp_params::field_mask()'],['../group___u_c_p___c_o_n_t_e_x_t.html#a529751be1cb45aff76dde0e5bf22b6d9',1,'ucp_lib_attr::field_mask()'],['../group___u_c_p___c_o_n_t_e_x_t.html#ae4603d33274d3dd0bf41e1d759513601',1,'ucp_context_attr::field_mask()'],['../group___u_c_p___w_o_r_k_e_r.html#af0f34f82bba00221aa22ec54fa5efc0f',1,'ucp_worker_attr::field_mask()'],['../group___u_c_p___w_o_r_k_e_r.html#a33863ec848e47f79d2e14181fe2aa921',1,'ucp_worker_params::field_mask()'],['../group___u_c_p___w_o_r_k_e_r.html#a596a9aee8bfbd1c232c6d63549c75f08',1,'ucp_worker_address_attr::field_mask()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#afffe0975a57573bd318e72e59bd53957',1,'ucp_ep_evaluate_perf_param_t::field_mask()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#a3506b654e12be644d0ffe96368106142',1,'ucp_ep_evaluate_perf_attr_t::field_mask()'],['../group___u_c_p___w_o_r_k_e_r.html#aaaa6353f56fd585d7c83c363380703f4',1,'ucp_listener_attr::field_mask()'],['../group___u_c_p___w_o_r_k_e_r.html#ad6a97d8268992c34631ac773a6c2148b',1,'ucp_conn_request_attr::field_mask()'],['../group___u_c_p___w_o_r_k_e_r.html#afb01e3b0d3c0a04cef0cde4f849fcc1d',1,'ucp_listener_params::field_mask()'],['../group___u_c_p___m_e_m.html#aaeaeceb96d57c6cd5048abeda3fcb87f',1,'ucp_mem_map_params::field_mask()'],['../group___u_c_p___c_o_m_m.html#a311396d670dcb5ca9941dc17a8ad23d7',1,'ucp_request_attr_t::field_mask()'],['../group___u_c_p___w_o_r_k_e_r.html#a8f31d53e411769961286865cb9332f6f',1,'ucp_am_handler_param::field_mask()'],['../group___u_c_p___m_e_m.html#a01c09d6fdafcd62e733cece26166e036',1,'ucp_mem_advise_params::field_mask()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#a385c4a4337266da2a874e5ff533fbab2',1,'ucp_ep_attr::field_mask()'],['../group___u_c_p___m_e_m.html#ac2b9b68d716c78b3750f50f599259e66',1,'ucp_mem_attr::field_mask()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#ab7b3f3ba1d402a621b8ea708dcf2387b',1,'ucp_ep_params::field_mask()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#ad95df67b474d3f51629e0a6d0ee2537e',1,'uct_component_attr::field_mask()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a9e1d45a55b7e9629eb548f27bea940a0',1,'uct_iface_params::field_mask()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a9c1ea4678d33fd3f741856135ad61d23',1,'uct_ep_params::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a360893687dea33e2451afc89b89cf858',1,'uct_ep_connect_params::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a384bf8b975a0d90b7117f4e393684e3d',1,'uct_cm_attr::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#abd499e7b852c6af527c8db5a010040b6',1,'uct_listener_attr::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a2106149ec63faa5e1aebe7c7b1f941d6',1,'uct_listener_params::field_mask()'],['../group___u_c_t___m_d.html#a95cf319a4733fed89f7b52b66f82f84a',1,'uct_md_mem_attr::field_mask()'],['../group___u_c_t___m_d.html#ab06683bb31a585ea60b85f6f0f3126c8',1,'uct_mem_alloc_params_t::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a2c613c2ce5d4a428c87a0d83849875ca',1,'uct_cm_ep_priv_data_pack_args::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#abca562cc9e4c45a606ae464815d6cf1a',1,'uct_cm_ep_resolve_args::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#af27cfe2f1146f9e7f8481d192728640e',1,'uct_cm_remote_data::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ad79f7025c8f43a961b3f8d0501b45188',1,'uct_cm_listener_conn_request_args::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a07453861a47b7c717f6e89356f75398e',1,'uct_cm_ep_client_connect_args::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a96b97f088ce727e04b1de822227b3283',1,'uct_cm_ep_server_conn_notify_args::field_mask()']]], + ['file_5ffilter_63',['file_filter',['../namespace_3global_scope_4.html#a24ae3d6f63dc62e024f4dc9b3af519d2',1,'ucs_log_component_config']]], + ['finish_64',['finish',['../group___u_c_p___d_a_t_a_t_y_p_e.html#ga09ee4ed178f4c27feec4e37f52a8e17b',1,'ucp_generic_dt_ops']]], + ['flags_65',['flags',['../group___u_c_p___w_o_r_k_e_r.html#adbd9725024f5138a693196f11dab124c',1,'ucp_worker_params::flags()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#a1e761ffd7b8edf7399ab497600200266',1,'ucp_stream_poll_ep::flags()'],['../group___u_c_p___m_e_m.html#a668567560d65f2e0458159d444fb89ca',1,'ucp_mem_map_params::flags()'],['../group___u_c_p___c_o_n_t_e_x_t.html#a55a8ff2559470c5def6077a86ee9d898',1,'ucp_request_param_t::flags()'],['../group___u_c_p___w_o_r_k_e_r.html#a061115b2dc01fb803ae8082bd41f8730',1,'ucp_am_handler_param::flags()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#a9bb65021187347fe311535857e19e6c3',1,'ucp_ep_params::flags()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#ad2800e9666be0be84926f768eac792a2',1,'uct_component_attr::flags()'],['../group___u_c_t___m_d.html#a8180ccc5d99649919a9061c9ebb2504f',1,'uct_mem_alloc_params_t::flags()'],['../namespace_3global_scope_4.html#a3a0d3c938fef66985c8cf44071d23fd6',1,'ucs_callbackq_elem::flags()']]], + ['func_66',['func',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a34d9a5e03c0d9199a2d540f1a2cee5a2',1,'uct_completion::func()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a638accaa60c4c3f373c6d12c2ea74c6c',1,'uct_pending_req::func()']]] +]; diff --git a/api/v1.13/html/search/all_6.html b/api/v1.13/html/search/all_6.html new file mode 100644 index 00000000000..43f14eab32f --- /dev/null +++ b/api/v1.13/html/search/all_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_6.js b/api/v1.13/html/search/all_6.js new file mode 100644 index 00000000000..c68c27f1737 --- /dev/null +++ b/api/v1.13/html/search/all_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['handle_67',['handle',['../group___u_c_t___m_d.html#ab42e33b02da0cc7023495793fae7f569',1,'uct_rkey_bundle']]] +]; diff --git a/api/v1.13/html/search/all_7.html b/api/v1.13/html/search/all_7.html new file mode 100644 index 00000000000..af52f82a425 --- /dev/null +++ b/api/v1.13/html/search/all_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_7.js b/api/v1.13/html/search/all_7.js new file mode 100644 index 00000000000..a3ce042fae0 --- /dev/null +++ b/api/v1.13/html/search/all_7.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['id_68',['id',['../group___u_c_p___w_o_r_k_e_r.html#ad0c6157f387e18cb4d92a37a638274af',1,'ucp_am_handler_param::id()'],['../namespace_3global_scope_4.html#a12ff9e4e3560d4371a71e0549a6237d4',1,'ucs_callbackq_elem::id()']]], + ['iface_69',['iface',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a21e3628c5ffcafcdeb732f4f9687aa30',1,'uct_ep_params']]], + ['iface_5faddr_70',['iface_addr',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ae8c9ada98be19a83ab9cd2af30203d5f',1,'uct_ep_params']]], + ['iface_5faddr_5flen_71',['iface_addr_len',['../group___u_c_t___r_e_s_o_u_r_c_e.html#adaeded4e728f80628ff6d29eeae7a5b0',1,'uct_iface_attr']]], + ['introduction_72',['Introduction',['../md_docs_doxygen_intro.html',1,'']]] +]; diff --git a/api/v1.13/html/search/all_8.html b/api/v1.13/html/search/all_8.html new file mode 100644 index 00000000000..cf2b5df92b7 --- /dev/null +++ b/api/v1.13/html/search/all_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_8.js b/api/v1.13/html/search/all_8.js new file mode 100644 index 00000000000..3b0e35ec5a4 --- /dev/null +++ b/api/v1.13/html/search/all_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['keepalive_5finterval_73',['keepalive_interval',['../group___u_c_t___r_e_s_o_u_r_c_e.html#afbbbea17089ee8ff5ef0ef6ef3199cfe',1,'uct_iface_params']]] +]; diff --git a/api/v1.13/html/search/all_9.html b/api/v1.13/html/search/all_9.html new file mode 100644 index 00000000000..690785a5de6 --- /dev/null +++ b/api/v1.13/html/search/all_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_9.js b/api/v1.13/html/search/all_9.js new file mode 100644 index 00000000000..fa833399745 --- /dev/null +++ b/api/v1.13/html/search/all_9.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['latency_74',['latency',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ace9cf2c31674223b000dff0e72c5d533',1,'uct_iface_attr']]], + ['length_75',['length',['../group___u_c_p___d_a_t_a_t_y_p_e.html#a776d38e0b127efb673685644b6816663',1,'ucp_dt_iov::length()'],['../group___u_c_p___m_e_m.html#a36d735fe974dd85677474c028edb2af8',1,'ucp_mem_map_params::length()'],['../group___u_c_p___c_o_n_t_e_x_t.html#a6fd83122b93c677e702dc37b39e8351b',1,'ucp_tag_recv_info::length()'],['../group___u_c_p___m_e_m.html#a33e763e90d0cc7aad526a69dee8ef900',1,'ucp_mem_advise_params::length()'],['../group___u_c_p___m_e_m.html#ae807002e05a4a269a74c767e23f49fa8',1,'ucp_mem_attr::length()'],['../group___u_c_t___m_d.html#ae867afdf079a09edbbb03134e9d32489',1,'uct_allocated_memory::length()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#ad00b6e55c209c6abc87b091f4c776cd5',1,'uct_iov::length()']]], + ['listen_5fsockaddr_76',['listen_sockaddr',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a3a5bb921af4157bc96d39aa580ff978f',1,'uct_iface_attr']]], + ['local_5fcpus_77',['local_cpus',['../group___u_c_t___m_d.html#aade634758ea5ea9fc7f64b17d66507d7',1,'uct_md_attr']]], + ['local_5fsockaddr_78',['local_sockaddr',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ae54665498f1f7c019e716e7bf9d56531',1,'ucp_ep_attr::local_sockaddr()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#ac7e00eea58053f718b67d92236c7a4b9',1,'ucp_ep_params::local_sockaddr()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#acd106a47629c2dffb844fbdb15a050f6',1,'uct_ep_params::local_sockaddr()']]], + ['log_5flevel_79',['log_level',['../namespace_3global_scope_4.html#ae279af7e4a426fe21bde0e83a2c423ae',1,'ucs_log_component_config']]] +]; diff --git a/api/v1.13/html/search/all_a.html b/api/v1.13/html/search/all_a.html new file mode 100644 index 00000000000..f2f3d3a3818 --- /dev/null +++ b/api/v1.13/html/search/all_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_a.js b/api/v1.13/html/search/all_a.js new file mode 100644 index 00000000000..38d53c24363 --- /dev/null +++ b/api/v1.13/html/search/all_a.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['max_5fam_5fheader_80',['max_am_header',['../group___u_c_p___w_o_r_k_e_r.html#a7678aa8d4fb18b0d6e2a0276b03e2cb4',1,'ucp_worker_attr']]], + ['max_5fconn_5fpriv_81',['max_conn_priv',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a5612c3ad1e7a46dd6add669e32364424',1,'uct_iface_attr::max_conn_priv()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#adb462d4f30c639f7fb5a8a7d9702ddcf',1,'uct_cm_attr::max_conn_priv()']]], + ['max_5fdebug_5fstring_82',['max_debug_string',['../group___u_c_p___w_o_r_k_e_r.html#a79406f6545efcaefffaa34ca99bfdc04',1,'ucp_worker_attr']]], + ['max_5fnum_5feps_83',['max_num_eps',['../group___u_c_t___r_e_s_o_u_r_c_e.html#af6baead12f87707af1b3e56024b2b2e5',1,'uct_iface_attr']]], + ['max_5fthread_5flevel_84',['max_thread_level',['../group___u_c_p___c_o_n_t_e_x_t.html#a3cfd1d293ca29602ae799f7c52607c86',1,'ucp_lib_attr']]], + ['md_85',['md',['../group___u_c_t___m_d.html#afdf7da800a504f0da8f59874d9b71823',1,'uct_allocated_memory']]], + ['md_5fname_86',['md_name',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a44245b18bf7151a4bde8cb4c0112f8cb',1,'uct_md_resource_desc']]], + ['md_5fresource_5fcount_87',['md_resource_count',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a4add45e93acd44e434624726caaf9efb',1,'uct_component_attr']]], + ['md_5fresources_88',['md_resources',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a75c51f7e16d827cc4c848016f5365404',1,'uct_component_attr']]], + ['mds_89',['mds',['../group___u_c_t___m_d.html#af682cfb8bc431adcd242433fb61619ac',1,'uct_mem_alloc_params_t']]], + ['mem_5ftype_90',['mem_type',['../group___u_c_p___c_o_m_m.html#a86e23d8d22c973be0f86ea56adfd5678',1,'ucp_request_attr_t::mem_type()'],['../group___u_c_p___m_e_m.html#ac88b3fb764dd2af1a77bbe90161b2896',1,'ucp_mem_attr::mem_type()'],['../group___u_c_t___m_d.html#a9b20dd26a01412d61bea8f5cc4ee02a2',1,'uct_md_mem_attr::mem_type()'],['../group___u_c_t___m_d.html#ae6002ec224af4efa796246bfce7180fd',1,'uct_allocated_memory::mem_type()'],['../group___u_c_t___m_d.html#ac6a68b6fb669135688c594a58a6e3955',1,'uct_mem_alloc_params_t::mem_type()']]], + ['memh_91',['memh',['../group___u_c_p___c_o_n_t_e_x_t.html#a815bd876629909195b15c6b246de2900',1,'ucp_request_param_t::memh()'],['../group___u_c_t___m_d.html#a4b9171caf237f0f2884d548c395e47ea',1,'uct_allocated_memory::memh()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a9a24e4be8303ebd6906bcaff37ab31f7',1,'uct_iov::memh()']]], + ['memory_5ftype_92',['memory_type',['../group___u_c_p___m_e_m.html#a71916e12e0fa7706355965de2edd7fc9',1,'ucp_mem_map_params::memory_type()'],['../group___u_c_p___c_o_n_t_e_x_t.html#a52b53447384778b16b3b91d6abeb0f86',1,'ucp_request_param_t::memory_type()']]], + ['memory_5ftypes_93',['memory_types',['../group___u_c_p___c_o_n_t_e_x_t.html#a59917e3a7e709c62e77d0acabbb0a24d',1,'ucp_context_attr']]], + ['message_5fsize_94',['message_size',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ac6bc2d095c3c631324646cd9ac6a5a0f',1,'ucp_ep_evaluate_perf_param_t']]], + ['method_95',['method',['../group___u_c_t___m_d.html#ac0c1c5a5cd287f176e81650816138a55',1,'uct_allocated_memory']]], + ['mode_96',['mode',['../group___u_c_t___r_e_s_o_u_r_c_e.html#aabd3472dc469285e466132ea7e4a2ec2',1,'uct_iface_params::mode()'],['../namespace_3global_scope_4.html#a080bacced54b2014f148e933d4dc3347',1,'ucs_config_allow_list_t::mode()']]], + ['mt_5fworkers_5fshared_97',['mt_workers_shared',['../group___u_c_p___c_o_n_f_i_g.html#ac81f2d8a179df5fd39786a4b08b26faf',1,'ucp_params']]] +]; diff --git a/api/v1.13/html/search/all_b.html b/api/v1.13/html/search/all_b.html new file mode 100644 index 00000000000..14f34036c1d --- /dev/null +++ b/api/v1.13/html/search/all_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_b.js b/api/v1.13/html/search/all_b.js new file mode 100644 index 00000000000..9299bbc2cf0 --- /dev/null +++ b/api/v1.13/html/search/all_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['name_98',['name',['../group___u_c_p___c_o_n_f_i_g.html#ac1aa15f430f0f273ff4f6055f9cfdea2',1,'ucp_params::name()'],['../group___u_c_p___c_o_n_t_e_x_t.html#a958c850cc721fdadeae598928bbc8270',1,'ucp_context_attr::name()'],['../group___u_c_p___w_o_r_k_e_r.html#a3123aa88fefa33c972da4c2bda3bebee',1,'ucp_worker_attr::name()'],['../group___u_c_p___w_o_r_k_e_r.html#a7ea9a6700ec1393aaa95c4b1e1df04e1',1,'ucp_worker_params::name()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#acdaee980b44ce00d608c3b9812049db6',1,'ucp_ep_attr::name()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#a2434487b2597678b8b8c6a6b6fdd11ac',1,'ucp_ep_params::name()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a4d186d55814dbe82c4403564d38d084e',1,'uct_component_attr::name()'],['../group___u_c_t___m_d.html#ad67ee098d7dff61b637e20d67dc184ec',1,'uct_mem_alloc_params_t::name()'],['../namespace_3global_scope_4.html#ad3c3436563841e129767778aae615f8f',1,'ucs_log_component_config::name()']]] +]; diff --git a/api/v1.13/html/search/all_c.html b/api/v1.13/html/search/all_c.html new file mode 100644 index 00000000000..da60ab8d521 --- /dev/null +++ b/api/v1.13/html/search/all_c.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_c.js b/api/v1.13/html/search/all_c.js new file mode 100644 index 00000000000..872ec7025ed --- /dev/null +++ b/api/v1.13/html/search/all_c.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['op_5fattr_5fmask_99',['op_attr_mask',['../group___u_c_p___c_o_n_t_e_x_t.html#a97e9444548efb351db6a07130fb69c28',1,'ucp_request_param_t']]], + ['open_5fmode_100',['open_mode',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a7db3b0fb2bbde6b4625ad5a6c5e1a043',1,'uct_iface_params']]], + ['overhead_101',['overhead',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ab802bc3cc95cc67e176efeb2fe1c14c4',1,'uct_iface_attr']]] +]; diff --git a/api/v1.13/html/search/all_d.html b/api/v1.13/html/search/all_d.html new file mode 100644 index 00000000000..bc376fec386 --- /dev/null +++ b/api/v1.13/html/search/all_d.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_d.js b/api/v1.13/html/search/all_d.js new file mode 100644 index 00000000000..97a554e74a4 --- /dev/null +++ b/api/v1.13/html/search/all_d.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['preface_102',['Preface',['../index.html',1,'']]], + ['pack_103',['pack',['../group___u_c_p___d_a_t_a_t_y_p_e.html#ga347b6c1b7243047f3e069a70626a1e89',1,'ucp_generic_dt_ops']]], + ['packed_5fsize_104',['packed_size',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gafa434c93350838be8da6480b2a68f83b',1,'ucp_generic_dt_ops']]], + ['path_5findex_105',['path_index',['../group___u_c_t___r_e_s_o_u_r_c_e.html#af271b2f02d31b2a1fcbf34076b83a796',1,'uct_ep_params']]], + ['priority_106',['priority',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a97534f4af50032a82c02b76bdb47a96d',1,'uct_iface_attr']]], + ['priv_107',['priv',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a3541a702c8158a6d557ce30cec1863b1',1,'uct_pending_req::priv()'],['../structuct__tag__context.html#a50355288112c6e3218f9b63f3b49be91',1,'uct_tag_context::priv()'],['../namespace_3global_scope_4.html#a328050e3952f5d3888c26b32946f3627',1,'ucs_callbackq::priv()']]], + ['private_5fdata_108',['private_data',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a4ad36475338e8aee2577fa4535c01dfc',1,'uct_ep_params::private_data()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#affe9b0a217e8e706f08da5b2efee3665',1,'uct_ep_connect_params::private_data()']]], + ['private_5fdata_5flength_109',['private_data_length',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a287105cfd0e1922f7975efa4bba08ead',1,'uct_ep_params::private_data_length()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a3db99efa74cecf7060aad87e73922572',1,'uct_ep_connect_params::private_data_length()']]], + ['prot_110',['prot',['../group___u_c_p___m_e_m.html#af8bb06187e2c1f180a24d867a4922b2e',1,'ucp_mem_map_params']]] +]; diff --git a/api/v1.13/html/search/all_e.html b/api/v1.13/html/search/all_e.html new file mode 100644 index 00000000000..2e3c74dc62a --- /dev/null +++ b/api/v1.13/html/search/all_e.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_e.js b/api/v1.13/html/search/all_e.js new file mode 100644 index 00000000000..17546f335e4 --- /dev/null +++ b/api/v1.13/html/search/all_e.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['recv_5fattr_111',['recv_attr',['../group___u_c_p___w_o_r_k_e_r.html#a53a8777a31faf7e65289bcc1d710fb19',1,'ucp_am_recv_param']]], + ['recv_5finfo_112',['recv_info',['../group___u_c_p___c_o_n_t_e_x_t.html#a508d273e351bac14d3906243de353fb7',1,'ucp_request_param_t']]], + ['reg_5fcost_113',['reg_cost',['../group___u_c_t___m_d.html#aa8e4e4f1f063347094ea721a0ccb8952',1,'uct_md_attr']]], + ['remote_5fdata_114',['remote_data',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a333308d1c7eda2e28111dbe05b288746',1,'uct_cm_listener_conn_request_args::remote_data()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#adebf71af7948cb58f3724d1b0c4151bb',1,'uct_cm_ep_client_connect_args::remote_data()']]], + ['remote_5fsockaddr_115',['remote_sockaddr',['../group___u_c_p___e_n_d_p_o_i_n_t.html#a8e0e9e1e5a9295f93073ae3fd3d9a612',1,'ucp_ep_attr']]], + ['reply_5fbuffer_116',['reply_buffer',['../group___u_c_p___c_o_n_t_e_x_t.html#ad41bfb73053537d40830d52b3f380f02',1,'ucp_request_param_t']]], + ['reply_5fep_117',['reply_ep',['../group___u_c_p___w_o_r_k_e_r.html#a5e4629812b7b7737beb6f7f7332b7d7f',1,'ucp_am_recv_param']]], + ['request_118',['request',['../group___u_c_p___c_o_n_t_e_x_t.html#a746646123a460ed9a115c3fe21f194b0',1,'ucp_request_param_t']]], + ['request_5fcleanup_119',['request_cleanup',['../group___u_c_p___c_o_n_f_i_g.html#ad2aadf27367f4cc64e91e1dd2b52b8b8',1,'ucp_params']]], + ['request_5finit_120',['request_init',['../group___u_c_p___c_o_n_f_i_g.html#ac1f0a25d794111217af5e0e6b9865458',1,'ucp_params']]], + ['request_5fsize_121',['request_size',['../group___u_c_p___c_o_n_f_i_g.html#a3125e61440123f639c024d75b5edc0d6',1,'ucp_params::request_size()'],['../group___u_c_p___c_o_n_t_e_x_t.html#a9b2ad3af27e1e94d4189ecc6fb1512ef',1,'ucp_context_attr::request_size()']]], + ['reserved_122',['reserved',['../group___u_c_p___e_n_d_p_o_i_n_t.html#a00c2ee7b309e8c2a45d7e7c83911d707',1,'ucp_stream_poll_ep']]], + ['rkey_123',['rkey',['../group___u_c_t___m_d.html#a750c92c67b9203752b04894893b91bbc',1,'uct_rkey_bundle']]], + ['rkey_5fpacked_5fsize_124',['rkey_packed_size',['../group___u_c_t___m_d.html#a95f941f6d800ef57a183d1f9c75a221c',1,'uct_md_attr']]], + ['rndv_5farg_125',['rndv_arg',['../group___u_c_t___r_e_s_o_u_r_c_e.html#afbeb49c7a773e6d61eaba872535809e8',1,'uct_iface_params']]], + ['rndv_5fcb_126',['rndv_cb',['../group___u_c_t___r_e_s_o_u_r_c_e.html#aee589d588ff4207d4fcf0d147479facd',1,'uct_iface_params::rndv_cb()'],['../structuct__tag__context.html#a64008d8faf823d5d2be97cb16854c308',1,'uct_tag_context::rndv_cb()']]], + ['rx_5fheadroom_127',['rx_headroom',['../group___u_c_t___r_e_s_o_u_r_c_e.html#aea4ca94171e8dfe3e80abb74a06fe333',1,'uct_iface_params']]] +]; diff --git a/api/v1.13/html/search/all_f.html b/api/v1.13/html/search/all_f.html new file mode 100644 index 00000000000..246f8ab1203 --- /dev/null +++ b/api/v1.13/html/search/all_f.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/all_f.js b/api/v1.13/html/search/all_f.js new file mode 100644 index 00000000000..ab0fc9211a6 --- /dev/null +++ b/api/v1.13/html/search/all_f.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['sender_5ftag_128',['sender_tag',['../group___u_c_p___c_o_n_t_e_x_t.html#a19ac36808d83d348b23cd34fe997a7c9',1,'ucp_tag_recv_info']]], + ['shared_129',['shared',['../namespace_3global_scope_4.html#ad2a5875d9c5c32357a72b42ec00c3b6d',1,'uct_ppn_bandwidth']]], + ['sockaddr_130',['sockaddr',['../group___u_c_p___w_o_r_k_e_r.html#affcc213cd4305412937974eefb95bc32',1,'ucp_listener_attr::sockaddr()'],['../group___u_c_p___w_o_r_k_e_r.html#a88be57709393e7bf27d10d8a5238b544',1,'ucp_listener_params::sockaddr()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#aa23fd9a6a092266371258bd285c96816',1,'ucp_ep_params::sockaddr()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a3eeadaece922904cae592889db563977',1,'uct_ep_params::sockaddr()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a8cc6f13deda40a11ae98cae547869342',1,'uct_listener_attr::sockaddr()']]], + ['sockaddr_5fcb_5fclient_131',['sockaddr_cb_client',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a375c999b7326f631877deae2bf24ccf6',1,'uct_ep_params']]], + ['sockaddr_5fcb_5fflags_132',['sockaddr_cb_flags',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a1471e0cef36287e0b37645beba2d792c',1,'uct_ep_params']]], + ['sockaddr_5fcb_5fserver_133',['sockaddr_cb_server',['../group___u_c_t___r_e_s_o_u_r_c_e.html#aa290e652d57da6ee3bc5d1efff43a2fe',1,'uct_ep_params']]], + ['sockaddr_5fpack_5fcb_134',['sockaddr_pack_cb',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a7d44f52031c50abc0b6636421c82bbf1',1,'uct_ep_params']]], + ['start_5fpack_135',['start_pack',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gaf59e41a131f620d3b71f3aa7b9bb4801',1,'ucp_generic_dt_ops']]], + ['start_5funpack_136',['start_unpack',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gaec412b924f1cf491fbc570927f77c7e6',1,'ucp_generic_dt_ops']]], + ['stats_5froot_137',['stats_root',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a6d87dd22dc349557a706bb25d49975f0',1,'uct_iface_params']]], + ['status_138',['status',['../group___u_c_p___c_o_m_m.html#a3df010dde5b9a67b62bd354f0af3fc93',1,'ucp_request_attr_t::status()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#aa3b099f011e78bd23c8768264576314d',1,'uct_completion::status()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#afc75b0697e4624831532a20013eb4c98',1,'uct_cm_ep_resolve_args::status()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ab34b457dd1e16034378445aeac010d4b',1,'uct_cm_ep_client_connect_args::status()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a0deb70821df070090ebef30cb70b66c2',1,'uct_cm_ep_server_conn_notify_args::status()']]], + ['stride_139',['stride',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a21ea5b278cab407db05eaa3dce3b2824',1,'uct_iov']]], + ['sys_5fdev_140',['sys_dev',['../group___u_c_t___m_d.html#aacc6d26ea7f15b8cd19cb9b10eb4603c',1,'uct_md_mem_attr']]], + ['sys_5fdevice_141',['sys_device',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a1e3ce2607f86f8faf1eacf0b91636e27',1,'uct_tl_resource_desc']]] +]; diff --git a/api/v1.13/html/search/classes_0.html b/api/v1.13/html/search/classes_0.html new file mode 100644 index 00000000000..f7e4c14e1b1 --- /dev/null +++ b/api/v1.13/html/search/classes_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/classes_0.js b/api/v1.13/html/search/classes_0.js new file mode 100644 index 00000000000..271cc975c73 --- /dev/null +++ b/api/v1.13/html/search/classes_0.js @@ -0,0 +1,78 @@ +var searchData= +[ + ['ucp_5fam_5fhandler_5fparam_1028',['ucp_am_handler_param',['../group___u_c_p___w_o_r_k_e_r.html#structucp__am__handler__param',1,'']]], + ['ucp_5fam_5frecv_5fparam_1029',['ucp_am_recv_param',['../group___u_c_p___w_o_r_k_e_r.html#structucp__am__recv__param',1,'']]], + ['ucp_5fconn_5frequest_5fattr_1030',['ucp_conn_request_attr',['../group___u_c_p___w_o_r_k_e_r.html#structucp__conn__request__attr',1,'']]], + ['ucp_5fcontext_5fattr_1031',['ucp_context_attr',['../group___u_c_p___c_o_n_t_e_x_t.html#structucp__context__attr',1,'']]], + ['ucp_5fdt_5fiov_1032',['ucp_dt_iov',['../group___u_c_p___d_a_t_a_t_y_p_e.html#structucp__dt__iov',1,'']]], + ['ucp_5fep_5fattr_1033',['ucp_ep_attr',['../group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__attr',1,'']]], + ['ucp_5fep_5fevaluate_5fperf_5fattr_5ft_1034',['ucp_ep_evaluate_perf_attr_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__evaluate__perf__attr__t',1,'']]], + ['ucp_5fep_5fevaluate_5fperf_5fparam_5ft_1035',['ucp_ep_evaluate_perf_param_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__evaluate__perf__param__t',1,'']]], + ['ucp_5fep_5fparams_1036',['ucp_ep_params',['../group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__ep__params',1,'']]], + ['ucp_5ferr_5fhandler_1037',['ucp_err_handler',['../group___u_c_p___c_o_m_m.html#structucp__err__handler',1,'']]], + ['ucp_5fgeneric_5fdt_5fops_1038',['ucp_generic_dt_ops',['../structucp__generic__dt__ops.html',1,'']]], + ['ucp_5flib_5fattr_1039',['ucp_lib_attr',['../group___u_c_p___c_o_n_t_e_x_t.html#structucp__lib__attr',1,'']]], + ['ucp_5flistener_5faccept_5fhandler_1040',['ucp_listener_accept_handler',['../group___u_c_p___w_o_r_k_e_r.html#structucp__listener__accept__handler',1,'']]], + ['ucp_5flistener_5fattr_1041',['ucp_listener_attr',['../group___u_c_p___w_o_r_k_e_r.html#structucp__listener__attr',1,'']]], + ['ucp_5flistener_5fconn_5fhandler_1042',['ucp_listener_conn_handler',['../group___u_c_p___w_o_r_k_e_r.html#structucp__listener__conn__handler',1,'']]], + ['ucp_5flistener_5fparams_1043',['ucp_listener_params',['../group___u_c_p___w_o_r_k_e_r.html#structucp__listener__params',1,'']]], + ['ucp_5fmem_5fadvise_5fparams_1044',['ucp_mem_advise_params',['../group___u_c_p___m_e_m.html#structucp__mem__advise__params',1,'']]], + ['ucp_5fmem_5fattr_1045',['ucp_mem_attr',['../group___u_c_p___m_e_m.html#structucp__mem__attr',1,'']]], + ['ucp_5fmem_5fmap_5fparams_1046',['ucp_mem_map_params',['../group___u_c_p___m_e_m.html#structucp__mem__map__params',1,'']]], + ['ucp_5fparams_1047',['ucp_params',['../group___u_c_p___c_o_n_f_i_g.html#structucp__params',1,'']]], + ['ucp_5frequest_5fattr_5ft_1048',['ucp_request_attr_t',['../group___u_c_p___c_o_m_m.html#structucp__request__attr__t',1,'']]], + ['ucp_5frequest_5fparam_5ft_1049',['ucp_request_param_t',['../group___u_c_p___c_o_n_t_e_x_t.html#structucp__request__param__t',1,'']]], + ['ucp_5frequest_5fparam_5ft_2ecb_1050',['ucp_request_param_t.cb',['../group___u_c_p___c_o_n_t_e_x_t.html#unionucp__request__param__t_8cb',1,'']]], + ['ucp_5frequest_5fparam_5ft_2erecv_5finfo_1051',['ucp_request_param_t.recv_info',['../group___u_c_p___c_o_n_t_e_x_t.html#unionucp__request__param__t_8recv__info',1,'']]], + ['ucp_5fstream_5fpoll_5fep_1052',['ucp_stream_poll_ep',['../group___u_c_p___e_n_d_p_o_i_n_t.html#structucp__stream__poll__ep',1,'']]], + ['ucp_5ftag_5frecv_5finfo_1053',['ucp_tag_recv_info',['../group___u_c_p___c_o_n_t_e_x_t.html#structucp__tag__recv__info',1,'']]], + ['ucp_5fworker_5faddress_5fattr_1054',['ucp_worker_address_attr',['../group___u_c_p___w_o_r_k_e_r.html#structucp__worker__address__attr',1,'']]], + ['ucp_5fworker_5fattr_1055',['ucp_worker_attr',['../group___u_c_p___w_o_r_k_e_r.html#structucp__worker__attr',1,'']]], + ['ucp_5fworker_5fparams_1056',['ucp_worker_params',['../group___u_c_p___w_o_r_k_e_r.html#structucp__worker__params',1,'']]], + ['ucs_5fcallbackq_1057',['ucs_callbackq',['../namespace_3global_scope_4.html#structucs__callbackq',1,'']]], + ['ucs_5fcallbackq_5felem_1058',['ucs_callbackq_elem',['../namespace_3global_scope_4.html#structucs__callbackq__elem',1,'']]], + ['ucs_5fconfig_5fallow_5flist_5ft_1059',['ucs_config_allow_list_t',['../namespace_3global_scope_4.html#structucs__config__allow__list__t',1,'']]], + ['ucs_5flog_5fcomponent_5fconfig_1060',['ucs_log_component_config',['../namespace_3global_scope_4.html#structucs__log__component__config',1,'']]], + ['ucs_5fsock_5faddr_1061',['ucs_sock_addr',['../group___u_c_s___r_e_s_o_u_r_c_e.html#structucs__sock__addr',1,'']]], + ['uct_5fallocated_5fmemory_1062',['uct_allocated_memory',['../group___u_c_t___m_d.html#structuct__allocated__memory',1,'']]], + ['uct_5fcm_5fattr_1063',['uct_cm_attr',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__attr',1,'']]], + ['uct_5fcm_5fep_5fclient_5fconnect_5fargs_1064',['uct_cm_ep_client_connect_args',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__client__connect__args',1,'']]], + ['uct_5fcm_5fep_5fpriv_5fdata_5fpack_5fargs_1065',['uct_cm_ep_priv_data_pack_args',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__priv__data__pack__args',1,'']]], + ['uct_5fcm_5fep_5fresolve_5fargs_1066',['uct_cm_ep_resolve_args',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__resolve__args',1,'']]], + ['uct_5fcm_5fep_5fserver_5fconn_5fnotify_5fargs_1067',['uct_cm_ep_server_conn_notify_args',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__ep__server__conn__notify__args',1,'']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fargs_1068',['uct_cm_listener_conn_request_args',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__listener__conn__request__args',1,'']]], + ['uct_5fcm_5fremote_5fdata_1069',['uct_cm_remote_data',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__cm__remote__data',1,'']]], + ['uct_5fcompletion_1070',['uct_completion',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__completion',1,'']]], + ['uct_5fcomponent_5fattr_1071',['uct_component_attr',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__component__attr',1,'']]], + ['uct_5fep_5fconnect_5fparams_1072',['uct_ep_connect_params',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__ep__connect__params',1,'']]], + ['uct_5fep_5fparams_1073',['uct_ep_params',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__ep__params',1,'']]], + ['uct_5fiface_5fattr_1074',['uct_iface_attr',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr',1,'']]], + ['uct_5fiface_5fattr_2ecap_1075',['uct_iface_attr.cap',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap',1,'']]], + ['uct_5fiface_5fattr_2ecap_2eam_1076',['uct_iface_attr.cap.am',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8am',1,'']]], + ['uct_5fiface_5fattr_2ecap_2eatomic32_1077',['uct_iface_attr.cap.atomic32',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8atomic32',1,'']]], + ['uct_5fiface_5fattr_2ecap_2eatomic64_1078',['uct_iface_attr.cap.atomic64',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8atomic64',1,'']]], + ['uct_5fiface_5fattr_2ecap_2eget_1079',['uct_iface_attr.cap.get',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8get',1,'']]], + ['uct_5fiface_5fattr_2ecap_2eput_1080',['uct_iface_attr.cap.put',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8put',1,'']]], + ['uct_5fiface_5fattr_2ecap_2etag_1081',['uct_iface_attr.cap.tag',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag',1,'']]], + ['uct_5fiface_5fattr_2ecap_2etag_2eeager_1082',['uct_iface_attr.cap.tag.eager',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag_8eager',1,'']]], + ['uct_5fiface_5fattr_2ecap_2etag_2erecv_1083',['uct_iface_attr.cap.tag.recv',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag_8recv',1,'']]], + ['uct_5fiface_5fattr_2ecap_2etag_2erndv_1084',['uct_iface_attr.cap.tag.rndv',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__attr_8cap_8tag_8rndv',1,'']]], + ['uct_5fiface_5fparams_1085',['uct_iface_params',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__params',1,'']]], + ['uct_5fiface_5fparams_2emode_1086',['uct_iface_params.mode',['../group___u_c_t___r_e_s_o_u_r_c_e.html#unionuct__iface__params_8mode',1,'']]], + ['uct_5fiface_5fparams_2emode_2edevice_1087',['uct_iface_params.mode.device',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__params_8mode_8device',1,'']]], + ['uct_5fiface_5fparams_2emode_2esockaddr_1088',['uct_iface_params.mode.sockaddr',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iface__params_8mode_8sockaddr',1,'']]], + ['uct_5fiov_1089',['uct_iov',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__iov',1,'']]], + ['uct_5flistener_5fattr_1090',['uct_listener_attr',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__listener__attr',1,'']]], + ['uct_5flistener_5fparams_1091',['uct_listener_params',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#structuct__listener__params',1,'']]], + ['uct_5fmd_5fattr_1092',['uct_md_attr',['../group___u_c_t___m_d.html#structuct__md__attr',1,'']]], + ['uct_5fmd_5fattr_2ecap_1093',['uct_md_attr.cap',['../group___u_c_t___m_d.html#structuct__md__attr_8cap',1,'']]], + ['uct_5fmd_5fmem_5fattr_1094',['uct_md_mem_attr',['../group___u_c_t___m_d.html#structuct__md__mem__attr',1,'']]], + ['uct_5fmd_5fresource_5fdesc_1095',['uct_md_resource_desc',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__md__resource__desc',1,'']]], + ['uct_5fmem_5falloc_5fparams_5ft_1096',['uct_mem_alloc_params_t',['../group___u_c_t___m_d.html#structuct__mem__alloc__params__t',1,'']]], + ['uct_5fmem_5falloc_5fparams_5ft_2emds_1097',['uct_mem_alloc_params_t.mds',['../group___u_c_t___m_d.html#structuct__mem__alloc__params__t_8mds',1,'']]], + ['uct_5fpending_5freq_1098',['uct_pending_req',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__pending__req',1,'']]], + ['uct_5fppn_5fbandwidth_1099',['uct_ppn_bandwidth',['../namespace_3global_scope_4.html#structuct__ppn__bandwidth',1,'']]], + ['uct_5frkey_5fbundle_1100',['uct_rkey_bundle',['../group___u_c_t___m_d.html#structuct__rkey__bundle',1,'']]], + ['uct_5ftag_5fcontext_1101',['uct_tag_context',['../structuct__tag__context.html',1,'']]], + ['uct_5ftl_5fresource_5fdesc_1102',['uct_tl_resource_desc',['../group___u_c_t___r_e_s_o_u_r_c_e.html#structuct__tl__resource__desc',1,'']]] +]; diff --git a/api/v1.13/html/search/close.png b/api/v1.13/html/search/close.png new file mode 100644 index 00000000000..9342d3dfeea Binary files /dev/null and b/api/v1.13/html/search/close.png differ diff --git a/api/v1.13/html/search/enums_0.html b/api/v1.13/html/search/enums_0.html new file mode 100644 index 00000000000..9669700af02 --- /dev/null +++ b/api/v1.13/html/search/enums_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/enums_0.js b/api/v1.13/html/search/enums_0.js new file mode 100644 index 00000000000..eb0b0c23950 --- /dev/null +++ b/api/v1.13/html/search/enums_0.js @@ -0,0 +1,73 @@ +var searchData= +[ + ['ucp_5fam_5fcb_5fflags_1585',['ucp_am_cb_flags',['../group___u_c_p___w_o_r_k_e_r.html#ga41d5b7b408c7546c7cb8b38d72f8653f',1,'ucp.h']]], + ['ucp_5fam_5fhandler_5fparam_5ffield_1586',['ucp_am_handler_param_field',['../group___u_c_p___c_o_m_m.html#gaeae021145933ffa033b8327bb7bf2533',1,'ucp.h']]], + ['ucp_5fam_5frecv_5fattr_5ft_1587',['ucp_am_recv_attr_t',['../group___u_c_p___c_o_m_m.html#ga487a3c588a11e42b9f313f0c9e2ead3b',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5ft_1588',['ucp_atomic_fetch_op_t',['../group___u_c_p___c_o_m_m.html#gabd91e0300a53e38d28dbb53dfbb66c55',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5ft_1589',['ucp_atomic_op_t',['../group___u_c_p___c_o_m_m.html#ga5c2ee7516e48146c044e3d9e2a2ed380',1,'ucp.h']]], + ['ucp_5fatomic_5fpost_5fop_5ft_1590',['ucp_atomic_post_op_t',['../group___u_c_p___c_o_m_m.html#gac5d94ea07dc4feae2708e67378ba2ad0',1,'ucp.h']]], + ['ucp_5fcb_5fparam_5fflags_1591',['ucp_cb_param_flags',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga4a9af9e36e3256933869d6699be25874',1,'ucp.h']]], + ['ucp_5fconn_5frequest_5fattr_5ffield_1592',['ucp_conn_request_attr_field',['../group___u_c_p___w_o_r_k_e_r.html#ga31119b42b06b185822699697bd7a1018',1,'ucp.h']]], + ['ucp_5fcontext_5fattr_5ffield_1593',['ucp_context_attr_field',['../group___u_c_p___c_o_n_t_e_x_t.html#ga446a95e55ba52251d2ca4bf61ff916bf',1,'ucp.h']]], + ['ucp_5fdt_5ftype_1594',['ucp_dt_type',['../group___u_c_p___d_a_t_a_t_y_p_e.html#ga50b3b4e641a197264e963d91be480b6c',1,'ucp.h']]], + ['ucp_5fep_5fattr_5ffield_1595',['ucp_ep_attr_field',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gaa24832a718990ceb558ab5a1d4abfc41',1,'ucp.h']]], + ['ucp_5fep_5fclose_5fflags_5ft_1596',['ucp_ep_close_flags_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gacef728a5ee7a11f50794544aa259fe71',1,'ucp.h']]], + ['ucp_5fep_5fclose_5fmode_1597',['ucp_ep_close_mode',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga3be4aa93d76e41c80c780965f2f8ae57',1,'ucp.h']]], + ['ucp_5fep_5fparams_5ffield_1598',['ucp_ep_params_field',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gabb6ce0b3189f415dadc7f99727751d60',1,'ucp.h']]], + ['ucp_5fep_5fparams_5fflags_5ffield_1599',['ucp_ep_params_flags_field',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga4a1f422dc1e81495b4aee1da8939459f',1,'ucp.h']]], + ['ucp_5fep_5fperf_5fattr_5ffield_1600',['ucp_ep_perf_attr_field',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga806d286165cdbe6d6c63d52b06b16406',1,'ucp.h']]], + ['ucp_5fep_5fperf_5fparam_5ffield_1601',['ucp_ep_perf_param_field',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga4abce355cbaf6b31b1aaa88b68154f13',1,'ucp.h']]], + ['ucp_5ferr_5fhandling_5fmode_5ft_1602',['ucp_err_handling_mode_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga7c69a28724d5ae3e49490e23e64df167',1,'ucp_def.h']]], + ['ucp_5ffeature_1603',['ucp_feature',['../group___u_c_p___c_o_n_t_e_x_t.html#gaca5990bc015e7e9ac3e3be4e3611c5be',1,'ucp.h']]], + ['ucp_5flib_5fattr_5ffield_1604',['ucp_lib_attr_field',['../group___u_c_p___c_o_n_t_e_x_t.html#ga2791b2b44c55fdb685dcd4dad8c8ae3c',1,'ucp.h']]], + ['ucp_5flistener_5fattr_5ffield_1605',['ucp_listener_attr_field',['../group___u_c_p___w_o_r_k_e_r.html#ga54059507b51041359aedffbe75635720',1,'ucp.h']]], + ['ucp_5flistener_5fparams_5ffield_1606',['ucp_listener_params_field',['../group___u_c_p___w_o_r_k_e_r.html#ga36d95269fcce844261494cbd4f5e26fc',1,'ucp.h']]], + ['ucp_5fmem_5fadvice_1607',['ucp_mem_advice',['../group___u_c_p___m_e_m.html#ga1a73c4a7fc1d8a6d75e6b53256eec0b8',1,'ucp.h']]], + ['ucp_5fmem_5fadvise_5fparams_5ffield_1608',['ucp_mem_advise_params_field',['../group___u_c_p___m_e_m.html#ga3c0f7ca217c77fa0ae8649e21b24a1fc',1,'ucp.h']]], + ['ucp_5fmem_5fattr_5ffield_1609',['ucp_mem_attr_field',['../group___u_c_p___m_e_m.html#gab0d7a54391c964c59b2cfbf30e23dc14',1,'ucp_def.h']]], + ['ucp_5fmem_5fmap_5fparams_5ffield_1610',['ucp_mem_map_params_field',['../group___u_c_p___m_e_m.html#ga1b78010c24c834aadc9fb8f1083e226f',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ft_1611',['ucp_op_attr_t',['../group___u_c_p___c_o_m_m.html#ga67fae646dd1668efba6efe49a35a6610',1,'ucp.h']]], + ['ucp_5fparams_5ffield_1612',['ucp_params_field',['../group___u_c_p___c_o_n_t_e_x_t.html#gab43f613a2365147415abf66f571cfa71',1,'ucp.h']]], + ['ucp_5freq_5fattr_5ffield_1613',['ucp_req_attr_field',['../group___u_c_p___c_o_m_m.html#gab383d860475f8917f51afb542e7d02ff',1,'ucp.h']]], + ['ucp_5fsend_5fam_5fflags_1614',['ucp_send_am_flags',['../group___u_c_p___w_o_r_k_e_r.html#ga583228e89cd5c882025ed04c76106aa6',1,'ucp.h']]], + ['ucp_5fstream_5frecv_5fflags_5ft_1615',['ucp_stream_recv_flags_t',['../group___u_c_p___c_o_m_m.html#gab471a9c7ab815e3d3ad7af80253f5cc2',1,'ucp.h']]], + ['ucp_5fwakeup_5fevent_5ftypes_1616',['ucp_wakeup_event_types',['../group___u_c_p___w_o_r_k_e_r.html#ga66be8946dcd33051d40ceca65ba28e22',1,'ucp_def.h']]], + ['ucp_5fworker_5faddress_5fattr_5ffield_1617',['ucp_worker_address_attr_field',['../group___u_c_p___w_o_r_k_e_r.html#gaadc74e7e271c4e181263115b08bf71c8',1,'ucp.h']]], + ['ucp_5fworker_5faddress_5fflags_5ft_1618',['ucp_worker_address_flags_t',['../group___u_c_p___w_o_r_k_e_r.html#gab1ec638cc4a7498a85017d132492d195',1,'ucp.h']]], + ['ucp_5fworker_5fattr_5ffield_1619',['ucp_worker_attr_field',['../group___u_c_p___w_o_r_k_e_r.html#gacf03ee299a48c2f9c776516cc82c7194',1,'ucp.h']]], + ['ucp_5fworker_5fflags_5ft_1620',['ucp_worker_flags_t',['../group___u_c_p___w_o_r_k_e_r.html#ga11a37476d021e1ad36c1b727373212b4',1,'ucp.h']]], + ['ucp_5fworker_5fparams_5ffield_1621',['ucp_worker_params_field',['../group___u_c_p___w_o_r_k_e_r.html#gadbfc8fd5eaa65351d1617f2f158b80f6',1,'ucp.h']]], + ['ucs_5fcallbackq_5fflags_1622',['ucs_callbackq_flags',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gaa693580c739b1ba94bd6218d00222110',1,'callbackq.h']]], + ['ucs_5fmemory_5ftype_1623',['ucs_memory_type',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga5cfcc524f5dc586101a3e7caff8d982d',1,'memory_type.h']]], + ['ucs_5fstatus_5ft_1624',['ucs_status_t',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga88ca72d7294772e7d2edb70a2df15558',1,'status.h']]], + ['ucs_5fthread_5fmode_5ft_1625',['ucs_thread_mode_t',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga40e9f363c389e702ad9920f5d52525ce',1,'thread_mode.h']]], + ['uct_5falloc_5fmethod_5ft_1626',['uct_alloc_method_t',['../group___u_c_t___c_o_n_t_e_x_t.html#ga019362c62f98ff7935b05c512eb0ab09',1,'uct.h']]], + ['uct_5fam_5ftrace_5ftype_1627',['uct_am_trace_type',['../group___u_c_t___a_m.html#gacbe4c7fdcaf25cd7bd004a3c2d54f067',1,'uct_def.h']]], + ['uct_5fcb_5fflags_1628',['uct_cb_flags',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaca1e07b69024fec26746e3a19b4de9d0',1,'uct.h']]], + ['uct_5fcb_5fparam_5fflags_1629',['uct_cb_param_flags',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga36bfc11c722b01a11e1949e8329262c9',1,'uct_def.h']]], + ['uct_5fcm_5fattr_5ffield_1630',['uct_cm_attr_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga2b308be867e1e13dcb7d941b07835431',1,'uct.h']]], + ['uct_5fcm_5fep_5fclient_5fconnect_5fargs_5ffield_1631',['uct_cm_ep_client_connect_args_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga6746759cc1850c6e260fca7e3de008ad',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fpriv_5fdata_5fpack_5fargs_5ffield_1632',['uct_cm_ep_priv_data_pack_args_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga405dee8e814ebc33f14c5f44e80d008c',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fresolve_5fargs_5ffield_1633',['uct_cm_ep_resolve_args_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga6c342b6c43e178b73f567bd0fb253e62',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fserver_5fconn_5fnotify_5fargs_5ffield_1634',['uct_cm_ep_server_conn_notify_args_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaf1cffc53a9b63fb98a77503917f5fd79',1,'uct_def.h']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fargs_5ffield_1635',['uct_cm_listener_conn_request_args_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga9e97a59a0593244e730734d592b642df',1,'uct_def.h']]], + ['uct_5fcm_5fremote_5fdata_5ffield_1636',['uct_cm_remote_data_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga3e023485a86ad4092497ffe58cddef37',1,'uct_def.h']]], + ['uct_5fcomponent_5fattr_5ffield_1637',['uct_component_attr_field',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga246ded5e20aa09c590673c771c74b68b',1,'uct.h']]], + ['uct_5fdevice_5ftype_5ft_1638',['uct_device_type_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gae0c25b8c160e49fbb9cc122c9807f20d',1,'uct.h']]], + ['uct_5fep_5fconnect_5fparams_5ffield_1639',['uct_ep_connect_params_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaa821e2f4247cd5e72632e5ea7008e6e1',1,'uct.h']]], + ['uct_5fep_5fparams_5ffield_1640',['uct_ep_params_field',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga8e76f363d8805669fb5371b404c5658b',1,'uct.h']]], + ['uct_5fflush_5fflags_1641',['uct_flush_flags',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga84ba23c28fda1c96f5018bbafb7ffed6',1,'uct.h']]], + ['uct_5fiface_5fevent_5ftypes_1642',['uct_iface_event_types',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaef09139f303b0a3d28a1cea524dc3bd2',1,'uct.h']]], + ['uct_5fiface_5ffeature_1643',['uct_iface_feature',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga078dd84cff9d6b1cda5692fbf6b1e7c7',1,'uct.h']]], + ['uct_5fiface_5fopen_5fmode_1644',['uct_iface_open_mode',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga8bc9c95ee7fbd76321940e2853d08bb5',1,'uct.h']]], + ['uct_5fiface_5fparams_5ffield_1645',['uct_iface_params_field',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga896baeefc7933d925202c32b0d09f596',1,'uct.h']]], + ['uct_5flistener_5fattr_5ffield_1646',['uct_listener_attr_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gad253d9c2e4116f9a137a2d2450afbe66',1,'uct.h']]], + ['uct_5flistener_5fparams_5ffield_1647',['uct_listener_params_field',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaf716bd7cdc636377ef78c258886693c7',1,'uct.h']]], + ['uct_5fmd_5fmem_5fattr_5ffield_1648',['uct_md_mem_attr_field',['../group___u_c_t___m_d.html#gac4f1c9728c529e4f35eaf03bc14c6977',1,'uct.h']]], + ['uct_5fmd_5fmem_5fflags_1649',['uct_md_mem_flags',['../group___u_c_t___m_d.html#ga3b0345adc84e4b3224366502aca5e11a',1,'uct.h']]], + ['uct_5fmem_5fadvice_5ft_1650',['uct_mem_advice_t',['../group___u_c_t___m_d.html#ga72172b231f5e9df777cb130b9f908397',1,'uct.h']]], + ['uct_5fmem_5falloc_5fparams_5ffield_5ft_1651',['uct_mem_alloc_params_field_t',['../group___u_c_t___m_d.html#ga3421ca55bc67f5752ca6164f678a7923',1,'uct.h']]], + ['uct_5fmsg_5fflags_1652',['uct_msg_flags',['../group___u_c_t___a_m.html#ga139e5d124e16d412200bf64bdbccab1c',1,'uct.h']]], + ['uct_5fprogress_5ftypes_1653',['uct_progress_types',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga71bfe6e07ebbcc036f883b31db1e9e51',1,'uct.h']]], + ['uct_5fsockaddr_5faccessibility_5ft_1654',['uct_sockaddr_accessibility_t',['../group___u_c_t___m_d.html#gacb560e35a1b169ca88792200817e219e',1,'uct.h']]] +]; diff --git a/api/v1.13/html/search/enumvalues_0.html b/api/v1.13/html/search/enumvalues_0.html new file mode 100644 index 00000000000..9286248995d --- /dev/null +++ b/api/v1.13/html/search/enumvalues_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/enumvalues_0.js b/api/v1.13/html/search/enumvalues_0.js new file mode 100644 index 00000000000..36fafdc59d8 --- /dev/null +++ b/api/v1.13/html/search/enumvalues_0.js @@ -0,0 +1,338 @@ +var searchData= +[ + ['ucp_5fam_5fflag_5fpersistent_5fdata_1655',['UCP_AM_FLAG_PERSISTENT_DATA',['../group___u_c_p___w_o_r_k_e_r.html#gga41d5b7b408c7546c7cb8b38d72f8653faa15bbd02f0d9e0afd2e979b89669fbe2',1,'ucp.h']]], + ['ucp_5fam_5fflag_5fwhole_5fmsg_1656',['UCP_AM_FLAG_WHOLE_MSG',['../group___u_c_p___w_o_r_k_e_r.html#gga41d5b7b408c7546c7cb8b38d72f8653fab8e0a400e8017b571682b853c8ff0559',1,'ucp.h']]], + ['ucp_5fam_5fhandler_5fparam_5ffield_5farg_1657',['UCP_AM_HANDLER_PARAM_FIELD_ARG',['../group___u_c_p___c_o_m_m.html#ggaeae021145933ffa033b8327bb7bf2533a23622f1a9046a0b59d1519732e2b73ff',1,'ucp.h']]], + ['ucp_5fam_5fhandler_5fparam_5ffield_5fcb_1658',['UCP_AM_HANDLER_PARAM_FIELD_CB',['../group___u_c_p___c_o_m_m.html#ggaeae021145933ffa033b8327bb7bf2533a6c2a2d3fe9c7118d3513833ad452cb69',1,'ucp.h']]], + ['ucp_5fam_5fhandler_5fparam_5ffield_5fflags_1659',['UCP_AM_HANDLER_PARAM_FIELD_FLAGS',['../group___u_c_p___c_o_m_m.html#ggaeae021145933ffa033b8327bb7bf2533a99854985610ec532f0c83e36b3cadb3d',1,'ucp.h']]], + ['ucp_5fam_5fhandler_5fparam_5ffield_5fid_1660',['UCP_AM_HANDLER_PARAM_FIELD_ID',['../group___u_c_p___c_o_m_m.html#ggaeae021145933ffa033b8327bb7bf2533a4b9788659b793630cee9bc027add35ad',1,'ucp.h']]], + ['ucp_5fam_5frecv_5fattr_5ffield_5freply_5fep_1661',['UCP_AM_RECV_ATTR_FIELD_REPLY_EP',['../group___u_c_p___c_o_m_m.html#gga487a3c588a11e42b9f313f0c9e2ead3ba7a4057be7a4cc3bba470da4f8ed63259',1,'ucp.h']]], + ['ucp_5fam_5frecv_5fattr_5fflag_5fdata_1662',['UCP_AM_RECV_ATTR_FLAG_DATA',['../group___u_c_p___c_o_m_m.html#gga487a3c588a11e42b9f313f0c9e2ead3baf77ecce2987e81bf773a48363767b77e',1,'ucp.h']]], + ['ucp_5fam_5frecv_5fattr_5fflag_5frndv_1663',['UCP_AM_RECV_ATTR_FLAG_RNDV',['../group___u_c_p___c_o_m_m.html#gga487a3c588a11e42b9f313f0c9e2ead3baf9a8d75af5b826d7563863591a98714f',1,'ucp.h']]], + ['ucp_5fam_5fsend_5fflag_5feager_1664',['UCP_AM_SEND_FLAG_EAGER',['../group___u_c_p___w_o_r_k_e_r.html#gga583228e89cd5c882025ed04c76106aa6af29f97eb0938984f627be7989c35079c',1,'ucp.h']]], + ['ucp_5fam_5fsend_5fflag_5freply_1665',['UCP_AM_SEND_FLAG_REPLY',['../group___u_c_p___w_o_r_k_e_r.html#gga583228e89cd5c882025ed04c76106aa6ace99c327865c6f2294f800099d467b16',1,'ucp.h']]], + ['ucp_5fam_5fsend_5fflag_5frndv_1666',['UCP_AM_SEND_FLAG_RNDV',['../group___u_c_p___w_o_r_k_e_r.html#gga583228e89cd5c882025ed04c76106aa6a3174d72844f5488bee9e0b35c75f68e5',1,'ucp.h']]], + ['ucp_5fam_5fsend_5freply_1667',['UCP_AM_SEND_REPLY',['../group___u_c_p___w_o_r_k_e_r.html#gga583228e89cd5c882025ed04c76106aa6a1794c5ef851a147688d783532f1ec7bb',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5fcswap_1668',['UCP_ATOMIC_FETCH_OP_CSWAP',['../group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55adc79d547543b1803dace41a6bdea043c',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5ffadd_1669',['UCP_ATOMIC_FETCH_OP_FADD',['../group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55ae7540b3c7046a454f750f816bdfa1037',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5ffand_1670',['UCP_ATOMIC_FETCH_OP_FAND',['../group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55a072b82e2e35a90b7ed3e113423e6d5e3',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5ffor_1671',['UCP_ATOMIC_FETCH_OP_FOR',['../group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55a2b0b3779905ea67eea996ae8e296ed59',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5ffxor_1672',['UCP_ATOMIC_FETCH_OP_FXOR',['../group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55a86930c2cddc0a884cbf88ced6c330049',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5flast_1673',['UCP_ATOMIC_FETCH_OP_LAST',['../group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55a2532883ac97f4ee8178b52318f978a05',1,'ucp.h']]], + ['ucp_5fatomic_5ffetch_5fop_5fswap_1674',['UCP_ATOMIC_FETCH_OP_SWAP',['../group___u_c_p___c_o_m_m.html#ggabd91e0300a53e38d28dbb53dfbb66c55ad5a1d6d5e5cb563b477258a4656c9069',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5fadd_1675',['UCP_ATOMIC_OP_ADD',['../group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380a9386a4cc004f74e89bb069096ff1e43b',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5fand_1676',['UCP_ATOMIC_OP_AND',['../group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380adf96b275090535fca4d7c1bedaef7da3',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5fcswap_1677',['UCP_ATOMIC_OP_CSWAP',['../group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380ae5da2927554be21b16aa65f9e46f762a',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5flast_1678',['UCP_ATOMIC_OP_LAST',['../group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380a0983496b62f2d28cf043966793c6bb0b',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5for_1679',['UCP_ATOMIC_OP_OR',['../group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380abf085a4df55bbd6109e3fb849e0d123e',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5fswap_1680',['UCP_ATOMIC_OP_SWAP',['../group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380af72a4149b8c55e187bdfdcbd8d201eeb',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5fxor_1681',['UCP_ATOMIC_OP_XOR',['../group___u_c_p___c_o_m_m.html#gga5c2ee7516e48146c044e3d9e2a2ed380ac723509b3a97de7b43d1736bf9d79243',1,'ucp.h']]], + ['ucp_5fatomic_5fpost_5fop_5fadd_1682',['UCP_ATOMIC_POST_OP_ADD',['../group___u_c_p___c_o_m_m.html#ggac5d94ea07dc4feae2708e67378ba2ad0ac9bbe0e18afb3ffc3f308feb0a2343c0',1,'ucp.h']]], + ['ucp_5fatomic_5fpost_5fop_5fand_1683',['UCP_ATOMIC_POST_OP_AND',['../group___u_c_p___c_o_m_m.html#ggac5d94ea07dc4feae2708e67378ba2ad0a429b49ede714d04c4675a6e3966964e4',1,'ucp.h']]], + ['ucp_5fatomic_5fpost_5fop_5flast_1684',['UCP_ATOMIC_POST_OP_LAST',['../group___u_c_p___c_o_m_m.html#ggac5d94ea07dc4feae2708e67378ba2ad0a97ee6dd65f14dc12791831435329c38d',1,'ucp.h']]], + ['ucp_5fatomic_5fpost_5fop_5for_1685',['UCP_ATOMIC_POST_OP_OR',['../group___u_c_p___c_o_m_m.html#ggac5d94ea07dc4feae2708e67378ba2ad0afddd2f7287b622caf220503a6ae38460',1,'ucp.h']]], + ['ucp_5fatomic_5fpost_5fop_5fxor_1686',['UCP_ATOMIC_POST_OP_XOR',['../group___u_c_p___c_o_m_m.html#ggac5d94ea07dc4feae2708e67378ba2ad0ac498a55f8365e9a0821187367bc2cf89',1,'ucp.h']]], + ['ucp_5fattr_5ffield_5fmemory_5ftypes_1687',['UCP_ATTR_FIELD_MEMORY_TYPES',['../group___u_c_p___c_o_n_t_e_x_t.html#gga446a95e55ba52251d2ca4bf61ff916bfa13fe8e11d8c372a446e00cf559c78b88',1,'ucp.h']]], + ['ucp_5fattr_5ffield_5fname_1688',['UCP_ATTR_FIELD_NAME',['../group___u_c_p___c_o_n_t_e_x_t.html#gga446a95e55ba52251d2ca4bf61ff916bfa35fd67165561f70728f6ec1c8e53ff80',1,'ucp.h']]], + ['ucp_5fattr_5ffield_5frequest_5fsize_1689',['UCP_ATTR_FIELD_REQUEST_SIZE',['../group___u_c_p___c_o_n_t_e_x_t.html#gga446a95e55ba52251d2ca4bf61ff916bfa84237b8beaee9aff1013ae6b87721ce2',1,'ucp.h']]], + ['ucp_5fattr_5ffield_5fthread_5fmode_1690',['UCP_ATTR_FIELD_THREAD_MODE',['../group___u_c_p___c_o_n_t_e_x_t.html#gga446a95e55ba52251d2ca4bf61ff916bfab5f79c9d9c309562d4e7edb60e5855d6',1,'ucp.h']]], + ['ucp_5fcb_5fparam_5fflag_5fdata_1691',['UCP_CB_PARAM_FLAG_DATA',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga4a9af9e36e3256933869d6699be25874a55d40d13674830156e15f6b6289b0d12',1,'ucp.h']]], + ['ucp_5fconn_5frequest_5fattr_5ffield_5fclient_5faddr_1692',['UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ADDR',['../group___u_c_p___w_o_r_k_e_r.html#gga31119b42b06b185822699697bd7a1018a98d3bca4557571d8ccb56ae2d29b2ad6',1,'ucp.h']]], + ['ucp_5fconn_5frequest_5fattr_5ffield_5fclient_5fid_1693',['UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ID',['../group___u_c_p___w_o_r_k_e_r.html#gga31119b42b06b185822699697bd7a1018a2dbcf2ed5576bf2721ca550d34361f1d',1,'ucp.h']]], + ['ucp_5fdatatype_5fclass_5fmask_1694',['UCP_DATATYPE_CLASS_MASK',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6ca63ddce22a2292935f40122def246ffa8',1,'ucp.h']]], + ['ucp_5fdatatype_5fcontig_1695',['UCP_DATATYPE_CONTIG',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6ca42f91fe8586a858f8e6cf9b2b0128048',1,'ucp.h']]], + ['ucp_5fdatatype_5fgeneric_1696',['UCP_DATATYPE_GENERIC',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6caeb9bca341a1f16a56bff64f9889a4567',1,'ucp.h']]], + ['ucp_5fdatatype_5fiov_1697',['UCP_DATATYPE_IOV',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6ca3b5515fddd08f075a8b74eca562bcb50',1,'ucp.h']]], + ['ucp_5fdatatype_5fshift_1698',['UCP_DATATYPE_SHIFT',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6ca5c657c620df6580669917914217b2cda',1,'ucp.h']]], + ['ucp_5fdatatype_5fstrided_1699',['UCP_DATATYPE_STRIDED',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gga50b3b4e641a197264e963d91be480b6caa6bc9a1df8eb865e71f2b90d3e4d97ad',1,'ucp.h']]], + ['ucp_5fep_5fattr_5ffield_5flocal_5fsockaddr_1700',['UCP_EP_ATTR_FIELD_LOCAL_SOCKADDR',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggaa24832a718990ceb558ab5a1d4abfc41a1f04baee4cd992c08b62716558eb6013',1,'ucp.h']]], + ['ucp_5fep_5fattr_5ffield_5fname_1701',['UCP_EP_ATTR_FIELD_NAME',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggaa24832a718990ceb558ab5a1d4abfc41ac78de8cbed80cdb833a6ae5ddcd270fd',1,'ucp.h']]], + ['ucp_5fep_5fattr_5ffield_5fremote_5fsockaddr_1702',['UCP_EP_ATTR_FIELD_REMOTE_SOCKADDR',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggaa24832a718990ceb558ab5a1d4abfc41a2b85f61bc437c3b277e360afaa058bf3',1,'ucp.h']]], + ['ucp_5fep_5fclose_5fflag_5fforce_1703',['UCP_EP_CLOSE_FLAG_FORCE',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggacef728a5ee7a11f50794544aa259fe71a5b827bc555062bcba501faa3f40e789b',1,'ucp.h']]], + ['ucp_5fep_5fclose_5fmode_5fflush_1704',['UCP_EP_CLOSE_MODE_FLUSH',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga3be4aa93d76e41c80c780965f2f8ae57ab0b1f6dcac5f54dff76c87fcf0c55c8b',1,'ucp.h']]], + ['ucp_5fep_5fclose_5fmode_5fforce_1705',['UCP_EP_CLOSE_MODE_FORCE',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga3be4aa93d76e41c80c780965f2f8ae57ad78eab8ac29d813247b3cca01c3194db',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5fconn_5frequest_1706',['UCP_EP_PARAM_FIELD_CONN_REQUEST',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60a88c2cf7c57a1cddc6b2cf9bcdc99e64e',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5ferr_5fhandler_1707',['UCP_EP_PARAM_FIELD_ERR_HANDLER',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60adc6619f5e4bf3f68190f918ee064036d',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5ferr_5fhandling_5fmode_1708',['UCP_EP_PARAM_FIELD_ERR_HANDLING_MODE',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60a1b0e70c12efabe6a2cab3c9bc66db340',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5fflags_1709',['UCP_EP_PARAM_FIELD_FLAGS',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60a1b53a3d4eaee470bcb3e23c60f1f7794',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5flocal_5fsock_5faddr_1710',['UCP_EP_PARAM_FIELD_LOCAL_SOCK_ADDR',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60ade6d1e89c4a39f44f8c088d3e79c59f5',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5fname_1711',['UCP_EP_PARAM_FIELD_NAME',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60aad52a9473f7b47dd7dddc43062e16436',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5fremote_5faddress_1712',['UCP_EP_PARAM_FIELD_REMOTE_ADDRESS',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60ae1c4a9617dea28b56c486ac357299f4c',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5fsock_5faddr_1713',['UCP_EP_PARAM_FIELD_SOCK_ADDR',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60a8149dfb8648b2b248825020c63449a80',1,'ucp.h']]], + ['ucp_5fep_5fparam_5ffield_5fuser_5fdata_1714',['UCP_EP_PARAM_FIELD_USER_DATA',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ggabb6ce0b3189f415dadc7f99727751d60afc6cbbfabd368438e5d6afd36f389d1b',1,'ucp.h']]], + ['ucp_5fep_5fparams_5fflags_5fclient_5fserver_1715',['UCP_EP_PARAMS_FLAGS_CLIENT_SERVER',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga4a1f422dc1e81495b4aee1da8939459fad42871a591a0a34bccf5c8203a0b32bb',1,'ucp.h']]], + ['ucp_5fep_5fparams_5fflags_5fno_5floopback_1716',['UCP_EP_PARAMS_FLAGS_NO_LOOPBACK',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga4a1f422dc1e81495b4aee1da8939459fa519d4e4a7237ae543f72ddeaef6864ec',1,'ucp.h']]], + ['ucp_5fep_5fparams_5fflags_5fsend_5fclient_5fid_1717',['UCP_EP_PARAMS_FLAGS_SEND_CLIENT_ID',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga4a1f422dc1e81495b4aee1da8939459faddc3dea615010520ff2fa9d214eabcd3',1,'ucp.h']]], + ['ucp_5fep_5fperf_5fattr_5ffield_5festimated_5ftime_1718',['UCP_EP_PERF_ATTR_FIELD_ESTIMATED_TIME',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga806d286165cdbe6d6c63d52b06b16406a6bfbf6be343cb78ca8bb7ad9c602ad1a',1,'ucp.h']]], + ['ucp_5fep_5fperf_5fparam_5ffield_5fmessage_5fsize_1719',['UCP_EP_PERF_PARAM_FIELD_MESSAGE_SIZE',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga4abce355cbaf6b31b1aaa88b68154f13a3d545405c1d0a3fec8050d1f985f3360',1,'ucp.h']]], + ['ucp_5ferr_5fhandling_5fmode_5fnone_1720',['UCP_ERR_HANDLING_MODE_NONE',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga7c69a28724d5ae3e49490e23e64df167a18c7855c2e1dea33e0be32d9ef841ffe',1,'ucp_def.h']]], + ['ucp_5ferr_5fhandling_5fmode_5fpeer_1721',['UCP_ERR_HANDLING_MODE_PEER',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gga7c69a28724d5ae3e49490e23e64df167aa31630259732e700b6ce0fe612cf0a6f',1,'ucp_def.h']]], + ['ucp_5ffeature_5fam_1722',['UCP_FEATURE_AM',['../group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5bea685931b9f438fa9a2faaf9eccf47b097',1,'ucp.h']]], + ['ucp_5ffeature_5famo32_1723',['UCP_FEATURE_AMO32',['../group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5beab127e1eabe5779ad82bc1ad4c5b47007',1,'ucp.h']]], + ['ucp_5ffeature_5famo64_1724',['UCP_FEATURE_AMO64',['../group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5beada4b36191b39ef8615f657d370baead1',1,'ucp.h']]], + ['ucp_5ffeature_5frma_1725',['UCP_FEATURE_RMA',['../group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5beaf374a837508d798fb36abd22a7a0a033',1,'ucp.h']]], + ['ucp_5ffeature_5fstream_1726',['UCP_FEATURE_STREAM',['../group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5bea0c3896ead0887f9c650b221831e16b5c',1,'ucp.h']]], + ['ucp_5ffeature_5ftag_1727',['UCP_FEATURE_TAG',['../group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5bea244187ad85296b3784d302db00f66b9e',1,'ucp.h']]], + ['ucp_5ffeature_5fwakeup_1728',['UCP_FEATURE_WAKEUP',['../group___u_c_p___c_o_n_t_e_x_t.html#ggaca5990bc015e7e9ac3e3be4e3611c5beabc3fea5aff6b7453e24235bceb102b5a',1,'ucp.h']]], + ['ucp_5flib_5fattr_5ffield_5fmax_5fthread_5flevel_1729',['UCP_LIB_ATTR_FIELD_MAX_THREAD_LEVEL',['../group___u_c_p___c_o_n_t_e_x_t.html#gga2791b2b44c55fdb685dcd4dad8c8ae3ca96a3edd65a30f00765d330342d3c1267',1,'ucp.h']]], + ['ucp_5flistener_5fattr_5ffield_5fsockaddr_1730',['UCP_LISTENER_ATTR_FIELD_SOCKADDR',['../group___u_c_p___w_o_r_k_e_r.html#gga54059507b51041359aedffbe75635720a5a58fea3f5a4daa6b055306a6798ec26',1,'ucp.h']]], + ['ucp_5flistener_5fparam_5ffield_5faccept_5fhandler_1731',['UCP_LISTENER_PARAM_FIELD_ACCEPT_HANDLER',['../group___u_c_p___w_o_r_k_e_r.html#gga36d95269fcce844261494cbd4f5e26fca3cdf187536d998c115377f8de396ac66',1,'ucp.h']]], + ['ucp_5flistener_5fparam_5ffield_5fconn_5fhandler_1732',['UCP_LISTENER_PARAM_FIELD_CONN_HANDLER',['../group___u_c_p___w_o_r_k_e_r.html#gga36d95269fcce844261494cbd4f5e26fca6f28cd3c96e0ada4fafc63d6f67e48bc',1,'ucp.h']]], + ['ucp_5flistener_5fparam_5ffield_5fsock_5faddr_1733',['UCP_LISTENER_PARAM_FIELD_SOCK_ADDR',['../group___u_c_p___w_o_r_k_e_r.html#gga36d95269fcce844261494cbd4f5e26fca0eed5ab19654fabc0afceb5b439c6f05',1,'ucp.h']]], + ['ucp_5fmadv_5fnormal_1734',['UCP_MADV_NORMAL',['../group___u_c_p___m_e_m.html#gga1a73c4a7fc1d8a6d75e6b53256eec0b8a3a335aa51dc934e57f4ccbd26fb32fb0',1,'ucp.h']]], + ['ucp_5fmadv_5fwillneed_1735',['UCP_MADV_WILLNEED',['../group___u_c_p___m_e_m.html#gga1a73c4a7fc1d8a6d75e6b53256eec0b8a882711eaac0fe1172570783e9824e12f',1,'ucp.h']]], + ['ucp_5fmem_5fadvise_5fparam_5ffield_5faddress_1736',['UCP_MEM_ADVISE_PARAM_FIELD_ADDRESS',['../group___u_c_p___m_e_m.html#gga3c0f7ca217c77fa0ae8649e21b24a1fca19cd431b1a46a62abaf904d0358ffaad',1,'ucp.h']]], + ['ucp_5fmem_5fadvise_5fparam_5ffield_5fadvice_1737',['UCP_MEM_ADVISE_PARAM_FIELD_ADVICE',['../group___u_c_p___m_e_m.html#gga3c0f7ca217c77fa0ae8649e21b24a1fca8834ee80833e5509eea118807dc1a213',1,'ucp.h']]], + ['ucp_5fmem_5fadvise_5fparam_5ffield_5flength_1738',['UCP_MEM_ADVISE_PARAM_FIELD_LENGTH',['../group___u_c_p___m_e_m.html#gga3c0f7ca217c77fa0ae8649e21b24a1fcac60bdd12018a716587c71883ae408b60',1,'ucp.h']]], + ['ucp_5fmem_5fattr_5ffield_5faddress_1739',['UCP_MEM_ATTR_FIELD_ADDRESS',['../group___u_c_p___m_e_m.html#ggab0d7a54391c964c59b2cfbf30e23dc14a7255d71b73495f3466b2b3938f85630f',1,'ucp_def.h']]], + ['ucp_5fmem_5fattr_5ffield_5flength_1740',['UCP_MEM_ATTR_FIELD_LENGTH',['../group___u_c_p___m_e_m.html#ggab0d7a54391c964c59b2cfbf30e23dc14aaf7684459badd65a4e70a65813ae1e35',1,'ucp_def.h']]], + ['ucp_5fmem_5fattr_5ffield_5fmem_5ftype_1741',['UCP_MEM_ATTR_FIELD_MEM_TYPE',['../group___u_c_p___m_e_m.html#ggab0d7a54391c964c59b2cfbf30e23dc14a97c63bcd6332d0556e4439bc65531116',1,'ucp_def.h']]], + ['ucp_5fmem_5fmap_5fallocate_1742',['UCP_MEM_MAP_ALLOCATE',['../group___u_c_p___m_e_m.html#gga06fc87d81c62e9abb8790b6e5713c55ba8cb2c18c15da7e8da9aa2de5b407957a',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5ffixed_1743',['UCP_MEM_MAP_FIXED',['../group___u_c_p___m_e_m.html#gga06fc87d81c62e9abb8790b6e5713c55ba937051276d5a7825211189c84d7f2922',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fnonblock_1744',['UCP_MEM_MAP_NONBLOCK',['../group___u_c_p___m_e_m.html#gga06fc87d81c62e9abb8790b6e5713c55ba31fa3f795110becccb25734067b5e203',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fparam_5ffield_5faddress_1745',['UCP_MEM_MAP_PARAM_FIELD_ADDRESS',['../group___u_c_p___m_e_m.html#gga1b78010c24c834aadc9fb8f1083e226faa3ddd6c11c7610ae3c97fcb4473d9332',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fparam_5ffield_5fflags_1746',['UCP_MEM_MAP_PARAM_FIELD_FLAGS',['../group___u_c_p___m_e_m.html#gga1b78010c24c834aadc9fb8f1083e226fafc2e699ec811b6848bfc40d4a6c1b049',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fparam_5ffield_5flength_1747',['UCP_MEM_MAP_PARAM_FIELD_LENGTH',['../group___u_c_p___m_e_m.html#gga1b78010c24c834aadc9fb8f1083e226faa4aa7e36cd51262837f9179cb74fb22a',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fparam_5ffield_5fmemory_5ftype_1748',['UCP_MEM_MAP_PARAM_FIELD_MEMORY_TYPE',['../group___u_c_p___m_e_m.html#gga1b78010c24c834aadc9fb8f1083e226fab5d6cd1e76f334a4ae5d10d5955d51b7',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fparam_5ffield_5fprot_1749',['UCP_MEM_MAP_PARAM_FIELD_PROT',['../group___u_c_p___m_e_m.html#gga1b78010c24c834aadc9fb8f1083e226fa349ca907322a708479795afef1fe28ff',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fprot_5flocal_5fread_1750',['UCP_MEM_MAP_PROT_LOCAL_READ',['../group___u_c_p___m_e_m.html#ggadf764cbdea00d65edcd07bb9953ad2b7a78c92c33fb131e7084b6a2933632ec17',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fprot_5flocal_5fwrite_1751',['UCP_MEM_MAP_PROT_LOCAL_WRITE',['../group___u_c_p___m_e_m.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6961fd2dcb7ff1fd5980f2d09bb40c39',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fprot_5fremote_5fread_1752',['UCP_MEM_MAP_PROT_REMOTE_READ',['../group___u_c_p___m_e_m.html#ggadf764cbdea00d65edcd07bb9953ad2b7a2dc03b7f80ce18c5ec948d1039342bdb',1,'ucp.h']]], + ['ucp_5fmem_5fmap_5fprot_5fremote_5fwrite_1753',['UCP_MEM_MAP_PROT_REMOTE_WRITE',['../group___u_c_p___m_e_m.html#ggadf764cbdea00d65edcd07bb9953ad2b7a4d1429c096e17c691ca710aeb6385fe8',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5fcallback_1754',['UCP_OP_ATTR_FIELD_CALLBACK',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a73e3a6e8b96b37ec1b0764e67dd13602',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5fdatatype_1755',['UCP_OP_ATTR_FIELD_DATATYPE',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a354ef92dd9352dfccc859cd2ca3558d8',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5fflags_1756',['UCP_OP_ATTR_FIELD_FLAGS',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a2f2586686e21b2700fd7cd4a8efb5a1b',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5fmemh_1757',['UCP_OP_ATTR_FIELD_MEMH',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a84426c4dea4dceee1b015c3ccdcb7a78',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5fmemory_5ftype_1758',['UCP_OP_ATTR_FIELD_MEMORY_TYPE',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a768b4c6759502c34b0051ba33c0d05b3',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5frecv_5finfo_1759',['UCP_OP_ATTR_FIELD_RECV_INFO',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610ac5a4c17a81a2efefae5e338479ae06cb',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5freply_5fbuffer_1760',['UCP_OP_ATTR_FIELD_REPLY_BUFFER',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a8eb660399c093d89d5deae5c847019f0',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5frequest_1761',['UCP_OP_ATTR_FIELD_REQUEST',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610acfac7dfc3e7b5967870f5376c334b996',1,'ucp.h']]], + ['ucp_5fop_5fattr_5ffield_5fuser_5fdata_1762',['UCP_OP_ATTR_FIELD_USER_DATA',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610af6f932f15331fe7c9efacbfe2578e5ec',1,'ucp.h']]], + ['ucp_5fop_5fattr_5fflag_5ffast_5fcmpl_1763',['UCP_OP_ATTR_FLAG_FAST_CMPL',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a69a2066ee5f68e57021f622b0cc859a8',1,'ucp.h']]], + ['ucp_5fop_5fattr_5fflag_5fforce_5fimm_5fcmpl_1764',['UCP_OP_ATTR_FLAG_FORCE_IMM_CMPL',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610aeb35a090d86119cfd25d4e82753e943f',1,'ucp.h']]], + ['ucp_5fop_5fattr_5fflag_5fmulti_5fsend_1765',['UCP_OP_ATTR_FLAG_MULTI_SEND',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a405517272bc4319aa3b49638f5626c7b',1,'ucp.h']]], + ['ucp_5fop_5fattr_5fflag_5fno_5fimm_5fcmpl_1766',['UCP_OP_ATTR_FLAG_NO_IMM_CMPL',['../group___u_c_p___c_o_m_m.html#gga67fae646dd1668efba6efe49a35a6610a8805045d48573e9aa5751b439be114d0',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5festimated_5fnum_5feps_1767',['UCP_PARAM_FIELD_ESTIMATED_NUM_EPS',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a834c5a969e0d41a90d54a6955b7414eb',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5festimated_5fnum_5fppn_1768',['UCP_PARAM_FIELD_ESTIMATED_NUM_PPN',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a22fcdc29e68f36d97a0f389712529976',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5ffeatures_1769',['UCP_PARAM_FIELD_FEATURES',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a454f1e90a324095192d87d97b8a4321f',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5fmt_5fworkers_5fshared_1770',['UCP_PARAM_FIELD_MT_WORKERS_SHARED',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71aa8d5e573f9d52358f50ae2725a08e10e',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5fname_1771',['UCP_PARAM_FIELD_NAME',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a9bf23645413cc4f5e753cf99b4379eb6',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5frequest_5fcleanup_1772',['UCP_PARAM_FIELD_REQUEST_CLEANUP',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a9e2c9cebfbf51d47df31ffd019eb01c6',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5frequest_5finit_1773',['UCP_PARAM_FIELD_REQUEST_INIT',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71ac95d94f94370df6cd79db8e830505738',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5frequest_5fsize_1774',['UCP_PARAM_FIELD_REQUEST_SIZE',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a8385ca52048353e69b90fb7c6b0799ee',1,'ucp.h']]], + ['ucp_5fparam_5ffield_5ftag_5fsender_5fmask_1775',['UCP_PARAM_FIELD_TAG_SENDER_MASK',['../group___u_c_p___c_o_n_t_e_x_t.html#ggab43f613a2365147415abf66f571cfa71a030b9866b2b6167cbdcfe9ce321d1f28',1,'ucp.h']]], + ['ucp_5frequest_5fattr_5ffield_5finfo_5fstring_1776',['UCP_REQUEST_ATTR_FIELD_INFO_STRING',['../group___u_c_p___c_o_m_m.html#ggab383d860475f8917f51afb542e7d02ffa45086e70d5035d92a601605a689178b9',1,'ucp.h']]], + ['ucp_5frequest_5fattr_5ffield_5finfo_5fstring_5fsize_1777',['UCP_REQUEST_ATTR_FIELD_INFO_STRING_SIZE',['../group___u_c_p___c_o_m_m.html#ggab383d860475f8917f51afb542e7d02ffaaae11c040c811d14362cbbc47ea9f772',1,'ucp.h']]], + ['ucp_5frequest_5fattr_5ffield_5fmem_5ftype_1778',['UCP_REQUEST_ATTR_FIELD_MEM_TYPE',['../group___u_c_p___c_o_m_m.html#ggab383d860475f8917f51afb542e7d02ffa7a1764b4ce21085ecbbdd13a1f183df5',1,'ucp.h']]], + ['ucp_5frequest_5fattr_5ffield_5fstatus_1779',['UCP_REQUEST_ATTR_FIELD_STATUS',['../group___u_c_p___c_o_m_m.html#ggab383d860475f8917f51afb542e7d02ffa9d41f03b4a79e21265ad15f87d3ff8ed',1,'ucp.h']]], + ['ucp_5fstream_5frecv_5fflag_5fwaitall_1780',['UCP_STREAM_RECV_FLAG_WAITALL',['../group___u_c_p___c_o_m_m.html#ggab471a9c7ab815e3d3ad7af80253f5cc2a5fb4ed4f8009d969ea9a8b3f3542424c',1,'ucp.h']]], + ['ucp_5fwakeup_5famo_1781',['UCP_WAKEUP_AMO',['../group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a1f8891a39fe63593947811936a9af8f7',1,'ucp_def.h']]], + ['ucp_5fwakeup_5fedge_1782',['UCP_WAKEUP_EDGE',['../group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a474ecc6ca013d28f71ade5d85aafd1c8',1,'ucp_def.h']]], + ['ucp_5fwakeup_5frma_1783',['UCP_WAKEUP_RMA',['../group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a80fc6d63077023d905d9f3adfb37c50a',1,'ucp_def.h']]], + ['ucp_5fwakeup_5frx_1784',['UCP_WAKEUP_RX',['../group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a182a353c533fc335e638e41fdaf7c6b5',1,'ucp_def.h']]], + ['ucp_5fwakeup_5ftag_5frecv_1785',['UCP_WAKEUP_TAG_RECV',['../group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a15bd79b8acc9815513dccf43fc350435',1,'ucp_def.h']]], + ['ucp_5fwakeup_5ftag_5fsend_1786',['UCP_WAKEUP_TAG_SEND',['../group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22a136d0a608b0dcceb731d3022f1cb0e91',1,'ucp_def.h']]], + ['ucp_5fwakeup_5ftx_1787',['UCP_WAKEUP_TX',['../group___u_c_p___w_o_r_k_e_r.html#gga66be8946dcd33051d40ceca65ba28e22ad70899effbabed3294c35b9b0f2a747b',1,'ucp_def.h']]], + ['ucp_5fworker_5faddress_5fattr_5ffield_5fuid_1788',['UCP_WORKER_ADDRESS_ATTR_FIELD_UID',['../group___u_c_p___w_o_r_k_e_r.html#ggaadc74e7e271c4e181263115b08bf71c8af5d5293830102fa30e1e26cfbdde0772',1,'ucp.h']]], + ['ucp_5fworker_5faddress_5fflag_5fnet_5fonly_1789',['UCP_WORKER_ADDRESS_FLAG_NET_ONLY',['../group___u_c_p___w_o_r_k_e_r.html#ggab1ec638cc4a7498a85017d132492d195af9fe9ee3edc7fe21c889437941bb4117',1,'ucp.h']]], + ['ucp_5fworker_5fattr_5ffield_5faddress_1790',['UCP_WORKER_ATTR_FIELD_ADDRESS',['../group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194a0dde53e12c0ab222ddcf2a52984fddd2',1,'ucp.h']]], + ['ucp_5fworker_5fattr_5ffield_5faddress_5fflags_1791',['UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS',['../group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194a9b007ce57d2935817f86b4c4c6aad8c9',1,'ucp.h']]], + ['ucp_5fworker_5fattr_5ffield_5fmax_5fam_5fheader_1792',['UCP_WORKER_ATTR_FIELD_MAX_AM_HEADER',['../group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194a4ad76742671a6282274e48dc904f145e',1,'ucp.h']]], + ['ucp_5fworker_5fattr_5ffield_5fmax_5finfo_5fstring_1793',['UCP_WORKER_ATTR_FIELD_MAX_INFO_STRING',['../group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194aa92fba4ea095cc171b1153b88684213d',1,'ucp.h']]], + ['ucp_5fworker_5fattr_5ffield_5fname_1794',['UCP_WORKER_ATTR_FIELD_NAME',['../group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194a806d5f1afd1e673b78888588b03ae95e',1,'ucp.h']]], + ['ucp_5fworker_5fattr_5ffield_5fthread_5fmode_1795',['UCP_WORKER_ATTR_FIELD_THREAD_MODE',['../group___u_c_p___w_o_r_k_e_r.html#ggacf03ee299a48c2f9c776516cc82c7194a6d3178929ef9e6570999384991fbd42d',1,'ucp.h']]], + ['ucp_5fworker_5fflag_5fignore_5frequest_5fleak_1796',['UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK',['../group___u_c_p___w_o_r_k_e_r.html#gga11a37476d021e1ad36c1b727373212b4a367a4eddbf55c75a186584fef73a484a',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fam_5falignment_1797',['UCP_WORKER_PARAM_FIELD_AM_ALIGNMENT',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a68376de940e85a5ee4ffa6359c5ee2bc',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fclient_5fid_1798',['UCP_WORKER_PARAM_FIELD_CLIENT_ID',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a20b21817e31db3e2ef52b507abbfa0bb',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fcpu_5fmask_1799',['UCP_WORKER_PARAM_FIELD_CPU_MASK',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a0ba499461804b26850d6a530609e228d',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fevent_5ffd_1800',['UCP_WORKER_PARAM_FIELD_EVENT_FD',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6ae743c2d23a0d7b0a9a8c6362a7611139',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fevents_1801',['UCP_WORKER_PARAM_FIELD_EVENTS',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6ac756667325d053bd1cc11cccf853b0c9',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fflags_1802',['UCP_WORKER_PARAM_FIELD_FLAGS',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a4a43ec7752c45629a3fc229a31d33617',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fname_1803',['UCP_WORKER_PARAM_FIELD_NAME',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a57069c65941e47f35bea0478ddf0a829',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fthread_5fmode_1804',['UCP_WORKER_PARAM_FIELD_THREAD_MODE',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a651598f7340d42cafb0876d918c83ec8',1,'ucp.h']]], + ['ucp_5fworker_5fparam_5ffield_5fuser_5fdata_1805',['UCP_WORKER_PARAM_FIELD_USER_DATA',['../group___u_c_p___w_o_r_k_e_r.html#ggadbfc8fd5eaa65351d1617f2f158b80f6a1243d403aeceab36eee6d9cb985e8eb0',1,'ucp.h']]], + ['ucs_5fcallbackq_5fflag_5ffast_1806',['UCS_CALLBACKQ_FLAG_FAST',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ggaa693580c739b1ba94bd6218d00222110a05c5239629fdbfb4dc63a2b354b93e93',1,'callbackq.h']]], + ['ucs_5fcallbackq_5fflag_5foneshot_1807',['UCS_CALLBACKQ_FLAG_ONESHOT',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ggaa693580c739b1ba94bd6218d00222110aabec96aecc786be2edb8f16c5034c493',1,'callbackq.h']]], + ['ucs_5ferr_5falready_5fexists_1808',['UCS_ERR_ALREADY_EXISTS',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a8295b85b654e3145ee08a94714832112',1,'status.h']]], + ['ucs_5ferr_5fbuffer_5ftoo_5fsmall_1809',['UCS_ERR_BUFFER_TOO_SMALL',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a2ab3b7e6c60cb0afe80c2e11cc39122f',1,'status.h']]], + ['ucs_5ferr_5fbusy_1810',['UCS_ERR_BUSY',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a331d8719f76965a4514684c570110105',1,'status.h']]], + ['ucs_5ferr_5fcanceled_1811',['UCS_ERR_CANCELED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a446ce3cf260eab2465e9f7adfbad1f11',1,'status.h']]], + ['ucs_5ferr_5fconnection_5freset_1812',['UCS_ERR_CONNECTION_RESET',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a3845462922a8704ddca8be0dafc47cd5',1,'status.h']]], + ['ucs_5ferr_5fendpoint_5ftimeout_1813',['UCS_ERR_ENDPOINT_TIMEOUT',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558adc9adfec2d408b4efd95be36dcb119cf',1,'status.h']]], + ['ucs_5ferr_5fexceeds_5flimit_1814',['UCS_ERR_EXCEEDS_LIMIT',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a45d1cd8512f1ba4391f91b0bc399f1fb',1,'status.h']]], + ['ucs_5ferr_5ffirst_5fendpoint_5ffailure_1815',['UCS_ERR_FIRST_ENDPOINT_FAILURE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a2441db0c09803ed41453968577e29446',1,'status.h']]], + ['ucs_5ferr_5ffirst_5flink_5ffailure_1816',['UCS_ERR_FIRST_LINK_FAILURE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a8356f94996c7759a785f8d508ff58779',1,'status.h']]], + ['ucs_5ferr_5finvalid_5faddr_1817',['UCS_ERR_INVALID_ADDR',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aaebc6a3a7f1626b431f80ff66e9a4922',1,'status.h']]], + ['ucs_5ferr_5finvalid_5fparam_1818',['UCS_ERR_INVALID_PARAM',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558ab5a5c5278c83f957a096444de28db597',1,'status.h']]], + ['ucs_5ferr_5fio_5ferror_1819',['UCS_ERR_IO_ERROR',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aaaf39ceea715057fdec5736443e0265b',1,'status.h']]], + ['ucs_5ferr_5flast_1820',['UCS_ERR_LAST',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a359c2fe5ffba5911f340ec8a750917bb',1,'status.h']]], + ['ucs_5ferr_5flast_5fendpoint_5ffailure_1821',['UCS_ERR_LAST_ENDPOINT_FAILURE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aa54339cfd8cefc96aa4e9d5d0b824284',1,'status.h']]], + ['ucs_5ferr_5flast_5flink_5ffailure_1822',['UCS_ERR_LAST_LINK_FAILURE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a9e4aac3283309260e9b8f34bca72209c',1,'status.h']]], + ['ucs_5ferr_5fmessage_5ftruncated_1823',['UCS_ERR_MESSAGE_TRUNCATED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aef3defd5d754266db882e079fad7c544',1,'status.h']]], + ['ucs_5ferr_5fno_5fdevice_1824',['UCS_ERR_NO_DEVICE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558af42564cbfb39953294f80d782404a3bf',1,'status.h']]], + ['ucs_5ferr_5fno_5felem_1825',['UCS_ERR_NO_ELEM',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558ab67faa1abcd824b5bb47a094491524ba',1,'status.h']]], + ['ucs_5ferr_5fno_5fmemory_1826',['UCS_ERR_NO_MEMORY',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a9919ffd4eaf870612c4aa63df65ae0a6',1,'status.h']]], + ['ucs_5ferr_5fno_5fmessage_1827',['UCS_ERR_NO_MESSAGE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a1bbd2445646883a1ef758fe2ef75e586',1,'status.h']]], + ['ucs_5ferr_5fno_5fprogress_1828',['UCS_ERR_NO_PROGRESS',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aa3e6111410197f82888c6527258a5149',1,'status.h']]], + ['ucs_5ferr_5fno_5fresource_1829',['UCS_ERR_NO_RESOURCE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a83fc93632e7b3e3251410985aab27edc',1,'status.h']]], + ['ucs_5ferr_5fnot_5fconnected_1830',['UCS_ERR_NOT_CONNECTED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a19ed4a30ff1b25ffdc00adeb8cd211fa',1,'status.h']]], + ['ucs_5ferr_5fnot_5fimplemented_1831',['UCS_ERR_NOT_IMPLEMENTED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a623f715116a8d8986c737bf626e956b4',1,'status.h']]], + ['ucs_5ferr_5fout_5fof_5frange_1832',['UCS_ERR_OUT_OF_RANGE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a7ce30c5ce3f9b06ed9d51a618dc76920',1,'status.h']]], + ['ucs_5ferr_5frejected_1833',['UCS_ERR_REJECTED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a7ebfa416cd741e37ec1a0371feaaa10a',1,'status.h']]], + ['ucs_5ferr_5fshmem_5fsegment_1834',['UCS_ERR_SHMEM_SEGMENT',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a5cfb884e5be55df1f4acf19990f4029d',1,'status.h']]], + ['ucs_5ferr_5fsome_5fconnects_5ffailed_1835',['UCS_ERR_SOME_CONNECTS_FAILED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558aa74d2a7cf7aeeaaaff6724bf0d700743',1,'status.h']]], + ['ucs_5ferr_5ftimed_5fout_1836',['UCS_ERR_TIMED_OUT',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a28655a75087757c2b6c28adcae5562c7',1,'status.h']]], + ['ucs_5ferr_5funreachable_1837',['UCS_ERR_UNREACHABLE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558ab56647f308360ef22316ed42a700e057',1,'status.h']]], + ['ucs_5ferr_5funsupported_1838',['UCS_ERR_UNSUPPORTED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a252c38290855ceaf849c04b7fa52dc23',1,'status.h']]], + ['ucs_5finprogress_1839',['UCS_INPROGRESS',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a77aa02620851779729e4ad6ceb41f84a',1,'status.h']]], + ['ucs_5fmemory_5ftype_5fcuda_1840',['UCS_MEMORY_TYPE_CUDA',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982dafc4cb4732ebd0539e364bb6a4466c2fc',1,'memory_type.h']]], + ['ucs_5fmemory_5ftype_5fcuda_5fmanaged_1841',['UCS_MEMORY_TYPE_CUDA_MANAGED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982dab61ccfc729e22de60f4831cc60ef1e16',1,'memory_type.h']]], + ['ucs_5fmemory_5ftype_5fhost_1842',['UCS_MEMORY_TYPE_HOST',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982da4bebe1325d9a3be9b5821bec4f78a55f',1,'memory_type.h']]], + ['ucs_5fmemory_5ftype_5flast_1843',['UCS_MEMORY_TYPE_LAST',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982da6105aba9983dc25cbf7cbf4d03f655d7',1,'memory_type.h']]], + ['ucs_5fmemory_5ftype_5frocm_1844',['UCS_MEMORY_TYPE_ROCM',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982da84a165376983da6abbdf0e9cc7d3d546',1,'memory_type.h']]], + ['ucs_5fmemory_5ftype_5frocm_5fmanaged_1845',['UCS_MEMORY_TYPE_ROCM_MANAGED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982dabc097618d75594ac6df460592561cd77',1,'memory_type.h']]], + ['ucs_5fmemory_5ftype_5funknown_1846',['UCS_MEMORY_TYPE_UNKNOWN',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga5cfcc524f5dc586101a3e7caff8d982dab0e5609f442bf33d5447c6e8b5928215',1,'memory_type.h']]], + ['ucs_5fok_1847',['UCS_OK',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga88ca72d7294772e7d2edb70a2df15558a1a7fbae02ac33fb94f519c7c773f419a',1,'status.h']]], + ['ucs_5fthread_5fmode_5flast_1848',['UCS_THREAD_MODE_LAST',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga40e9f363c389e702ad9920f5d52525ceaf7b465a8a13f216fd6c35a828a8c7986',1,'thread_mode.h']]], + ['ucs_5fthread_5fmode_5fmulti_1849',['UCS_THREAD_MODE_MULTI',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga40e9f363c389e702ad9920f5d52525cea8f8e252ce479d99c7cdc708321534904',1,'thread_mode.h']]], + ['ucs_5fthread_5fmode_5fserialized_1850',['UCS_THREAD_MODE_SERIALIZED',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga40e9f363c389e702ad9920f5d52525cea95d2ddb2144f8cfebfe305be13bd6776',1,'thread_mode.h']]], + ['ucs_5fthread_5fmode_5fsingle_1851',['UCS_THREAD_MODE_SINGLE',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gga40e9f363c389e702ad9920f5d52525ceabc2f71e39a3527f7abe6a1c47f0a5a25',1,'thread_mode.h']]], + ['uct_5falloc_5fmethod_5fdefault_1852',['UCT_ALLOC_METHOD_DEFAULT',['../group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09aee732738d1b13520beeefda125e40665',1,'uct.h']]], + ['uct_5falloc_5fmethod_5fheap_1853',['UCT_ALLOC_METHOD_HEAP',['../group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09ab026ce58725388c3dca9d1a5d152250c',1,'uct.h']]], + ['uct_5falloc_5fmethod_5fhuge_1854',['UCT_ALLOC_METHOD_HUGE',['../group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09ad542185f2c8f7a7ff89f3a1b0581439d',1,'uct.h']]], + ['uct_5falloc_5fmethod_5flast_1855',['UCT_ALLOC_METHOD_LAST',['../group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09a3b9f6f050e19d2d85425d2c87d4bdbb8',1,'uct.h']]], + ['uct_5falloc_5fmethod_5fmd_1856',['UCT_ALLOC_METHOD_MD',['../group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09a2036e15fb7da79b6cb7af6e8bda700c7',1,'uct.h']]], + ['uct_5falloc_5fmethod_5fmmap_1857',['UCT_ALLOC_METHOD_MMAP',['../group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09a496187eba67f49a27e0017a4290505cc',1,'uct.h']]], + ['uct_5falloc_5fmethod_5fthp_1858',['UCT_ALLOC_METHOD_THP',['../group___u_c_t___c_o_n_t_e_x_t.html#gga019362c62f98ff7935b05c512eb0ab09ae4e651614b0a020b351b94f4a589fd07',1,'uct.h']]], + ['uct_5fam_5ftrace_5ftype_5flast_1859',['UCT_AM_TRACE_TYPE_LAST',['../group___u_c_t___a_m.html#ggacbe4c7fdcaf25cd7bd004a3c2d54f067a74589340125a9634d4f1cba73da0b0a1',1,'uct_def.h']]], + ['uct_5fam_5ftrace_5ftype_5frecv_1860',['UCT_AM_TRACE_TYPE_RECV',['../group___u_c_t___a_m.html#ggacbe4c7fdcaf25cd7bd004a3c2d54f067a02b0b980c43b7d66823bb0169d03f98f',1,'uct_def.h']]], + ['uct_5fam_5ftrace_5ftype_5frecv_5fdrop_1861',['UCT_AM_TRACE_TYPE_RECV_DROP',['../group___u_c_t___a_m.html#ggacbe4c7fdcaf25cd7bd004a3c2d54f067aa2125f63177d657998f381a60e60e8fd',1,'uct_def.h']]], + ['uct_5fam_5ftrace_5ftype_5fsend_1862',['UCT_AM_TRACE_TYPE_SEND',['../group___u_c_t___a_m.html#ggacbe4c7fdcaf25cd7bd004a3c2d54f067aef58a6db54a952e5e34edd91325a83ed',1,'uct_def.h']]], + ['uct_5fam_5ftrace_5ftype_5fsend_5fdrop_1863',['UCT_AM_TRACE_TYPE_SEND_DROP',['../group___u_c_t___a_m.html#ggacbe4c7fdcaf25cd7bd004a3c2d54f067a70335ae779aaa99685d6842f9e85a6db',1,'uct_def.h']]], + ['uct_5fcb_5fflag_5fasync_1864',['UCT_CB_FLAG_ASYNC',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggaca1e07b69024fec26746e3a19b4de9d0a2de3b7622afcabd645878e0540f062aa',1,'uct.h']]], + ['uct_5fcb_5fflag_5freserved_1865',['UCT_CB_FLAG_RESERVED',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggaca1e07b69024fec26746e3a19b4de9d0a93c65c155511b258449363ea8cad8f7f',1,'uct.h']]], + ['uct_5fcb_5fparam_5fflag_5fdesc_1866',['UCT_CB_PARAM_FLAG_DESC',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga36bfc11c722b01a11e1949e8329262c9a741f6a62c34d5484fa6999b1e097e42a',1,'uct_def.h']]], + ['uct_5fcb_5fparam_5fflag_5ffirst_1867',['UCT_CB_PARAM_FLAG_FIRST',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga36bfc11c722b01a11e1949e8329262c9aef5b11372c919dfcdc55602d48e67135',1,'uct_def.h']]], + ['uct_5fcb_5fparam_5fflag_5fmore_1868',['UCT_CB_PARAM_FLAG_MORE',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga36bfc11c722b01a11e1949e8329262c9a2d9bb153789aeae6d1ecf0173cf483e9',1,'uct_def.h']]], + ['uct_5fcm_5fattr_5ffield_5fmax_5fconn_5fpriv_1869',['UCT_CM_ATTR_FIELD_MAX_CONN_PRIV',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga2b308be867e1e13dcb7d941b07835431a2521b69fbc5dd8dff615878729572978',1,'uct.h']]], + ['uct_5fcm_5fep_5fclient_5fconnect_5fargs_5ffield_5fremote_5fdata_1870',['UCT_CM_EP_CLIENT_CONNECT_ARGS_FIELD_REMOTE_DATA',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga6746759cc1850c6e260fca7e3de008ada9657c720a60df0b6b89bd9b019ac01cc',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fclient_5fconnect_5fargs_5ffield_5fstatus_1871',['UCT_CM_EP_CLIENT_CONNECT_ARGS_FIELD_STATUS',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga6746759cc1850c6e260fca7e3de008ada21ad19d697d3ff1b5a3acb0fcb4a7cfc',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fpriv_5fdata_5fpack_5fargs_5ffield_5fdevice_5fname_1872',['UCT_CM_EP_PRIV_DATA_PACK_ARGS_FIELD_DEVICE_NAME',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga405dee8e814ebc33f14c5f44e80d008ca39e1834470a48aaaa5b9e6fbef11b5f1',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fresolve_5fargs_5ffield_5fdev_5fname_1873',['UCT_CM_EP_RESOLVE_ARGS_FIELD_DEV_NAME',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga6c342b6c43e178b73f567bd0fb253e62ab617fac24c5437d6acd095c84eb0a6a1',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fresolve_5fargs_5ffield_5fstatus_1874',['UCT_CM_EP_RESOLVE_ARGS_FIELD_STATUS',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga6c342b6c43e178b73f567bd0fb253e62ad7cc5818b0812933a99f25378be77cb5',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fserver_5fconn_5fnotify_5fargs_5ffield_5fstatus_1875',['UCT_CM_EP_SERVER_CONN_NOTIFY_ARGS_FIELD_STATUS',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaf1cffc53a9b63fb98a77503917f5fd79a84648af7a2470a6869bd8d05e894b0a5',1,'uct_def.h']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fargs_5ffield_5fclient_5faddr_1876',['UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_CLIENT_ADDR',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga9e97a59a0593244e730734d592b642dfae396fa228bfaf18e554eaa2e91f19333',1,'uct_def.h']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fargs_5ffield_5fconn_5frequest_1877',['UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_CONN_REQUEST',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga9e97a59a0593244e730734d592b642dfadf438afd4aa996a342ddb1e69894882b',1,'uct_def.h']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fargs_5ffield_5fdev_5fname_1878',['UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_DEV_NAME',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga9e97a59a0593244e730734d592b642dfab3c57e4db473538c60b5feaf094833d9',1,'uct_def.h']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fargs_5ffield_5fremote_5fdata_1879',['UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_REMOTE_DATA',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga9e97a59a0593244e730734d592b642dfab87a184e4a1684ba337aaff9547c2753',1,'uct_def.h']]], + ['uct_5fcm_5fremote_5fdata_5ffield_5fconn_5fpriv_5fdata_1880',['UCT_CM_REMOTE_DATA_FIELD_CONN_PRIV_DATA',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga3e023485a86ad4092497ffe58cddef37a86ed1d1f02236dd9467176b2130fba32',1,'uct_def.h']]], + ['uct_5fcm_5fremote_5fdata_5ffield_5fconn_5fpriv_5fdata_5flength_1881',['UCT_CM_REMOTE_DATA_FIELD_CONN_PRIV_DATA_LENGTH',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga3e023485a86ad4092497ffe58cddef37a550619037bb2bad0ad2a46dfe68f6cc3',1,'uct_def.h']]], + ['uct_5fcm_5fremote_5fdata_5ffield_5fdev_5faddr_1882',['UCT_CM_REMOTE_DATA_FIELD_DEV_ADDR',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga3e023485a86ad4092497ffe58cddef37af5ba4b8423006af3e3b0342b9cea533b',1,'uct_def.h']]], + ['uct_5fcm_5fremote_5fdata_5ffield_5fdev_5faddr_5flength_1883',['UCT_CM_REMOTE_DATA_FIELD_DEV_ADDR_LENGTH',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gga3e023485a86ad4092497ffe58cddef37a22ac6bf59b6b07381c25ba808254092b',1,'uct_def.h']]], + ['uct_5fcomponent_5fattr_5ffield_5fflags_1884',['UCT_COMPONENT_ATTR_FIELD_FLAGS',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga246ded5e20aa09c590673c771c74b68baf29cd3b384fbddeccc937d42abbd6b41',1,'uct.h']]], + ['uct_5fcomponent_5fattr_5ffield_5fmd_5fresource_5fcount_1885',['UCT_COMPONENT_ATTR_FIELD_MD_RESOURCE_COUNT',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga246ded5e20aa09c590673c771c74b68ba25d44baf92c5c7673dbbf44de35fdc84',1,'uct.h']]], + ['uct_5fcomponent_5fattr_5ffield_5fmd_5fresources_1886',['UCT_COMPONENT_ATTR_FIELD_MD_RESOURCES',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga246ded5e20aa09c590673c771c74b68ba4ffc9f65e0b3d7cb07db745e7e61ba47',1,'uct.h']]], + ['uct_5fcomponent_5fattr_5ffield_5fname_1887',['UCT_COMPONENT_ATTR_FIELD_NAME',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga246ded5e20aa09c590673c771c74b68ba45f30f9f196f5f75309882d48c435a26',1,'uct.h']]], + ['uct_5fcomponent_5fflag_5fcm_1888',['UCT_COMPONENT_FLAG_CM',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggadc29c2ff13d900c2f185ee95427fb06cac3f00c23358624b53732e413433f1d8d',1,'uct.h']]], + ['uct_5fdevice_5ftype_5facc_1889',['UCT_DEVICE_TYPE_ACC',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggae0c25b8c160e49fbb9cc122c9807f20da4830aee82331272d4acfc027d733613f',1,'uct.h']]], + ['uct_5fdevice_5ftype_5flast_1890',['UCT_DEVICE_TYPE_LAST',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggae0c25b8c160e49fbb9cc122c9807f20dacd8f593dedbce6ce4d40115b593451e1',1,'uct.h']]], + ['uct_5fdevice_5ftype_5fnet_1891',['UCT_DEVICE_TYPE_NET',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggae0c25b8c160e49fbb9cc122c9807f20da5996d835fc60fcdca9c03539b99a0a2d',1,'uct.h']]], + ['uct_5fdevice_5ftype_5fself_1892',['UCT_DEVICE_TYPE_SELF',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggae0c25b8c160e49fbb9cc122c9807f20da86a97f09cfba66ff7170f77faaa2d89b',1,'uct.h']]], + ['uct_5fdevice_5ftype_5fshm_1893',['UCT_DEVICE_TYPE_SHM',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggae0c25b8c160e49fbb9cc122c9807f20da3d586e5bccd77cfe8bb3c87ce3fcce06',1,'uct.h']]], + ['uct_5fep_5fconnect_5fparam_5ffield_5fprivate_5fdata_1894',['UCT_EP_CONNECT_PARAM_FIELD_PRIVATE_DATA',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaa821e2f4247cd5e72632e5ea7008e6e1a51f30ec2f30a63bdea6660a0ad61305e',1,'uct.h']]], + ['uct_5fep_5fconnect_5fparam_5ffield_5fprivate_5fdata_5flength_1895',['UCT_EP_CONNECT_PARAM_FIELD_PRIVATE_DATA_LENGTH',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaa821e2f4247cd5e72632e5ea7008e6e1accc8d70e4ee5ee60283e1b53456963e1',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fcm_1896',['UCT_EP_PARAM_FIELD_CM',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bab089df3f421f6fc0ccdda8b36ecd4e42',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fcm_5fresolve_5fcb_1897',['UCT_EP_PARAM_FIELD_CM_RESOLVE_CB',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bab8af49c5286ab9f6b6f6f62743960f8f',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fconn_5frequest_1898',['UCT_EP_PARAM_FIELD_CONN_REQUEST',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba313aa3f8e5e089fc57a0c53fa48ee72d',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fdev_5faddr_1899',['UCT_EP_PARAM_FIELD_DEV_ADDR',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba14fb24fafcf9fdd0418a5dd348ab828c',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fiface_1900',['UCT_EP_PARAM_FIELD_IFACE',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba082065ffa8866740ca6418a9c38b503d',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fiface_5faddr_1901',['UCT_EP_PARAM_FIELD_IFACE_ADDR',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658baef938215a002d0b59812c737db0a965d',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5flocal_5fsockaddr_1902',['UCT_EP_PARAM_FIELD_LOCAL_SOCKADDR',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bafdb48e56bfcdd0b9439329568885f8df',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fpath_5findex_1903',['UCT_EP_PARAM_FIELD_PATH_INDEX',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658baf1b7df888b75b42a627b327003bffdb6',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fpriv_5fdata_1904',['UCT_EP_PARAM_FIELD_PRIV_DATA',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba43b2ccfee5e1811447b1902e6d9962c4',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fpriv_5fdata_5flength_1905',['UCT_EP_PARAM_FIELD_PRIV_DATA_LENGTH',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bac5bd575d5dddf9dd99e90251bb56faea',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fsockaddr_1906',['UCT_EP_PARAM_FIELD_SOCKADDR',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bae4c4f4f2110b170ed4920529821387e6',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fsockaddr_5fcb_5fflags_1907',['UCT_EP_PARAM_FIELD_SOCKADDR_CB_FLAGS',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba6489f1bcbdd0de8e2aee80661aa37ec1',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fsockaddr_5fconnect_5fcb_5fclient_1908',['UCT_EP_PARAM_FIELD_SOCKADDR_CONNECT_CB_CLIENT',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bad59d4bae36d22a6d5da01512d9861256',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fsockaddr_5fdisconnect_5fcb_1909',['UCT_EP_PARAM_FIELD_SOCKADDR_DISCONNECT_CB',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba148d1e23de6d640612457216ad81da29',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fsockaddr_5fnotify_5fcb_5fserver_1910',['UCT_EP_PARAM_FIELD_SOCKADDR_NOTIFY_CB_SERVER',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658bad86327449165ad945e6ae8a7c36c1c8c',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fsockaddr_5fpack_5fcb_1911',['UCT_EP_PARAM_FIELD_SOCKADDR_PACK_CB',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658ba61e749dca15775eb4cbc492c020027ca',1,'uct.h']]], + ['uct_5fep_5fparam_5ffield_5fuser_5fdata_1912',['UCT_EP_PARAM_FIELD_USER_DATA',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8e76f363d8805669fb5371b404c5658babbff9b7d6a5114860d6b40f3b0c445dc',1,'uct.h']]], + ['uct_5fevent_5frecv_1913',['UCT_EVENT_RECV',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggaef09139f303b0a3d28a1cea524dc3bd2a1381e135252b79646cdb3a6f3d15431e',1,'uct.h']]], + ['uct_5fevent_5frecv_5fsig_1914',['UCT_EVENT_RECV_SIG',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggaef09139f303b0a3d28a1cea524dc3bd2ab5b97562ce555a0979a56bd1d9810eaf',1,'uct.h']]], + ['uct_5fevent_5fsend_5fcomp_1915',['UCT_EVENT_SEND_COMP',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ggaef09139f303b0a3d28a1cea524dc3bd2aba611824db8eb31b9eb07111f987e011',1,'uct.h']]], + ['uct_5fflush_5fflag_5fcancel_1916',['UCT_FLUSH_FLAG_CANCEL',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga84ba23c28fda1c96f5018bbafb7ffed6a556a8cb417f5b6e21b0be93297eb2f45',1,'uct.h']]], + ['uct_5fflush_5fflag_5flocal_1917',['UCT_FLUSH_FLAG_LOCAL',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga84ba23c28fda1c96f5018bbafb7ffed6ad0b221329684853b22a60d88e0dd8bac',1,'uct.h']]], + ['uct_5fiface_5ffeature_5fam_1918',['UCT_IFACE_FEATURE_AM',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7a4bce30860f36cee1a7b74f6cd2c061ad',1,'uct.h']]], + ['uct_5fiface_5ffeature_5famo32_1919',['UCT_IFACE_FEATURE_AMO32',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7a06a813eb45714bc70e154691d82e5e81',1,'uct.h']]], + ['uct_5fiface_5ffeature_5famo64_1920',['UCT_IFACE_FEATURE_AMO64',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7af6bebc50b5e4169f38cddaacc7ba7a7a',1,'uct.h']]], + ['uct_5fiface_5ffeature_5fget_1921',['UCT_IFACE_FEATURE_GET',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7ae80cd4ab8043e2df41d2d81854686415',1,'uct.h']]], + ['uct_5fiface_5ffeature_5flast_1922',['UCT_IFACE_FEATURE_LAST',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7ab317c0279d872516f011df628d67dd9f',1,'uct.h']]], + ['uct_5fiface_5ffeature_5fput_1923',['UCT_IFACE_FEATURE_PUT',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7a59d0a64607692e3ff39fa61a899c7633',1,'uct.h']]], + ['uct_5fiface_5ffeature_5ftag_1924',['UCT_IFACE_FEATURE_TAG',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga078dd84cff9d6b1cda5692fbf6b1e7c7a08d34bf9a962d1b27b0c92865c773854',1,'uct.h']]], + ['uct_5fiface_5fopen_5fmode_5fdevice_1925',['UCT_IFACE_OPEN_MODE_DEVICE',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8bc9c95ee7fbd76321940e2853d08bb5a504bef9a8574445a0dfdcf517160fef0',1,'uct.h']]], + ['uct_5fiface_5fopen_5fmode_5fsockaddr_5fclient_1926',['UCT_IFACE_OPEN_MODE_SOCKADDR_CLIENT',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8bc9c95ee7fbd76321940e2853d08bb5ab596bc437bc4e84500039aafcf5adfeb',1,'uct.h']]], + ['uct_5fiface_5fopen_5fmode_5fsockaddr_5fserver_1927',['UCT_IFACE_OPEN_MODE_SOCKADDR_SERVER',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga8bc9c95ee7fbd76321940e2853d08bb5a9b2655b644fae2cf20d5b673854c9ad0',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fam_5falign_5foffset_1928',['UCT_IFACE_PARAM_FIELD_AM_ALIGN_OFFSET',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a22a9554ccdc8209f81d7d5b5a8e39780',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fam_5falignment_1929',['UCT_IFACE_PARAM_FIELD_AM_ALIGNMENT',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a8d676d1b40253cacf1abb4302d448d3a',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fasync_5fevent_5farg_1930',['UCT_IFACE_PARAM_FIELD_ASYNC_EVENT_ARG',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a8d6361b77aae50f66b88b13826375aed',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fasync_5fevent_5fcb_1931',['UCT_IFACE_PARAM_FIELD_ASYNC_EVENT_CB',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a83e8eb07f6d7e357001a0ac826857ebd',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fcpu_5fmask_1932',['UCT_IFACE_PARAM_FIELD_CPU_MASK',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a80cd3b1a8f9de031df8aa12e7a0eb08b',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fdevice_1933',['UCT_IFACE_PARAM_FIELD_DEVICE',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a0f56ae54f7fcd7a002588a75e207f8a2',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5ferr_5fhandler_1934',['UCT_IFACE_PARAM_FIELD_ERR_HANDLER',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a57771259693749559910cbf8256ef7a1',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5ferr_5fhandler_5farg_1935',['UCT_IFACE_PARAM_FIELD_ERR_HANDLER_ARG',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596ab0a406683b45f265eaf9edc794e72e7e',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5ferr_5fhandler_5fflags_1936',['UCT_IFACE_PARAM_FIELD_ERR_HANDLER_FLAGS',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a2f97be5b7ef0e542fc39fe778c85097e',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5ffeatures_1937',['UCT_IFACE_PARAM_FIELD_FEATURES',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596ad5efe451d0f04d6929f39b66cdc8d889',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fhw_5ftm_5feager_5farg_1938',['UCT_IFACE_PARAM_FIELD_HW_TM_EAGER_ARG',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596ad4afd13a4a6e36adb6e5576de666ab64',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fhw_5ftm_5feager_5fcb_1939',['UCT_IFACE_PARAM_FIELD_HW_TM_EAGER_CB',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a9dcb103f9b93d5c37d5b1ff401fda324',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fhw_5ftm_5frndv_5farg_1940',['UCT_IFACE_PARAM_FIELD_HW_TM_RNDV_ARG',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a5b7da96e1cd28639f489bcf08194ecd7',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fhw_5ftm_5frndv_5fcb_1941',['UCT_IFACE_PARAM_FIELD_HW_TM_RNDV_CB',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a2c2b16ef1c537d1596ceb7b72fbf3145',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fkeepalive_5finterval_1942',['UCT_IFACE_PARAM_FIELD_KEEPALIVE_INTERVAL',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a3b05690f0c5ae7cf346a1e7a00186953',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fopen_5fmode_1943',['UCT_IFACE_PARAM_FIELD_OPEN_MODE',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a436751cf65204ec8d37e649b0913eff7',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5frx_5fheadroom_1944',['UCT_IFACE_PARAM_FIELD_RX_HEADROOM',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596aabb0425ec3c58345ba973683b72dc255',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fsockaddr_1945',['UCT_IFACE_PARAM_FIELD_SOCKADDR',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596af01913e91929ae3c52c465e5df97bec3',1,'uct.h']]], + ['uct_5fiface_5fparam_5ffield_5fstats_5froot_1946',['UCT_IFACE_PARAM_FIELD_STATS_ROOT',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga896baeefc7933d925202c32b0d09f596a7af1c01a0aa6c8d7ddc167cd516f3272',1,'uct.h']]], + ['uct_5flistener_5fattr_5ffield_5fsockaddr_1947',['UCT_LISTENER_ATTR_FIELD_SOCKADDR',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggad253d9c2e4116f9a137a2d2450afbe66af566cba098163f464bdad7c392232c3f',1,'uct.h']]], + ['uct_5flistener_5fparam_5ffield_5fbacklog_1948',['UCT_LISTENER_PARAM_FIELD_BACKLOG',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaf716bd7cdc636377ef78c258886693c7aa2a3bbfd550dc87ed8bba5cf960068fa',1,'uct.h']]], + ['uct_5flistener_5fparam_5ffield_5fconn_5frequest_5fcb_1949',['UCT_LISTENER_PARAM_FIELD_CONN_REQUEST_CB',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaf716bd7cdc636377ef78c258886693c7a8a9ba7427c813614e65f29c38225ab44',1,'uct.h']]], + ['uct_5flistener_5fparam_5ffield_5fuser_5fdata_1950',['UCT_LISTENER_PARAM_FIELD_USER_DATA',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ggaf716bd7cdc636377ef78c258886693c7af6172e01a7919f4afd27fa5e0aa0b794',1,'uct.h']]], + ['uct_5fmadv_5fnormal_1951',['UCT_MADV_NORMAL',['../group___u_c_t___m_d.html#gga72172b231f5e9df777cb130b9f908397a44cc1f4e9d750610f872680ad83a5693',1,'uct.h']]], + ['uct_5fmadv_5fwillneed_1952',['UCT_MADV_WILLNEED',['../group___u_c_t___m_d.html#gga72172b231f5e9df777cb130b9f908397af2f40857cea090977db8a5994b334594',1,'uct.h']]], + ['uct_5fmd_5fflag_5fadvise_1953',['UCT_MD_FLAG_ADVISE',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9ea489e86d8c4f7630c5b15ba37c11e8598',1,'uct.h']]], + ['uct_5fmd_5fflag_5falloc_1954',['UCT_MD_FLAG_ALLOC',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9eace1638df732eb289b9dd6255101c6532',1,'uct.h']]], + ['uct_5fmd_5fflag_5ffixed_1955',['UCT_MD_FLAG_FIXED',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9eae948128d19128010bff52f39b2ea8528',1,'uct.h']]], + ['uct_5fmd_5fflag_5finvalidate_1956',['UCT_MD_FLAG_INVALIDATE',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9ea3b11ef8fb3fcf99c71ce1f91b03ecd2d',1,'uct.h']]], + ['uct_5fmd_5fflag_5fneed_5fmemh_1957',['UCT_MD_FLAG_NEED_MEMH',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9ea8badc53da14cdd45fa70178483091e55',1,'uct.h']]], + ['uct_5fmd_5fflag_5fneed_5frkey_1958',['UCT_MD_FLAG_NEED_RKEY',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9eafc6830135c641eecf0200f9990257e10',1,'uct.h']]], + ['uct_5fmd_5fflag_5freg_1959',['UCT_MD_FLAG_REG',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9eac2a33833ce3c103c3de54332c512eba7',1,'uct.h']]], + ['uct_5fmd_5fflag_5frkey_5fptr_1960',['UCT_MD_FLAG_RKEY_PTR',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9ea8e6750832a6a17fc5aff65c767d0e5b5',1,'uct.h']]], + ['uct_5fmd_5fflag_5fsockaddr_1961',['UCT_MD_FLAG_SOCKADDR',['../group___u_c_t___m_d.html#gga61dadd085c1777f559549e05962b2c9ea1ef79afc094919112724f8eb82c2484b',1,'uct.h']]], + ['uct_5fmd_5fmem_5faccess_5fall_1962',['UCT_MD_MEM_ACCESS_ALL',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa8de9fc3e5e9a93abee846dbce6f51471',1,'uct.h']]], + ['uct_5fmd_5fmem_5faccess_5flocal_5fread_1963',['UCT_MD_MEM_ACCESS_LOCAL_READ',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aaec71b48ac78529034432e702ae2497af',1,'uct.h']]], + ['uct_5fmd_5fmem_5faccess_5flocal_5fwrite_1964',['UCT_MD_MEM_ACCESS_LOCAL_WRITE',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa3da522cc5178d7330279de64c6d8a42d',1,'uct.h']]], + ['uct_5fmd_5fmem_5faccess_5fremote_5fatomic_1965',['UCT_MD_MEM_ACCESS_REMOTE_ATOMIC',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa4478fefd476fe66f7a1721161e3773e1',1,'uct.h']]], + ['uct_5fmd_5fmem_5faccess_5fremote_5fget_1966',['UCT_MD_MEM_ACCESS_REMOTE_GET',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa4a699e49e99a57afab4fb7b4825e8a5e',1,'uct.h']]], + ['uct_5fmd_5fmem_5faccess_5fremote_5fput_1967',['UCT_MD_MEM_ACCESS_REMOTE_PUT',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa107516b36500372eac7e05bdb71cf4a1',1,'uct.h']]], + ['uct_5fmd_5fmem_5faccess_5frma_1968',['UCT_MD_MEM_ACCESS_RMA',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa53c0d5770a5c69086d0aaa58e7398fa8',1,'uct.h']]], + ['uct_5fmd_5fmem_5fattr_5ffield_5falloc_5flength_1969',['UCT_MD_MEM_ATTR_FIELD_ALLOC_LENGTH',['../group___u_c_t___m_d.html#ggac4f1c9728c529e4f35eaf03bc14c6977a7f5f99bb05148218a1855f3f8344aabb',1,'uct.h']]], + ['uct_5fmd_5fmem_5fattr_5ffield_5fbase_5faddress_1970',['UCT_MD_MEM_ATTR_FIELD_BASE_ADDRESS',['../group___u_c_t___m_d.html#ggac4f1c9728c529e4f35eaf03bc14c6977a132548201e6dba2fca6b03385eed2356',1,'uct.h']]], + ['uct_5fmd_5fmem_5fattr_5ffield_5fmem_5ftype_1971',['UCT_MD_MEM_ATTR_FIELD_MEM_TYPE',['../group___u_c_t___m_d.html#ggac4f1c9728c529e4f35eaf03bc14c6977a873fb4c4b884a7598873badb63a8caf9',1,'uct.h']]], + ['uct_5fmd_5fmem_5fattr_5ffield_5fsys_5fdev_1972',['UCT_MD_MEM_ATTR_FIELD_SYS_DEV',['../group___u_c_t___m_d.html#ggac4f1c9728c529e4f35eaf03bc14c6977a1b869b2080c1ab765fa0b67a86dabb24',1,'uct.h']]], + ['uct_5fmd_5fmem_5fflag_5ffixed_1973',['UCT_MD_MEM_FLAG_FIXED',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aac91502fd80954a19287b56c82d8c15e8',1,'uct.h']]], + ['uct_5fmd_5fmem_5fflag_5fhide_5ferrors_1974',['UCT_MD_MEM_FLAG_HIDE_ERRORS',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aac9affab2e3fc8ce0237b8b7800731c49',1,'uct.h']]], + ['uct_5fmd_5fmem_5fflag_5flock_1975',['UCT_MD_MEM_FLAG_LOCK',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa177416f1bc52ecf58571f2320ea860f4',1,'uct.h']]], + ['uct_5fmd_5fmem_5fflag_5fnonblock_1976',['UCT_MD_MEM_FLAG_NONBLOCK',['../group___u_c_t___m_d.html#gga3b0345adc84e4b3224366502aca5e11aa156afde3449517fd4d518148df8e3e24',1,'uct.h']]], + ['uct_5fmem_5falloc_5fparam_5ffield_5faddress_1977',['UCT_MEM_ALLOC_PARAM_FIELD_ADDRESS',['../group___u_c_t___m_d.html#gga3421ca55bc67f5752ca6164f678a7923abcfd9def1c725531f11cbbcde9fedd6f',1,'uct.h']]], + ['uct_5fmem_5falloc_5fparam_5ffield_5fflags_1978',['UCT_MEM_ALLOC_PARAM_FIELD_FLAGS',['../group___u_c_t___m_d.html#gga3421ca55bc67f5752ca6164f678a7923ae179d3ffed3e53b0e2cda2d6a62280d3',1,'uct.h']]], + ['uct_5fmem_5falloc_5fparam_5ffield_5fmds_1979',['UCT_MEM_ALLOC_PARAM_FIELD_MDS',['../group___u_c_t___m_d.html#gga3421ca55bc67f5752ca6164f678a7923a122274e877d32afcfafd10cde3c0b8e7',1,'uct.h']]], + ['uct_5fmem_5falloc_5fparam_5ffield_5fmem_5ftype_1980',['UCT_MEM_ALLOC_PARAM_FIELD_MEM_TYPE',['../group___u_c_t___m_d.html#gga3421ca55bc67f5752ca6164f678a7923a0f09a88dc239026aefa08e4597e0d9e6',1,'uct.h']]], + ['uct_5fmem_5falloc_5fparam_5ffield_5fname_1981',['UCT_MEM_ALLOC_PARAM_FIELD_NAME',['../group___u_c_t___m_d.html#gga3421ca55bc67f5752ca6164f678a7923a97de3a2b66f4cd940a271df1b9632f83',1,'uct.h']]], + ['uct_5fprogress_5frecv_1982',['UCT_PROGRESS_RECV',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga71bfe6e07ebbcc036f883b31db1e9e51a13a7d7c06d204f61b5de0cdf3ede1957',1,'uct.h']]], + ['uct_5fprogress_5fsend_1983',['UCT_PROGRESS_SEND',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga71bfe6e07ebbcc036f883b31db1e9e51a5a00ade1aed7157a0662d8a4ae9cc2f5',1,'uct.h']]], + ['uct_5fprogress_5fthread_5fsafe_1984',['UCT_PROGRESS_THREAD_SAFE',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga71bfe6e07ebbcc036f883b31db1e9e51a8cba06626715c4be748d16a7baf90b77',1,'uct.h']]], + ['uct_5fsend_5fflag_5fpeer_5fcheck_1985',['UCT_SEND_FLAG_PEER_CHECK',['../group___u_c_t___a_m.html#gga139e5d124e16d412200bf64bdbccab1ca222442e08a093d34d6266e810346f4d8',1,'uct.h']]], + ['uct_5fsend_5fflag_5fsignaled_1986',['UCT_SEND_FLAG_SIGNALED',['../group___u_c_t___a_m.html#gga139e5d124e16d412200bf64bdbccab1ca5af3a2c43c1e989a4f21f97188f38b06',1,'uct.h']]], + ['uct_5fsockaddr_5facc_5flocal_1987',['UCT_SOCKADDR_ACC_LOCAL',['../group___u_c_t___m_d.html#ggacb560e35a1b169ca88792200817e219ea0f21e1dc1e98d3ee0291cc345bfe1fde',1,'uct.h']]], + ['uct_5fsockaddr_5facc_5fremote_1988',['UCT_SOCKADDR_ACC_REMOTE',['../group___u_c_t___m_d.html#ggacb560e35a1b169ca88792200817e219ea4e0f66a27582dfec8698a77102fb368e',1,'uct.h']]], + ['uct_5ftag_5frecv_5fcb_5finline_5fdata_1989',['UCT_TAG_RECV_CB_INLINE_DATA',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gga726ca809ffd3d67ab4b8476646f26635a5dcb013c4470abbabc764c473898df3e',1,'uct.h']]] +]; diff --git a/api/v1.13/html/search/functions_0.html b/api/v1.13/html/search/functions_0.html new file mode 100644 index 00000000000..e17c7111100 --- /dev/null +++ b/api/v1.13/html/search/functions_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/functions_0.js b/api/v1.13/html/search/functions_0.js new file mode 100644 index 00000000000..9f22ffa3544 --- /dev/null +++ b/api/v1.13/html/search/functions_0.js @@ -0,0 +1,215 @@ +var searchData= +[ + ['ucp_5fam_5fdata_5frelease_1103',['ucp_am_data_release',['../group___u_c_p___c_o_m_m.html#ga45570903fc3ce01e7e5c0cd241f516f9',1,'ucp.h']]], + ['ucp_5fam_5frecv_5fdata_5fnbx_1104',['ucp_am_recv_data_nbx',['../group___u_c_p___c_o_m_m.html#gaefaaa5e0a154efe496ae5bb7f2bf71f3',1,'ucp.h']]], + ['ucp_5fam_5fsend_5fnb_1105',['ucp_am_send_nb',['../group___u_c_p___c_o_m_m.html#ga94ec21811930b6b6fb8eab500b8c730d',1,'ucp.h']]], + ['ucp_5fam_5fsend_5fnbx_1106',['ucp_am_send_nbx',['../group___u_c_p___c_o_m_m.html#ga4b8ab214f35828ee4608d73442e8c372',1,'ucp.h']]], + ['ucp_5fatomic_5fadd32_1107',['ucp_atomic_add32',['../group___u_c_p___c_o_m_m.html#gaa042d7e76314e1d7ea9717d4adacde7b',1,'ucp_compat.h']]], + ['ucp_5fatomic_5fadd64_1108',['ucp_atomic_add64',['../group___u_c_p___c_o_m_m.html#gaa80cd3f104b920c0c2f6bf7cff50fc15',1,'ucp_compat.h']]], + ['ucp_5fatomic_5fcswap32_1109',['ucp_atomic_cswap32',['../group___u_c_p___c_o_m_m.html#ga6078dddaa93c8dfdab3c18014064f0c0',1,'ucp_compat.h']]], + ['ucp_5fatomic_5fcswap64_1110',['ucp_atomic_cswap64',['../group___u_c_p___c_o_m_m.html#gafa365c16d4c2b4fd2aba6e94fec2c92b',1,'ucp_compat.h']]], + ['ucp_5fatomic_5ffadd32_1111',['ucp_atomic_fadd32',['../group___u_c_p___c_o_m_m.html#ga0c777d7d1c59e01151ef5e3fcd7e5b94',1,'ucp_compat.h']]], + ['ucp_5fatomic_5ffadd64_1112',['ucp_atomic_fadd64',['../group___u_c_p___c_o_m_m.html#ga7435bc5d5e2c4fb6b491d457ab65596b',1,'ucp_compat.h']]], + ['ucp_5fatomic_5ffetch_5fnb_1113',['ucp_atomic_fetch_nb',['../group___u_c_p___c_o_m_m.html#ga43a1a4a517797eb8c5c96ac8841437de',1,'ucp.h']]], + ['ucp_5fatomic_5fop_5fnbx_1114',['ucp_atomic_op_nbx',['../group___u_c_p___c_o_m_m.html#ga087e2cad02e84cf1230684362562aa46',1,'ucp.h']]], + ['ucp_5fatomic_5fpost_1115',['ucp_atomic_post',['../group___u_c_p___c_o_m_m.html#ga839312fb4de5e786daacb4fa071d61df',1,'ucp.h']]], + ['ucp_5fatomic_5fswap32_1116',['ucp_atomic_swap32',['../group___u_c_p___c_o_m_m.html#ga43118f9d5e6d8fdfa518887218468bb3',1,'ucp_compat.h']]], + ['ucp_5fatomic_5fswap64_1117',['ucp_atomic_swap64',['../group___u_c_p___c_o_m_m.html#gaa2913e345505195a183ccc2583fb4ebc',1,'ucp_compat.h']]], + ['ucp_5fcleanup_1118',['ucp_cleanup',['../group___u_c_p___c_o_n_t_e_x_t.html#gaaa7a90069ad6e0f3e227402db265299e',1,'ucp.h']]], + ['ucp_5fconfig_5fmodify_1119',['ucp_config_modify',['../group___u_c_p___c_o_n_f_i_g.html#ga94828d175f4abd87d48b54f32dc74703',1,'ucp.h']]], + ['ucp_5fconfig_5fprint_1120',['ucp_config_print',['../group___u_c_p___c_o_n_f_i_g.html#ga52f4d762c9f3a61c98fb7ba95a00809e',1,'ucp.h']]], + ['ucp_5fconfig_5fread_1121',['ucp_config_read',['../group___u_c_p___c_o_n_f_i_g.html#gab2a5bd39a60f5326771c7a46f5f93319',1,'ucp.h']]], + ['ucp_5fconfig_5frelease_1122',['ucp_config_release',['../group___u_c_p___c_o_n_f_i_g.html#ga12d1b29c55e927a22de92431efa0d82a',1,'ucp.h']]], + ['ucp_5fconn_5frequest_5fquery_1123',['ucp_conn_request_query',['../group___u_c_p___w_o_r_k_e_r.html#ga440c99f2462ba8201280687a76fd8569',1,'ucp.h']]], + ['ucp_5fcontext_5fprint_5finfo_1124',['ucp_context_print_info',['../group___u_c_p___c_o_n_t_e_x_t.html#ga91684cf77b8dc8cbb62af0c3741b36ea',1,'ucp.h']]], + ['ucp_5fcontext_5fquery_1125',['ucp_context_query',['../group___u_c_p___c_o_n_t_e_x_t.html#ga3485fb61663f4cc6f32e801654aedcff',1,'ucp.h']]], + ['ucp_5fdisconnect_5fnb_1126',['ucp_disconnect_nb',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga22cf67f74ae06242cc26e6ca6ecd100b',1,'ucp_compat.h']]], + ['ucp_5fdt_5fcreate_5fgeneric_1127',['ucp_dt_create_generic',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gad786aa1a5250b22d4c35d82801aef254',1,'ucp.h']]], + ['ucp_5fdt_5fdestroy_1128',['ucp_dt_destroy',['../group___u_c_p___d_a_t_a_t_y_p_e.html#ga00337159ebd75640d55be501b7fcc5e7',1,'ucp.h']]], + ['ucp_5fep_5fclose_5fnb_1129',['ucp_ep_close_nb',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gaa7293ad4dc72858b2594686d1c553015',1,'ucp.h']]], + ['ucp_5fep_5fclose_5fnbx_1130',['ucp_ep_close_nbx',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga6756b434213a424abb0d542fda1d82a1',1,'ucp.h']]], + ['ucp_5fep_5fcreate_1131',['ucp_ep_create',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga6cc5ffb2ba1b0ccd510848de0a779f7b',1,'ucp.h']]], + ['ucp_5fep_5fdestroy_1132',['ucp_ep_destroy',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gac63b3fe87c001dd965ca42943ea04bb1',1,'ucp_compat.h']]], + ['ucp_5fep_5fevaluate_5fperf_1133',['ucp_ep_evaluate_perf',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga654a8402e9a3d657f5226ac4e8866994',1,'ucp.h']]], + ['ucp_5fep_5fflush_1134',['ucp_ep_flush',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga046d87a26389c7adecd177111a65cd31',1,'ucp_compat.h']]], + ['ucp_5fep_5fflush_5fnb_1135',['ucp_ep_flush_nb',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga599c9b9272bfdd662afaa247d8e4dfd6',1,'ucp.h']]], + ['ucp_5fep_5fflush_5fnbx_1136',['ucp_ep_flush_nbx',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga28d61bf53320bd0f5d741147447251a4',1,'ucp.h']]], + ['ucp_5fep_5fmodify_5fnb_1137',['ucp_ep_modify_nb',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga034aff7bd27e3b932d4bb7b964db759e',1,'ucp_compat.h']]], + ['ucp_5fep_5fprint_5finfo_1138',['ucp_ep_print_info',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gacc9e967b69f48d6223e921831181f3ee',1,'ucp.h']]], + ['ucp_5fep_5fquery_1139',['ucp_ep_query',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga5074a508e2ae53e00d2bd7e728336f30',1,'ucp.h']]], + ['ucp_5fep_5frkey_5funpack_1140',['ucp_ep_rkey_unpack',['../group___u_c_p___m_e_m.html#ga92353d1cb038a4e281f0a1973937079d',1,'ucp.h']]], + ['ucp_5fget_1141',['ucp_get',['../group___u_c_p___c_o_m_m.html#gaf4a465cff6c1691106430564899f6f3e',1,'ucp_compat.h']]], + ['ucp_5fget_5fnb_1142',['ucp_get_nb',['../group___u_c_p___c_o_m_m.html#ga7cb68811f53a69d37fd16e8ddb46e23b',1,'ucp.h']]], + ['ucp_5fget_5fnbi_1143',['ucp_get_nbi',['../group___u_c_p___c_o_m_m.html#gae3597f699227d598651f6630fbd7968b',1,'ucp.h']]], + ['ucp_5fget_5fnbx_1144',['ucp_get_nbx',['../group___u_c_p___c_o_m_m.html#gaa06c6521592661a8123c11426074d880',1,'ucp.h']]], + ['ucp_5fget_5fversion_1145',['ucp_get_version',['../group___u_c_p___c_o_n_t_e_x_t.html#gae57b8eee6087f5e1d056d8075751042e',1,'ucp.h']]], + ['ucp_5fget_5fversion_5fstring_1146',['ucp_get_version_string',['../group___u_c_p___c_o_n_t_e_x_t.html#gad53f3f2fe0e47cf54ac4f41b2687850b',1,'ucp.h']]], + ['ucp_5finit_1147',['ucp_init',['../group___u_c_p___c_o_n_t_e_x_t.html#ga3ad3662ebafac88ec666be4caeb76cb2',1,'ucp.h']]], + ['ucp_5flib_5fquery_1148',['ucp_lib_query',['../group___u_c_p___c_o_n_t_e_x_t.html#ga4f8c11637791304bd7fcc9aceafbb1dd',1,'ucp.h']]], + ['ucp_5flistener_5fcreate_1149',['ucp_listener_create',['../group___u_c_p___w_o_r_k_e_r.html#ga7a8943f89a7b49c1f1abc562fb5178ad',1,'ucp.h']]], + ['ucp_5flistener_5fdestroy_1150',['ucp_listener_destroy',['../group___u_c_p___w_o_r_k_e_r.html#gae45c609cd659bdd0e205d30627b7af21',1,'ucp.h']]], + ['ucp_5flistener_5fquery_1151',['ucp_listener_query',['../group___u_c_p___w_o_r_k_e_r.html#ga785a8cc6adab6c01bb2354a38bcd9928',1,'ucp.h']]], + ['ucp_5flistener_5freject_1152',['ucp_listener_reject',['../group___u_c_p___w_o_r_k_e_r.html#ga1f1620fdbae11ea076875fd6ac644241',1,'ucp.h']]], + ['ucp_5fmem_5fadvise_1153',['ucp_mem_advise',['../group___u_c_p___m_e_m.html#ga455313831b8734fe1a824109c3ffc588',1,'ucp.h']]], + ['ucp_5fmem_5fmap_1154',['ucp_mem_map',['../group___u_c_p___m_e_m.html#ga1af508a609cc7f2cebf4b33f9ee6ac66',1,'ucp.h']]], + ['ucp_5fmem_5fprint_5finfo_1155',['ucp_mem_print_info',['../group___u_c_p___m_e_m.html#gaabf69fda20dd01c6ade48906a74a5690',1,'ucp.h']]], + ['ucp_5fmem_5fquery_1156',['ucp_mem_query',['../group___u_c_p___m_e_m.html#ga080c10aaf347682594092d796bbc913f',1,'ucp.h']]], + ['ucp_5fmem_5funmap_1157',['ucp_mem_unmap',['../group___u_c_p___m_e_m.html#gac8bd616375fe05594690b5e0cddd6318',1,'ucp.h']]], + ['ucp_5fput_1158',['ucp_put',['../group___u_c_p___c_o_m_m.html#ga85b0a27cf8a3239decabad6a9104eb31',1,'ucp_compat.h']]], + ['ucp_5fput_5fnb_1159',['ucp_put_nb',['../group___u_c_p___c_o_m_m.html#ga1ba986b2bde69c215abd5766dbceeb18',1,'ucp.h']]], + ['ucp_5fput_5fnbi_1160',['ucp_put_nbi',['../group___u_c_p___c_o_m_m.html#ga77f3d5def7a77c4ba88f9e1eefa4b7e6',1,'ucp.h']]], + ['ucp_5fput_5fnbx_1161',['ucp_put_nbx',['../group___u_c_p___c_o_m_m.html#ga29e7b9b70b782140e63544b8613a5fe7',1,'ucp.h']]], + ['ucp_5frequest_5falloc_1162',['ucp_request_alloc',['../group___u_c_p___c_o_m_m.html#gac6f75654d74e7e24881252fbff6bb9b2',1,'ucp.h']]], + ['ucp_5frequest_5fcancel_1163',['ucp_request_cancel',['../group___u_c_p___c_o_m_m.html#ga3553f89a61d6b40af4633a2e7c84fc1d',1,'ucp.h']]], + ['ucp_5frequest_5fcheck_5fstatus_1164',['ucp_request_check_status',['../group___u_c_p___c_o_m_m.html#gae082ad7af428645ebe6e469d3d06a757',1,'ucp.h']]], + ['ucp_5frequest_5ffree_1165',['ucp_request_free',['../group___u_c_p___c_o_m_m.html#ga0e8e46f5953d464382b21edef3ec9994',1,'ucp.h']]], + ['ucp_5frequest_5fis_5fcompleted_1166',['ucp_request_is_completed',['../group___u_c_p___c_o_m_m.html#ga432e478b97575b21855074a45d54520d',1,'ucp_compat.h']]], + ['ucp_5frequest_5fquery_1167',['ucp_request_query',['../group___u_c_p___c_o_m_m.html#gafc247802373bbe39e9866745e102a064',1,'ucp.h']]], + ['ucp_5frequest_5frelease_1168',['ucp_request_release',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gaabf569a298946627fbc8d66814c35e68',1,'ucp_compat.h']]], + ['ucp_5frequest_5ftest_1169',['ucp_request_test',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga3802a983138ed27034b7d52026dccb2f',1,'ucp_compat.h']]], + ['ucp_5frkey_5fbuffer_5frelease_1170',['ucp_rkey_buffer_release',['../group___u_c_p___m_e_m.html#ga8bc005f53da015f4a062087e6eb064e9',1,'ucp.h']]], + ['ucp_5frkey_5fdestroy_1171',['ucp_rkey_destroy',['../group___u_c_p___m_e_m.html#gae33d7cc264e0fe1b11e27ae4289fba39',1,'ucp.h']]], + ['ucp_5frkey_5fpack_1172',['ucp_rkey_pack',['../group___u_c_p___m_e_m.html#gadbb6b3ace4ab988cd7660319123407b4',1,'ucp.h']]], + ['ucp_5frkey_5fptr_1173',['ucp_rkey_ptr',['../group___u_c_p___m_e_m.html#ga68f3458805ba15d6a5883219ecd56c1e',1,'ucp.h']]], + ['ucp_5fstream_5fdata_5frelease_1174',['ucp_stream_data_release',['../group___u_c_p___c_o_m_m.html#ga1d1c1c1b2caf4f26c9872e1d708d5f68',1,'ucp.h']]], + ['ucp_5fstream_5frecv_5fdata_5fnb_1175',['ucp_stream_recv_data_nb',['../group___u_c_p___c_o_m_m.html#ga47f307f4765eb5410f24ac27986b59d7',1,'ucp.h']]], + ['ucp_5fstream_5frecv_5fnb_1176',['ucp_stream_recv_nb',['../group___u_c_p___c_o_m_m.html#gadf3b4504a329a46d2d4ec0a8cec08130',1,'ucp.h']]], + ['ucp_5fstream_5frecv_5fnbx_1177',['ucp_stream_recv_nbx',['../group___u_c_p___c_o_m_m.html#ga30494ce33e63823c81c2c5b3656d25c3',1,'ucp.h']]], + ['ucp_5fstream_5frecv_5frequest_5ftest_1178',['ucp_stream_recv_request_test',['../group___u_c_p___c_o_m_m.html#ga4d8d8823b24cb25dcab8bf44c72fa25e',1,'ucp.h']]], + ['ucp_5fstream_5fsend_5fnb_1179',['ucp_stream_send_nb',['../group___u_c_p___c_o_m_m.html#ga9022ff0ebb56cac81f6ba81bb28f71b3',1,'ucp.h']]], + ['ucp_5fstream_5fsend_5fnbx_1180',['ucp_stream_send_nbx',['../group___u_c_p___c_o_m_m.html#gae9fe6efe6b05e4e78f58bee68c68b252',1,'ucp.h']]], + ['ucp_5fstream_5fworker_5fpoll_1181',['ucp_stream_worker_poll',['../group___u_c_p___w_o_r_k_e_r.html#gaacff2409268fc6620d9a2bca4fa01950',1,'ucp.h']]], + ['ucp_5ftag_5fmsg_5frecv_5fnb_1182',['ucp_tag_msg_recv_nb',['../group___u_c_p___c_o_m_m.html#gac335b3ae4c9577728d9c0f2ecd44c084',1,'ucp.h']]], + ['ucp_5ftag_5fmsg_5frecv_5fnbx_1183',['ucp_tag_msg_recv_nbx',['../group___u_c_p___c_o_m_m.html#ga48c61d44f18362bdaf8fca3122efcea6',1,'ucp.h']]], + ['ucp_5ftag_5fprobe_5fnb_1184',['ucp_tag_probe_nb',['../group___u_c_p___c_o_m_m.html#ga41668f468dc37a7634116b8210815f22',1,'ucp.h']]], + ['ucp_5ftag_5frecv_5fnb_1185',['ucp_tag_recv_nb',['../group___u_c_p___c_o_m_m.html#gaeb24cdfc33dfb2886551b51843aa6304',1,'ucp.h']]], + ['ucp_5ftag_5frecv_5fnbr_1186',['ucp_tag_recv_nbr',['../group___u_c_p___c_o_m_m.html#ga5a86663a4a144fd81d7a4e3378c5edd2',1,'ucp.h']]], + ['ucp_5ftag_5frecv_5fnbx_1187',['ucp_tag_recv_nbx',['../group___u_c_p___c_o_m_m.html#gaa842f8ca8ad1363ed857ab938285a16f',1,'ucp.h']]], + ['ucp_5ftag_5frecv_5frequest_5ftest_1188',['ucp_tag_recv_request_test',['../group___u_c_p___c_o_m_m.html#ga707cbbef8cdcf90fa7cf63c922ef2c7f',1,'ucp.h']]], + ['ucp_5ftag_5fsend_5fnb_1189',['ucp_tag_send_nb',['../group___u_c_p___c_o_m_m.html#gaae7343bd638924e5518041311d5c1dfc',1,'ucp.h']]], + ['ucp_5ftag_5fsend_5fnbr_1190',['ucp_tag_send_nbr',['../group___u_c_p___c_o_m_m.html#gad90aa964e14fef59b4e3bd9120cca669',1,'ucp.h']]], + ['ucp_5ftag_5fsend_5fnbx_1191',['ucp_tag_send_nbx',['../group___u_c_p___c_o_m_m.html#ga8323878b60f426c630d4ff8996ede3cc',1,'ucp.h']]], + ['ucp_5ftag_5fsend_5fsync_5fnb_1192',['ucp_tag_send_sync_nb',['../group___u_c_p___c_o_m_m.html#gabd3e1ccae2ef34463e8313d09d3db17f',1,'ucp.h']]], + ['ucp_5ftag_5fsend_5fsync_5fnbx_1193',['ucp_tag_send_sync_nbx',['../group___u_c_p___c_o_m_m.html#ga0d96a2aac42fe99ce0c79f15dda8bd06',1,'ucp.h']]], + ['ucp_5fworker_5faddress_5fquery_1194',['ucp_worker_address_query',['../group___u_c_p___w_o_r_k_e_r.html#ga0fac7f3d7bf9970e837732557e4277b0',1,'ucp.h']]], + ['ucp_5fworker_5farm_1195',['ucp_worker_arm',['../group___u_c_p___w_a_k_e_u_p.html#gadce97937294aae0f5f599d58d68904d6',1,'ucp.h']]], + ['ucp_5fworker_5fcreate_1196',['ucp_worker_create',['../group___u_c_p___w_o_r_k_e_r.html#ga0aec01ed3dad646ca6cd3814b13054b1',1,'ucp.h']]], + ['ucp_5fworker_5fdestroy_1197',['ucp_worker_destroy',['../group___u_c_p___w_o_r_k_e_r.html#ga6b6c5bf97d16e7fc4b7c815875e92676',1,'ucp.h']]], + ['ucp_5fworker_5ffence_1198',['ucp_worker_fence',['../group___u_c_p___w_o_r_k_e_r.html#ga05b3b5887475966631c62119d64c6182',1,'ucp.h']]], + ['ucp_5fworker_5fflush_1199',['ucp_worker_flush',['../group___u_c_p___w_o_r_k_e_r.html#gae20b8bc9fbbde208ea266490bde4cbcb',1,'ucp_compat.h']]], + ['ucp_5fworker_5fflush_5fnb_1200',['ucp_worker_flush_nb',['../group___u_c_p___w_o_r_k_e_r.html#gac461d1034a3313612243a5829b7e3847',1,'ucp.h']]], + ['ucp_5fworker_5fflush_5fnbx_1201',['ucp_worker_flush_nbx',['../group___u_c_p___w_o_r_k_e_r.html#ga57fedddf88d4b777f5c16b39b5fcf52e',1,'ucp.h']]], + ['ucp_5fworker_5fget_5faddress_1202',['ucp_worker_get_address',['../group___u_c_p___w_o_r_k_e_r.html#ga41aaa5fb8fbd3de50a39b1fda12977cc',1,'ucp.h']]], + ['ucp_5fworker_5fget_5fefd_1203',['ucp_worker_get_efd',['../group___u_c_p___w_a_k_e_u_p.html#gadf849649110fa338fd891548198a578b',1,'ucp.h']]], + ['ucp_5fworker_5fprint_5finfo_1204',['ucp_worker_print_info',['../group___u_c_p___w_o_r_k_e_r.html#gab746c6cccbfe8d25a892eb415bcedd97',1,'ucp.h']]], + ['ucp_5fworker_5fprogress_1205',['ucp_worker_progress',['../group___u_c_p___w_o_r_k_e_r.html#ga340784a8528d4932916651460dc481c0',1,'ucp.h']]], + ['ucp_5fworker_5fquery_1206',['ucp_worker_query',['../group___u_c_p___w_o_r_k_e_r.html#gaab678930b792e328eb4f0a17654e5e42',1,'ucp.h']]], + ['ucp_5fworker_5frelease_5faddress_1207',['ucp_worker_release_address',['../group___u_c_p___w_o_r_k_e_r.html#ga94260829739496267d2c8d86414b863d',1,'ucp.h']]], + ['ucp_5fworker_5fset_5fam_5fhandler_1208',['ucp_worker_set_am_handler',['../group___u_c_p___w_o_r_k_e_r.html#gab8e272749e7a396643caf8775889df4e',1,'ucp.h']]], + ['ucp_5fworker_5fset_5fam_5frecv_5fhandler_1209',['ucp_worker_set_am_recv_handler',['../group___u_c_p___w_o_r_k_e_r.html#ga410d5e90c2abc6997924cbf7dee4a1f3',1,'ucp.h']]], + ['ucp_5fworker_5fsignal_1210',['ucp_worker_signal',['../group___u_c_p___w_a_k_e_u_p.html#ga4f83bf7620a2ea765fb7167c756b8e48',1,'ucp.h']]], + ['ucp_5fworker_5fwait_1211',['ucp_worker_wait',['../group___u_c_p___w_a_k_e_u_p.html#gaa6d1fba4d8a2525b74174a8c344ae9aa',1,'ucp.h']]], + ['ucp_5fworker_5fwait_5fmem_1212',['ucp_worker_wait_mem',['../group___u_c_p___w_a_k_e_u_p.html#ga8b9a2ca2795f083e3b1250d698162aa6',1,'ucp.h']]], + ['ucs_5fasync_5fadd_5ftimer_1213',['ucs_async_add_timer',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga11a624df0bff9513f87b273506a8f711',1,'async_fwd.h']]], + ['ucs_5fasync_5fcontext_5fcreate_1214',['ucs_async_context_create',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga8c3ad862fef1d35af708628d778a5a5b',1,'async_fwd.h']]], + ['ucs_5fasync_5fcontext_5fdestroy_1215',['ucs_async_context_destroy',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga65db07fbee18ab2bd46a738c89ccc8f7',1,'async_fwd.h']]], + ['ucs_5fasync_5fmodify_5fhandler_1216',['ucs_async_modify_handler',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga46ac2384234000408d56065a8e43fc5a',1,'async_fwd.h']]], + ['ucs_5fasync_5fpoll_1217',['ucs_async_poll',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga41fb5f0e0719d9b6d2c07358c6a9e6ae',1,'async_fwd.h']]], + ['ucs_5fasync_5fremove_5fhandler_1218',['ucs_async_remove_handler',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga7253f7d2762b8d288e78d573f9948aef',1,'async_fwd.h']]], + ['ucs_5fasync_5fset_5fevent_5fhandler_1219',['ucs_async_set_event_handler',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga4bd1833c4a212330cbdff7605858819c',1,'async_fwd.h']]], + ['uct_5fcm_5fclient_5fep_5fconn_5fnotify_1220',['uct_cm_client_ep_conn_notify',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga45664fb4113fa1f2ddad4fc181e0d62a',1,'uct.h']]], + ['uct_5fcm_5fclose_1221',['uct_cm_close',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga2d4b7947a338ad8721390f8c292a4dfa',1,'uct.h']]], + ['uct_5fcm_5fconfig_5fread_1222',['uct_cm_config_read',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaec01265a1d6fbbeef49ca3bdb5bbf2b4',1,'uct.h']]], + ['uct_5fcm_5fopen_1223',['uct_cm_open',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaa388b4d447f77dbb9dcc45f4fff4e9b9',1,'uct.h']]], + ['uct_5fcm_5fquery_1224',['uct_cm_query',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga4a47044a01e1cefbe7a1fd6a7e9a6857',1,'uct.h']]], + ['uct_5fcompletion_5fupdate_5fstatus_1225',['uct_completion_update_status',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga6d517ca850e8bb367939139b6b24cc87',1,'uct.h']]], + ['uct_5fcomponent_5fquery_1226',['uct_component_query',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga437597d034328ce061df61647add1891',1,'uct.h']]], + ['uct_5fconfig_5fget_1227',['uct_config_get',['../group___u_c_t___c_o_n_t_e_x_t.html#ga711e3a72f282ad7d11d2945ea2dd7b4c',1,'uct.h']]], + ['uct_5fconfig_5fmodify_1228',['uct_config_modify',['../group___u_c_t___c_o_n_t_e_x_t.html#ga00b51bffb44b91b256dd6d6e6e99f98f',1,'uct.h']]], + ['uct_5fconfig_5frelease_1229',['uct_config_release',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga951ea184730bc0b9cf659b1038e999a4',1,'uct.h']]], + ['uct_5fep_5fam_5fbcopy_1230',['uct_ep_am_bcopy',['../group___u_c_t___a_m.html#gae29dad6b69beaf21c19255906742e14d',1,'uct.h']]], + ['uct_5fep_5fam_5fshort_1231',['uct_ep_am_short',['../group___u_c_t___a_m.html#ga0d170165e2d16dccbe45588ebad181f3',1,'uct.h']]], + ['uct_5fep_5fam_5fshort_5fiov_1232',['uct_ep_am_short_iov',['../group___u_c_t___a_m.html#ga54b4c1f0426349ac9fc498736c53c0e7',1,'uct.h']]], + ['uct_5fep_5fam_5fzcopy_1233',['uct_ep_am_zcopy',['../group___u_c_t___a_m.html#gae79d303f72e688df6d49bc44823c2210',1,'uct.h']]], + ['uct_5fep_5fatomic32_5ffetch_1234',['uct_ep_atomic32_fetch',['../group___u_c_t___a_m_o.html#ga2d4fba85b9c7e5d70f09579bddbd91c6',1,'uct.h']]], + ['uct_5fep_5fatomic32_5fpost_1235',['uct_ep_atomic32_post',['../group___u_c_t___a_m_o.html#ga81f59547148ece219e188d4196932e9f',1,'uct.h']]], + ['uct_5fep_5fatomic64_5ffetch_1236',['uct_ep_atomic64_fetch',['../group___u_c_t___a_m_o.html#gae13c6bff2a3e26a133a3d17253fa3428',1,'uct.h']]], + ['uct_5fep_5fatomic64_5fpost_1237',['uct_ep_atomic64_post',['../group___u_c_t___a_m_o.html#ga0e702db435215d222e12186cdcdf737c',1,'uct.h']]], + ['uct_5fep_5fatomic_5fcswap32_1238',['uct_ep_atomic_cswap32',['../group___u_c_t___a_m_o.html#ga8c93ec75fb32dd52cda9cbe628b1077f',1,'uct.h']]], + ['uct_5fep_5fatomic_5fcswap64_1239',['uct_ep_atomic_cswap64',['../group___u_c_t___a_m_o.html#ga84362057b7249456e00c00844fc60290',1,'uct.h']]], + ['uct_5fep_5fcheck_1240',['uct_ep_check',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga45924a1e90cc4747fd23b36a21fc07af',1,'uct.h']]], + ['uct_5fep_5fconnect_1241',['uct_ep_connect',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaec09721914083255f4856da1a9541880',1,'uct.h']]], + ['uct_5fep_5fconnect_5fto_5fep_1242',['uct_ep_connect_to_ep',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga371685403748eb72784fdcb17f9e4bdf',1,'uct.h']]], + ['uct_5fep_5fcreate_1243',['uct_ep_create',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga0b2d38bde2651977c2b476e6e8866acc',1,'uct.h']]], + ['uct_5fep_5fdestroy_1244',['uct_ep_destroy',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gac7d6537c7cdacdf24afeafe9c0085163',1,'uct.h']]], + ['uct_5fep_5fdisconnect_1245',['uct_ep_disconnect',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga97049050f63eab653949cceef8fe4ba0',1,'uct.h']]], + ['uct_5fep_5ffence_1246',['uct_ep_fence',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga34719e12b68f8ac890f261018aa6ddb3',1,'uct.h']]], + ['uct_5fep_5fflush_1247',['uct_ep_flush',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga2a7a12705b1f4af41792282b59fbc8c2',1,'uct.h']]], + ['uct_5fep_5fget_5faddress_1248',['uct_ep_get_address',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga23773d9d87524cfa6dc6c2d1e094d487',1,'uct.h']]], + ['uct_5fep_5fget_5fbcopy_1249',['uct_ep_get_bcopy',['../group___u_c_t___r_m_a.html#ga82b06eb1ca3be490d39c70a664f12742',1,'uct.h']]], + ['uct_5fep_5fget_5fshort_1250',['uct_ep_get_short',['../group___u_c_t___r_m_a.html#gaed5201516e35d10605e5db1fd0dea674',1,'uct.h']]], + ['uct_5fep_5fget_5fzcopy_1251',['uct_ep_get_zcopy',['../group___u_c_t___r_m_a.html#ga535095dfcb356cfab17c319f7993d53a',1,'uct.h']]], + ['uct_5fep_5fpending_5fadd_1252',['uct_ep_pending_add',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga40f4b92dd4af8da92e138816d57dfece',1,'uct.h']]], + ['uct_5fep_5fpending_5fpurge_1253',['uct_ep_pending_purge',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga11196076031e7c8601241a3adbe1e561',1,'uct.h']]], + ['uct_5fep_5fput_5fbcopy_1254',['uct_ep_put_bcopy',['../group___u_c_t___r_m_a.html#gad0b6f7d4ad48f672e20ff70c8e0faadc',1,'uct.h']]], + ['uct_5fep_5fput_5fshort_1255',['uct_ep_put_short',['../group___u_c_t___r_m_a.html#ga2dfc08ad6547e081cddd7457c19417b1',1,'uct.h']]], + ['uct_5fep_5fput_5fzcopy_1256',['uct_ep_put_zcopy',['../group___u_c_t___r_m_a.html#gaed8c42bab761c97bc0a1516fbf552583',1,'uct.h']]], + ['uct_5fep_5ftag_5feager_5fbcopy_1257',['uct_ep_tag_eager_bcopy',['../group___u_c_t___t_a_g.html#ga08d520cd093b8c661c3f5a3bd863b7c2',1,'uct.h']]], + ['uct_5fep_5ftag_5feager_5fshort_1258',['uct_ep_tag_eager_short',['../group___u_c_t___t_a_g.html#ga5e595ff1d9e77bd5b4abe84fae3ac117',1,'uct.h']]], + ['uct_5fep_5ftag_5feager_5fzcopy_1259',['uct_ep_tag_eager_zcopy',['../group___u_c_t___t_a_g.html#gaab6efb1df0527e53a0c1528cc80f64e4',1,'uct.h']]], + ['uct_5fep_5ftag_5frndv_5fcancel_1260',['uct_ep_tag_rndv_cancel',['../group___u_c_t___t_a_g.html#gaee99ff7af5b69b653977e4db2b5fef8b',1,'uct.h']]], + ['uct_5fep_5ftag_5frndv_5frequest_1261',['uct_ep_tag_rndv_request',['../group___u_c_t___t_a_g.html#ga0b01e46c59a9d713495e4be1cdc6edda',1,'uct.h']]], + ['uct_5fep_5ftag_5frndv_5fzcopy_1262',['uct_ep_tag_rndv_zcopy',['../group___u_c_t___t_a_g.html#ga897e5cfaa4998fdcb36128624635460a',1,'uct.h']]], + ['uct_5fiface_5faccept_1263',['uct_iface_accept',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaadcca33083e95033b161b4f5b1365dc9',1,'uct.h']]], + ['uct_5fiface_5fclose_1264',['uct_iface_close',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga748bd92ba4e62fd86c6b002f9198e2aa',1,'uct.h']]], + ['uct_5fiface_5fevent_5farm_1265',['uct_iface_event_arm',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaf15e9f37d3ce5273153861522a443acf',1,'uct.h']]], + ['uct_5fiface_5fevent_5ffd_5fget_1266',['uct_iface_event_fd_get',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gae3aa273c042171bee7292da0d7f774d1',1,'uct.h']]], + ['uct_5fiface_5ffence_1267',['uct_iface_fence',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaa8d42856661922581a683030dd9c8990',1,'uct.h']]], + ['uct_5fiface_5fflush_1268',['uct_iface_flush',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga6cda14e7c03e4f400be46fe97aa23bed',1,'uct.h']]], + ['uct_5fiface_5fget_5faddress_1269',['uct_iface_get_address',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga7da50f02f6cfaaf16f11c620fba9f3b8',1,'uct.h']]], + ['uct_5fiface_5fget_5fdevice_5faddress_1270',['uct_iface_get_device_address',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga67f64f9b1971622ab8e7c8410cc5ab44',1,'uct.h']]], + ['uct_5fiface_5fis_5freachable_1271',['uct_iface_is_reachable',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gadf8829d8c85620cbc1ddfc0f3e8ec9a8',1,'uct.h']]], + ['uct_5fiface_5fmem_5falloc_1272',['uct_iface_mem_alloc',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaa29727b03b244839f0c068d0785f0050',1,'uct.h']]], + ['uct_5fiface_5fmem_5ffree_1273',['uct_iface_mem_free',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga198359eccf0ae85f1c13d4d8509f5532',1,'uct.h']]], + ['uct_5fiface_5fopen_1274',['uct_iface_open',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga031e2c99f03585c0f4c7356c71f0fbb1',1,'uct.h']]], + ['uct_5fiface_5fprogress_1275',['uct_iface_progress',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga56dd7c8b9f4b02ae5da179a3055bcb81',1,'uct.h']]], + ['uct_5fiface_5fprogress_5fdisable_1276',['uct_iface_progress_disable',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga7acfd29e7d7bb8566cfbbf02916bc466',1,'uct.h']]], + ['uct_5fiface_5fprogress_5fenable_1277',['uct_iface_progress_enable',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga9f14d2694a06d5ea9e6434a52f8d3ff0',1,'uct.h']]], + ['uct_5fiface_5fquery_1278',['uct_iface_query',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gac2ec7cdee76fa075cc65185d7c134bc2',1,'uct.h']]], + ['uct_5fiface_5freject_1279',['uct_iface_reject',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga31c30e35f43121d1715620931860dafe',1,'uct.h']]], + ['uct_5fiface_5frelease_5fdesc_1280',['uct_iface_release_desc',['../group___u_c_t___a_m.html#gac894ed0c24a3481f316945a462d67921',1,'uct.h']]], + ['uct_5fiface_5fset_5fam_5fhandler_1281',['uct_iface_set_am_handler',['../group___u_c_t___a_m.html#ga81dd3f74f8dc8c2c950d932fca0f799e',1,'uct.h']]], + ['uct_5fiface_5fset_5fam_5ftracer_1282',['uct_iface_set_am_tracer',['../group___u_c_t___a_m.html#gaed13079973d867e4bb18be3696216a3a',1,'uct.h']]], + ['uct_5fiface_5ftag_5frecv_5fcancel_1283',['uct_iface_tag_recv_cancel',['../group___u_c_t___t_a_g.html#gad2448d4cf5325dec5aa9c69ae4a025e1',1,'uct.h']]], + ['uct_5fiface_5ftag_5frecv_5fzcopy_1284',['uct_iface_tag_recv_zcopy',['../group___u_c_t___t_a_g.html#gac4ba076343a68f330e5c4659d38bb383',1,'uct.h']]], + ['uct_5flistener_5fcreate_1285',['uct_listener_create',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gadb87c52696a73feae4e1d6e0b9a01911',1,'uct.h']]], + ['uct_5flistener_5fdestroy_1286',['uct_listener_destroy',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga8f6a0c420fbca1b5fbe7c1d919757d3f',1,'uct.h']]], + ['uct_5flistener_5fquery_1287',['uct_listener_query',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gae8b7a5fbada262d0f312970f018a916e',1,'uct.h']]], + ['uct_5flistener_5freject_1288',['uct_listener_reject',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaa8d1ea690c1600dc334ae6a014110d5e',1,'uct.h']]], + ['uct_5fmd_5fclose_1289',['uct_md_close',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gac9ab18f8a48b07429c9987b584fe5574',1,'uct.h']]], + ['uct_5fmd_5fconfig_5fread_1290',['uct_md_config_read',['../group___u_c_t___m_d.html#ga8fd8d3ebc188c9016a179d5678c0a71f',1,'uct.h']]], + ['uct_5fmd_5fdetect_5fmemory_5ftype_1291',['uct_md_detect_memory_type',['../group___u_c_t___m_d.html#gac69d1df8de5ff0b6422af01c3befe67f',1,'uct.h']]], + ['uct_5fmd_5fiface_5fconfig_5fread_1292',['uct_md_iface_config_read',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gace64468ec8d46cbcbcfa6efd74e1148c',1,'uct.h']]], + ['uct_5fmd_5fis_5fsockaddr_5faccessible_1293',['uct_md_is_sockaddr_accessible',['../group___u_c_t___m_d.html#ga9d4cd6b6f3206610cbe83cab3eb1e90d',1,'uct.h']]], + ['uct_5fmd_5fmem_5fadvise_1294',['uct_md_mem_advise',['../group___u_c_t___m_d.html#gaf5f8ef1c6302792c726b294c84ef06c6',1,'uct.h']]], + ['uct_5fmd_5fmem_5fdereg_1295',['uct_md_mem_dereg',['../group___u_c_t___m_d.html#gaf1e9ff0364ec4d2bb05c06a2fab67dd5',1,'uct.h']]], + ['uct_5fmd_5fmem_5fquery_1296',['uct_md_mem_query',['../group___u_c_t___m_d.html#ga7d8cf921f8fd8fba4545c568d495bc8f',1,'uct.h']]], + ['uct_5fmd_5fmem_5freg_1297',['uct_md_mem_reg',['../group___u_c_t___m_d.html#gadafbaee4d8462954361fd2a41c8069e0',1,'uct.h']]], + ['uct_5fmd_5fmkey_5fpack_1298',['uct_md_mkey_pack',['../group___u_c_t___m_d.html#ga91cc404f53a9ef031c7bfbe886c0f414',1,'uct.h']]], + ['uct_5fmd_5fopen_1299',['uct_md_open',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga6254b927d3bfcb9699dbf82f0987b9ce',1,'uct.h']]], + ['uct_5fmd_5fquery_1300',['uct_md_query',['../group___u_c_t___m_d.html#gae7f6d3f902cff0370fe0f07f841898f1',1,'uct.h']]], + ['uct_5fmd_5fquery_5ftl_5fresources_1301',['uct_md_query_tl_resources',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gae4572e36e60bf2665e59cc7ef04bb011',1,'uct.h']]], + ['uct_5fmem_5falloc_1302',['uct_mem_alloc',['../group___u_c_t___m_d.html#ga3c91345959561cd033670a9ae527d52f',1,'uct.h']]], + ['uct_5fmem_5ffree_1303',['uct_mem_free',['../group___u_c_t___m_d.html#ga55be17fdb04dcf28373bef0ddf423e94',1,'uct.h']]], + ['uct_5fquery_5fcomponents_1304',['uct_query_components',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gac11a18f80ae695355914c32095e5c75d',1,'uct.h']]], + ['uct_5frelease_5fcomponent_5flist_1305',['uct_release_component_list',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gadd4eea4cf8e757f5ddd2e9edb1942dd0',1,'uct.h']]], + ['uct_5frelease_5ftl_5fresource_5flist_1306',['uct_release_tl_resource_list',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga1edfeac896c9ca285ab11580c904b558',1,'uct.h']]], + ['uct_5frkey_5fptr_1307',['uct_rkey_ptr',['../group___u_c_t___m_d.html#ga0d9f92b5814f82afc67c9f4a7ba348e3',1,'uct.h']]], + ['uct_5frkey_5frelease_1308',['uct_rkey_release',['../group___u_c_t___m_d.html#gaea26840237c8c112e0c1505c1423cd30',1,'uct.h']]], + ['uct_5frkey_5funpack_1309',['uct_rkey_unpack',['../group___u_c_t___m_d.html#ga2927741255a1ab0efc82b965f4266efa',1,'uct.h']]], + ['uct_5fworker_5fcreate_1310',['uct_worker_create',['../group___u_c_t___c_o_n_t_e_x_t.html#ga6f21b4dd1dc16d55f4a8e6bf65f8757f',1,'uct.h']]], + ['uct_5fworker_5fdestroy_1311',['uct_worker_destroy',['../group___u_c_t___c_o_n_t_e_x_t.html#ga22608452cb78bb1d3c9253860025c4fd',1,'uct.h']]], + ['uct_5fworker_5fprogress_1312',['uct_worker_progress',['../group___u_c_t___c_o_n_t_e_x_t.html#ga4ec9fae48afd24d7fa7c5537e76b54e5',1,'uct.h']]], + ['uct_5fworker_5fprogress_5fregister_5fsafe_1313',['uct_worker_progress_register_safe',['../group___u_c_t___c_o_n_t_e_x_t.html#ga358ed4a23be49a3c1ace5d78a0b2ee9c',1,'uct.h']]], + ['uct_5fworker_5fprogress_5funregister_5fsafe_1314',['uct_worker_progress_unregister_safe',['../group___u_c_t___c_o_n_t_e_x_t.html#ga2dcbb085b3f94e5a2b6771c4cc7bcbbf',1,'uct.h']]] +]; diff --git a/api/v1.13/html/search/groups_0.html b/api/v1.13/html/search/groups_0.html new file mode 100644 index 00000000000..a2d93357bae --- /dev/null +++ b/api/v1.13/html/search/groups_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/groups_0.js b/api/v1.13/html/search/groups_0.js new file mode 100644 index 00000000000..5ba7df637d5 --- /dev/null +++ b/api/v1.13/html/search/groups_0.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['unified_20communication_20protocol_20_28ucp_29_20api_1990',['Unified Communication Protocol (UCP) API',['../group___u_c_p___a_p_i.html',1,'']]], + ['ucp_20communication_20routines_1991',['UCP Communication routines',['../group___u_c_p___c_o_m_m.html',1,'']]], + ['ucp_20configuration_1992',['UCP Configuration',['../group___u_c_p___c_o_n_f_i_g.html',1,'']]], + ['ucp_20application_20context_1993',['UCP Application Context',['../group___u_c_p___c_o_n_t_e_x_t.html',1,'']]], + ['ucp_20data_20type_20routines_1994',['UCP Data type routines',['../group___u_c_p___d_a_t_a_t_y_p_e.html',1,'']]], + ['ucp_20endpoint_1995',['UCP Endpoint',['../group___u_c_p___e_n_d_p_o_i_n_t.html',1,'']]], + ['ucp_20memory_20routines_1996',['UCP Memory routines',['../group___u_c_p___m_e_m.html',1,'']]], + ['ucp_20wake_2dup_20routines_1997',['UCP Wake-up routines',['../group___u_c_p___w_a_k_e_u_p.html',1,'']]], + ['ucp_20worker_1998',['UCP Worker',['../group___u_c_p___w_o_r_k_e_r.html',1,'']]], + ['unified_20communication_20services_20_28ucs_29_20api_1999',['Unified Communication Services (UCS) API',['../group___u_c_s___a_p_i.html',1,'']]], + ['ucs_20communication_20resource_2000',['UCS Communication Resource',['../group___u_c_s___r_e_s_o_u_r_c_e.html',1,'']]], + ['uct_20active_20messages_2001',['UCT Active messages',['../group___u_c_t___a_m.html',1,'']]], + ['uct_20atomic_20operations_2002',['UCT Atomic operations',['../group___u_c_t___a_m_o.html',1,'']]], + ['unified_20communication_20transport_20_28uct_29_20api_2003',['Unified Communication Transport (UCT) API',['../group___u_c_t___a_p_i.html',1,'']]], + ['uct_20client_2dserver_20operations_2004',['UCT client-server operations',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html',1,'']]], + ['uct_20communication_20context_2005',['UCT Communication Context',['../group___u_c_t___c_o_n_t_e_x_t.html',1,'']]], + ['uct_20memory_20domain_2006',['UCT Memory Domain',['../group___u_c_t___m_d.html',1,'']]], + ['uct_20communication_20resource_2007',['UCT Communication Resource',['../group___u_c_t___r_e_s_o_u_r_c_e.html',1,'']]], + ['uct_20interface_20operations_20and_20capabilities_2008',['UCT interface operations and capabilities',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___c_a_p.html',1,'']]], + ['uct_20interface_20for_20asynchronous_20event_20capabilities_2009',['UCT interface for asynchronous event capabilities',['../group___u_c_t___r_e_s_o_u_r_c_e___i_f_a_c_e___e_v_e_n_t___c_a_p.html',1,'']]], + ['uct_20remote_20memory_20access_20operations_2010',['UCT Remote memory access operations',['../group___u_c_t___r_m_a.html',1,'']]], + ['uct_20tag_20matching_20operations_2011',['UCT Tag matching operations',['../group___u_c_t___t_a_g.html',1,'']]] +]; diff --git a/api/v1.13/html/search/mag_sel.png b/api/v1.13/html/search/mag_sel.png new file mode 100644 index 00000000000..39c0ed52a25 Binary files /dev/null and b/api/v1.13/html/search/mag_sel.png differ diff --git a/api/v1.13/html/search/nomatches.html b/api/v1.13/html/search/nomatches.html new file mode 100644 index 00000000000..4377320895b --- /dev/null +++ b/api/v1.13/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/api/v1.13/html/search/pages_0.html b/api/v1.13/html/search/pages_0.html new file mode 100644 index 00000000000..9a6a29ad35a --- /dev/null +++ b/api/v1.13/html/search/pages_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/pages_0.js b/api/v1.13/html/search/pages_0.js new file mode 100644 index 00000000000..9c658ddd418 --- /dev/null +++ b/api/v1.13/html/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['conventions_20and_20notations_2012',['Conventions and Notations',['../md_docs_doxygen_conventions.html',1,'']]] +]; diff --git a/api/v1.13/html/search/pages_1.html b/api/v1.13/html/search/pages_1.html new file mode 100644 index 00000000000..132ee038eaf --- /dev/null +++ b/api/v1.13/html/search/pages_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/pages_1.js b/api/v1.13/html/search/pages_1.js new file mode 100644 index 00000000000..2043c2da0b0 --- /dev/null +++ b/api/v1.13/html/search/pages_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['deprecated_20list_2013',['Deprecated List',['../deprecated.html',1,'']]], + ['design_2014',['Design',['../md_docs_doxygen_design.html',1,'']]] +]; diff --git a/api/v1.13/html/search/pages_2.html b/api/v1.13/html/search/pages_2.html new file mode 100644 index 00000000000..6109d470441 --- /dev/null +++ b/api/v1.13/html/search/pages_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/pages_2.js b/api/v1.13/html/search/pages_2.js new file mode 100644 index 00000000000..26e348526e6 --- /dev/null +++ b/api/v1.13/html/search/pages_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['introduction_2015',['Introduction',['../md_docs_doxygen_intro.html',1,'']]] +]; diff --git a/api/v1.13/html/search/pages_3.html b/api/v1.13/html/search/pages_3.html new file mode 100644 index 00000000000..54e8ba9e5eb --- /dev/null +++ b/api/v1.13/html/search/pages_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/pages_3.js b/api/v1.13/html/search/pages_3.js new file mode 100644 index 00000000000..210f28b86b8 --- /dev/null +++ b/api/v1.13/html/search/pages_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['preface_2016',['Preface',['../index.html',1,'']]] +]; diff --git a/api/v1.13/html/search/search.css b/api/v1.13/html/search/search.css new file mode 100644 index 00000000000..3cf9df94a41 --- /dev/null +++ b/api/v1.13/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + float: none; + margin-top: 8px; + right: 0px; + width: 170px; + height: 24px; + z-index: 102; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:115px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:8px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/api/v1.13/html/search/search.js b/api/v1.13/html/search/search.js new file mode 100644 index 00000000000..a554ab9cb52 --- /dev/null +++ b/api/v1.13/html/search/search.js @@ -0,0 +1,814 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/typedefs_0.js b/api/v1.13/html/search/typedefs_0.js new file mode 100644 index 00000000000..335b1c0195b --- /dev/null +++ b/api/v1.13/html/search/typedefs_0.js @@ -0,0 +1,128 @@ +var searchData= +[ + ['ucp_5faddress_5ft_1460',['ucp_address_t',['../group___u_c_p___w_o_r_k_e_r.html#ga7d24d2759c1375bf4d2d639e3b701956',1,'ucp_def.h']]], + ['ucp_5fam_5fcallback_5ft_1461',['ucp_am_callback_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gad61809eb62935c7f2e301fcb47c01727',1,'ucp_def.h']]], + ['ucp_5fam_5fhandler_5fparam_5ft_1462',['ucp_am_handler_param_t',['../group___u_c_p___w_o_r_k_e_r.html#ga1e2efca405d525b094ad49e38d80269b',1,'ucp.h']]], + ['ucp_5fam_5frecv_5fcallback_5ft_1463',['ucp_am_recv_callback_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gab3adc96222b05543c6cba8c28c16703b',1,'ucp_def.h']]], + ['ucp_5fam_5frecv_5fdata_5fnbx_5fcallback_5ft_1464',['ucp_am_recv_data_nbx_callback_t',['../group___u_c_p___c_o_m_m.html#ga242399982563973351591516039dd74b',1,'ucp_def.h']]], + ['ucp_5fam_5frecv_5fparam_5ft_1465',['ucp_am_recv_param_t',['../group___u_c_p___w_o_r_k_e_r.html#ga435d870d0afb413f0bc780809f1db2ef',1,'ucp_def.h']]], + ['ucp_5fconfig_5ft_1466',['ucp_config_t',['../group___u_c_p___c_o_n_f_i_g.html#gab4fd46edba365347ef3a5b966c324388',1,'ucp_def.h']]], + ['ucp_5fconn_5frequest_5fattr_5ft_1467',['ucp_conn_request_attr_t',['../group___u_c_p___w_o_r_k_e_r.html#ga001f8208d0682245878457d65f629091',1,'ucp.h']]], + ['ucp_5fconn_5frequest_5fh_1468',['ucp_conn_request_h',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga200570bfa7d3a8b50b2a074aaa22d2ed',1,'ucp_def.h']]], + ['ucp_5fcontext_5fattr_5ft_1469',['ucp_context_attr_t',['../group___u_c_p___c_o_n_t_e_x_t.html#ga64e2a4abc0ad7d1648ce8266de1731c2',1,'ucp.h']]], + ['ucp_5fcontext_5fh_1470',['ucp_context_h',['../group___u_c_p___c_o_n_t_e_x_t.html#ga0e40ddc46f0bbe868a13f6ab1b674f76',1,'ucp_def.h']]], + ['ucp_5fdatatype_5ft_1471',['ucp_datatype_t',['../group___u_c_p___c_o_m_m.html#gae461587956dd56a6bc7d67b027845891',1,'ucp_def.h']]], + ['ucp_5fdt_5fiov_5ft_1472',['ucp_dt_iov_t',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gab2de4538a9794186e4aa62c055454473',1,'ucp.h']]], + ['ucp_5fep_5fattr_5ft_1473',['ucp_ep_attr_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gaf870daeabc3b91d521d9063eb1b1027d',1,'ucp.h']]], + ['ucp_5fep_5fh_1474',['ucp_ep_h',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga9bea4e4174ea25f44285d8e7a9fb7adf',1,'ucp_def.h']]], + ['ucp_5fep_5fparams_5ft_1475',['ucp_ep_params_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gae071db9736cd54afebe6f619401c6617',1,'ucp_def.h']]], + ['ucp_5fep_5fperf_5fattr_5ffield_5ft_1476',['ucp_ep_perf_attr_field_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga0e9799a75ca8d6843aea1df455f934cb',1,'ucp.h']]], + ['ucp_5fep_5fperf_5fparam_5ffield_5ft_1477',['ucp_ep_perf_param_field_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ga9b89513109c87c9118e250dd47560fb5',1,'ucp.h']]], + ['ucp_5ferr_5fhandler_5fcb_5ft_1478',['ucp_err_handler_cb_t',['../group___u_c_p___c_o_m_m.html#gaf2174ce2b86eb56f6bd4bd62865e87f1',1,'ucp_def.h']]], + ['ucp_5ferr_5fhandler_5ft_1479',['ucp_err_handler_t',['../group___u_c_p___c_o_m_m.html#ga66f1988c0a6aa526d57e999b0df4acc4',1,'ucp_def.h']]], + ['ucp_5fgeneric_5fdt_5fops_5ft_1480',['ucp_generic_dt_ops_t',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gabece4d5eeeb7f7f22b03dd2fc00e1fdd',1,'ucp.h']]], + ['ucp_5flib_5fattr_5ft_1481',['ucp_lib_attr_t',['../group___u_c_p___c_o_n_t_e_x_t.html#ga0b1aa9a567a689ccc7bd9848c2bc0ba1',1,'ucp.h']]], + ['ucp_5flistener_5faccept_5fcallback_5ft_1482',['ucp_listener_accept_callback_t',['../group___u_c_p___w_o_r_k_e_r.html#ga9a1d61f9a3c1fd97c008dd77ae86c02c',1,'ucp_def.h']]], + ['ucp_5flistener_5faccept_5fhandler_5ft_1483',['ucp_listener_accept_handler_t',['../group___u_c_p___w_o_r_k_e_r.html#ga6b4950841b36dfddd268fcb2cce2a52c',1,'ucp_compat.h']]], + ['ucp_5flistener_5fattr_5ft_1484',['ucp_listener_attr_t',['../group___u_c_p___w_o_r_k_e_r.html#gaa8d7abc94888383e95d19067a78ecb1e',1,'ucp.h']]], + ['ucp_5flistener_5fconn_5fcallback_5ft_1485',['ucp_listener_conn_callback_t',['../group___u_c_p___w_o_r_k_e_r.html#ga389a8cfa253f87eb9d8cc7b8d4747c82',1,'ucp_def.h']]], + ['ucp_5flistener_5fconn_5fhandler_5ft_1486',['ucp_listener_conn_handler_t',['../group___u_c_p___w_o_r_k_e_r.html#gaec337bd9fcab44386c01f76699010b63',1,'ucp_def.h']]], + ['ucp_5flistener_5fh_1487',['ucp_listener_h',['../group___u_c_p___w_o_r_k_e_r.html#gac0496f7102c43cf339cc760b9e5724a2',1,'ucp_def.h']]], + ['ucp_5flistener_5fparams_5ft_1488',['ucp_listener_params_t',['../group___u_c_p___w_o_r_k_e_r.html#ga440ab104a3ed59271948a28d6eb1f224',1,'ucp.h']]], + ['ucp_5fmem_5fadvice_5ft_1489',['ucp_mem_advice_t',['../group___u_c_p___m_e_m.html#ga54153fa56291a9c0cb149029e23e85d1',1,'ucp.h']]], + ['ucp_5fmem_5fadvise_5fparams_5ft_1490',['ucp_mem_advise_params_t',['../group___u_c_p___m_e_m.html#ga3bbc14ac42d6465b98e9b63107d9f6be',1,'ucp.h']]], + ['ucp_5fmem_5fattr_5ft_1491',['ucp_mem_attr_t',['../group___u_c_p___m_e_m.html#ga501b036afde29169c2f9472f532d3355',1,'ucp_def.h']]], + ['ucp_5fmem_5fh_1492',['ucp_mem_h',['../group___u_c_p___m_e_m.html#gacf61d6417524329d75f239d3f2ea8d3b',1,'ucp_def.h']]], + ['ucp_5fmem_5fmap_5fparams_5ft_1493',['ucp_mem_map_params_t',['../group___u_c_p___m_e_m.html#ga1651ea0d7b1db95a8f9683c24ecc5f37',1,'ucp.h']]], + ['ucp_5fparams_5ft_1494',['ucp_params_t',['../group___u_c_p___c_o_n_f_i_g.html#ga91aad075a1692f3bea2df3c59e63ed5c',1,'ucp.h']]], + ['ucp_5frequest_5fcleanup_5fcallback_5ft_1495',['ucp_request_cleanup_callback_t',['../group___u_c_p___c_o_n_t_e_x_t.html#gaa0db30ca2911587c444d63b6a54b3625',1,'ucp_def.h']]], + ['ucp_5frequest_5finit_5fcallback_5ft_1496',['ucp_request_init_callback_t',['../group___u_c_p___c_o_n_t_e_x_t.html#ga0cc0c63694e7e9ee370bbee017aee7fb',1,'ucp_def.h']]], + ['ucp_5frkey_5fh_1497',['ucp_rkey_h',['../group___u_c_p___m_e_m.html#gaefeb4e775983f4313691a6b465e36c24',1,'ucp_def.h']]], + ['ucp_5fsend_5fcallback_5ft_1498',['ucp_send_callback_t',['../group___u_c_p___c_o_m_m.html#gaad905bbbff95166a1e9b0e9743feb677',1,'ucp_def.h']]], + ['ucp_5fsend_5fnbx_5fcallback_5ft_1499',['ucp_send_nbx_callback_t',['../group___u_c_p___c_o_m_m.html#gaee41a74074b37f96dad5b29c9af17faf',1,'ucp_def.h']]], + ['ucp_5fstream_5fpoll_5fep_5ft_1500',['ucp_stream_poll_ep_t',['../group___u_c_p___e_n_d_p_o_i_n_t.html#gac7c775b6f8e929ca725a0b16ad9b244e',1,'ucp.h']]], + ['ucp_5fstream_5frecv_5fcallback_5ft_1501',['ucp_stream_recv_callback_t',['../group___u_c_p___c_o_m_m.html#ga6a6234b8497006e26ba02f10ddc0bbf5',1,'ucp_def.h']]], + ['ucp_5fstream_5frecv_5fnbx_5fcallback_5ft_1502',['ucp_stream_recv_nbx_callback_t',['../group___u_c_p___c_o_m_m.html#gaf9e253400533137ba2a5a49a111a9ee8',1,'ucp_def.h']]], + ['ucp_5ftag_5fmessage_5fh_1503',['ucp_tag_message_h',['../group___u_c_p___c_o_m_m.html#ga6a8b5741a4e66d7e890d31ef7cbf88ec',1,'ucp_def.h']]], + ['ucp_5ftag_5frecv_5fcallback_5ft_1504',['ucp_tag_recv_callback_t',['../group___u_c_p___c_o_m_m.html#ga00ac0fe5665d15fab5cd254af9b07758',1,'ucp_def.h']]], + ['ucp_5ftag_5frecv_5finfo_5ft_1505',['ucp_tag_recv_info_t',['../group___u_c_p___c_o_n_t_e_x_t.html#ga118ca6feabfc3b35c7b37002c40ca7e2',1,'ucp_def.h']]], + ['ucp_5ftag_5frecv_5fnbx_5fcallback_5ft_1506',['ucp_tag_recv_nbx_callback_t',['../group___u_c_p___c_o_m_m.html#ga70e110cf7c85ed5f281bd52438488d75',1,'ucp_def.h']]], + ['ucp_5ftag_5ft_1507',['ucp_tag_t',['../group___u_c_p___c_o_m_m.html#ga55df42689ef1f5621eae4d1ffb16856e',1,'ucp_def.h']]], + ['ucp_5fwakeup_5fevent_5ft_1508',['ucp_wakeup_event_t',['../group___u_c_p___w_o_r_k_e_r.html#ga10aa3ad0bd9107c6bd4161c07eb50fe3',1,'ucp_def.h']]], + ['ucp_5fworker_5faddress_5fattr_5ft_1509',['ucp_worker_address_attr_t',['../group___u_c_p___w_o_r_k_e_r.html#ga70e28a0293df12979a6cedd7878ac8d3',1,'ucp.h']]], + ['ucp_5fworker_5fattr_5ft_1510',['ucp_worker_attr_t',['../group___u_c_p___w_o_r_k_e_r.html#gad29a316a83f74775060023852aeec763',1,'ucp.h']]], + ['ucp_5fworker_5fh_1511',['ucp_worker_h',['../group___u_c_p___w_o_r_k_e_r.html#ga5fd52efba31d20fc52055bb19270729f',1,'ucp_def.h']]], + ['ucp_5fworker_5fparams_5ft_1512',['ucp_worker_params_t',['../group___u_c_p___w_o_r_k_e_r.html#ga06d7269d208e74bbf09fda6b4d3a7109',1,'ucp.h']]], + ['ucs_5fasync_5fevent_5fcb_5ft_1513',['ucs_async_event_cb_t',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga6175fd675274497a9d714623a6ffba6f',1,'async_fwd.h']]], + ['ucs_5fmemory_5ftype_5ft_1514',['ucs_memory_type_t',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga0da130a6b3524f3f7642b76f698903c7',1,'memory_type.h']]], + ['ucs_5fsock_5faddr_5ft_1515',['ucs_sock_addr_t',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga66409ecb6655d099e1375e1225475601',1,'types.h']]], + ['ucs_5fstatus_5fptr_5ft_1516',['ucs_status_ptr_t',['../group___u_c_s___r_e_s_o_u_r_c_e.html#gaf4381d25f2fb0cf02f996f3e0729ed62',1,'status.h']]], + ['ucs_5ftime_5ft_1517',['ucs_time_t',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ga69fbc58f4523686b459ee0fff60b5197',1,'time_def.h']]], + ['uct_5fallocated_5fmemory_5ft_1518',['uct_allocated_memory_t',['../group___u_c_t___m_d.html#ga3a11b017769f9a1cc5c1be535a7782fe',1,'uct.h']]], + ['uct_5fam_5fcallback_5ft_1519',['uct_am_callback_t',['../group___u_c_t___a_m.html#gaeeaac1f152fc82d237e286a663e83d04',1,'uct_def.h']]], + ['uct_5fam_5ftrace_5ftype_5ft_1520',['uct_am_trace_type_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga8d195c0008dbf59eb931504c3b2590fc',1,'uct_def.h']]], + ['uct_5fam_5ftracer_5ft_1521',['uct_am_tracer_t',['../group___u_c_t___a_m.html#gae089079bf0edee87f4f8be3edc0164cb',1,'uct_def.h']]], + ['uct_5fasync_5fevent_5fcb_5ft_1522',['uct_async_event_cb_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gafb7251839b08fac157af1c9b85430e16',1,'uct_def.h']]], + ['uct_5fcm_5fattr_5ft_1523',['uct_cm_attr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gac97ab5f8fc69893d70fd3dc374687a71',1,'uct_def.h']]], + ['uct_5fcm_5fconfig_5ft_1524',['uct_cm_config_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga98237d6d7f9a212449f6469d0d0eefd9',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fclient_5fconnect_5fargs_5ft_1525',['uct_cm_ep_client_connect_args_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga933f702714bc1ebb3d172ef74f2cfdab',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fclient_5fconnect_5fcallback_5ft_1526',['uct_cm_ep_client_connect_callback_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gad221f8e9528614b0688ea3097cc0c2bc',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fpriv_5fdata_5fpack_5fargs_5ft_1527',['uct_cm_ep_priv_data_pack_args_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga72c3431a351c6f4defb61368c0ec7806',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fpriv_5fdata_5fpack_5fcallback_5ft_1528',['uct_cm_ep_priv_data_pack_callback_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga4eb772a7b4af18ae62b546bcd85250ef',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fresolve_5fargs_5ft_1529',['uct_cm_ep_resolve_args_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaab6b697d57f77c7e5ab8665cb66f138c',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fresolve_5fcallback_5ft_1530',['uct_cm_ep_resolve_callback_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gad96e813463556ed4d5e9258b4ceee78d',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fserver_5fconn_5fnotify_5fargs_5ft_1531',['uct_cm_ep_server_conn_notify_args_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gadfa5264d4edfe19fc3dd6d1ceed218d5',1,'uct_def.h']]], + ['uct_5fcm_5fep_5fserver_5fconn_5fnotify_5fcallback_5ft_1532',['uct_cm_ep_server_conn_notify_callback_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaaffce62ed4f37b665a71a88f37cbfec6',1,'uct_def.h']]], + ['uct_5fcm_5fh_1533',['uct_cm_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gab88b0c85922e6c157fae605a42647dd7',1,'uct_def.h']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fargs_5ft_1534',['uct_cm_listener_conn_request_args_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga7268a2ca363cb04b529026b99dd56da0',1,'uct_def.h']]], + ['uct_5fcm_5flistener_5fconn_5frequest_5fcallback_5ft_1535',['uct_cm_listener_conn_request_callback_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga8c150a87e614379b42283be7e91b0dec',1,'uct_def.h']]], + ['uct_5fcm_5fremote_5fdata_5ft_1536',['uct_cm_remote_data_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga2458f8dde2369d49eec3453fb6722674',1,'uct_def.h']]], + ['uct_5fcm_5ft_1537',['uct_cm_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaf0ad3383e80500c7b5f1ac9a93ca1525',1,'uct_def.h']]], + ['uct_5fcompletion_5fcallback_5ft_1538',['uct_completion_callback_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gafe8643ddb601908eab1d92ee2f012f8c',1,'uct_def.h']]], + ['uct_5fcompletion_5ft_1539',['uct_completion_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga1c5e511c1cbe1734b317f7688a5cdb90',1,'uct_def.h']]], + ['uct_5fcomponent_5fattr_5ft_1540',['uct_component_attr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga09ca059b9929301d94b90194f1631fd0',1,'uct.h']]], + ['uct_5fcomponent_5fh_1541',['uct_component_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga970f9dcfebb42f0209c2c7e23eca99f6',1,'uct_def.h']]], + ['uct_5fconn_5frequest_5fh_1542',['uct_conn_request_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga71c5cb66cb921d62e609d02ca628c90f',1,'uct_def.h']]], + ['uct_5fdevice_5faddr_5ft_1543',['uct_device_addr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gac88423ede47b1ecaf895996971cfdf53',1,'uct_def.h']]], + ['uct_5fep_5faddr_5ft_1544',['uct_ep_addr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga808816ad1373f05b9ed7f3432d9f78c6',1,'uct_def.h']]], + ['uct_5fep_5fattr_5ft_1545',['uct_ep_attr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaad8747fe0969320a445f7b9cba53d50c',1,'uct_def.h']]], + ['uct_5fep_5fconnect_5fparams_5ft_1546',['uct_ep_connect_params_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaddad06e96eb39d96239d984bfbbbb5c0',1,'uct_def.h']]], + ['uct_5fep_5fdisconnect_5fcb_5ft_1547',['uct_ep_disconnect_cb_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#gaf1b75ee068dfa5fbf7194f999360197a',1,'uct_def.h']]], + ['uct_5fep_5fh_1548',['uct_ep_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gae7298a2b6fdb0e7771868459b10d6b20',1,'uct_def.h']]], + ['uct_5fep_5fparams_5ft_1549',['uct_ep_params_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaff904a2be18f709176eaec75e4a93251',1,'uct_def.h']]], + ['uct_5ferror_5fhandler_5ft_1550',['uct_error_handler_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga119fc03d8825b540252406cfeb280897',1,'uct_def.h']]], + ['uct_5fiface_5faddr_5ft_1551',['uct_iface_addr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga96d01980a33064e85158b9028073e96c',1,'uct_def.h']]], + ['uct_5fiface_5fattr_5ft_1552',['uct_iface_attr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga64b102833286ad65e2802002e0f403be',1,'uct_def.h']]], + ['uct_5fiface_5fconfig_5ft_1553',['uct_iface_config_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga9769f5a67e7c711eb95abe993f794207',1,'uct_def.h']]], + ['uct_5fiface_5fh_1554',['uct_iface_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gab6decd0363732ac4187bf7aa37883c35',1,'uct_def.h']]], + ['uct_5fiface_5fparams_5ft_1555',['uct_iface_params_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaff593598b5296991d8081a289f7a7d40',1,'uct_def.h']]], + ['uct_5fiov_5ft_1556',['uct_iov_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga0012e635ed11cf3ffd9f61705de73b52',1,'uct_def.h']]], + ['uct_5flistener_5fattr_5ft_1557',['uct_listener_attr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gad9c5692c9af9e043f6ee4ad3a15dced6',1,'uct_def.h']]], + ['uct_5flistener_5fh_1558',['uct_listener_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaf88468443532bb4b677b18f038b6f60e',1,'uct_def.h']]], + ['uct_5flistener_5fparams_5ft_1559',['uct_listener_params_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga8d8a6ca0e12e5f1bc54f8c85bda14d59',1,'uct_def.h']]], + ['uct_5fmd_5fattr_5ft_1560',['uct_md_attr_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga9e9485d79fdf2f153e05cc5282ab57fd',1,'uct_def.h']]], + ['uct_5fmd_5fconfig_5ft_1561',['uct_md_config_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gabfb351862f43010ab8d5bbdb2495d0ee',1,'uct_def.h']]], + ['uct_5fmd_5fh_1562',['uct_md_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga80ea2d5570f0cef850d315ce72ea8307',1,'uct_def.h']]], + ['uct_5fmd_5fmem_5fattr_5ffield_5ft_1563',['uct_md_mem_attr_field_t',['../group___u_c_t___m_d.html#ga917d3c2d8def6607353178b53c159f79',1,'uct.h']]], + ['uct_5fmd_5fmem_5fattr_5ft_1564',['uct_md_mem_attr_t',['../group___u_c_t___m_d.html#ga99d7da89ab336ca94345be7f887a5877',1,'uct.h']]], + ['uct_5fmd_5fops_5ft_1565',['uct_md_ops_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gac8dbb0c7c104ee4eb86cb299e56a535e',1,'uct_def.h']]], + ['uct_5fmd_5fresource_5fdesc_5ft_1566',['uct_md_resource_desc_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaf0054bef6a6e9a76677d1d9bac50a5cb',1,'uct.h']]], + ['uct_5fmd_5ft_1567',['uct_md_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gad8a3d325a68dfb193354ac884f6ddd1d',1,'uct_def.h']]], + ['uct_5fmem_5fh_1568',['uct_mem_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga2af4d7f2a70d4ac5eaef079dc68506b8',1,'uct_def.h']]], + ['uct_5fpack_5fcallback_5ft_1569',['uct_pack_callback_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga75c4600da362988f9d4f4d53a294f36b',1,'uct_def.h']]], + ['uct_5fpending_5fcallback_5ft_1570',['uct_pending_callback_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gad282a6c6faf7911791c3978bcfbb3c93',1,'uct_def.h']]], + ['uct_5fpending_5fpurge_5fcallback_5ft_1571',['uct_pending_purge_callback_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga35d6acc042923019e0d5819b72a465f5',1,'uct_def.h']]], + ['uct_5fpending_5freq_5ft_1572',['uct_pending_req_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gaacadb8cfd53f7cafd39fd7f1ae12ec02',1,'uct_def.h']]], + ['uct_5frkey_5fbundle_5ft_1573',['uct_rkey_bundle_t',['../group___u_c_t___m_d.html#gae63a147f419ca82f65db6ae556ac3b0f',1,'uct.h']]], + ['uct_5frkey_5fctx_5fh_1574',['uct_rkey_ctx_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gab9a50bee74dc6d4674fb3800aab19da7',1,'uct_def.h']]], + ['uct_5frkey_5ft_1575',['uct_rkey_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga2ccb9c7b57d14f25db9d2e850c348180',1,'uct_def.h']]], + ['uct_5fsockaddr_5fconn_5frequest_5fcallback_5ft_1576',['uct_sockaddr_conn_request_callback_t',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ga18a175c5b28386d6693a35ae432466ef',1,'uct_def.h']]], + ['uct_5ftag_5fcontext_5ft_1577',['uct_tag_context_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga65b6470372d51789a3a96cc5ea317f9d',1,'uct_def.h']]], + ['uct_5ftag_5ft_1578',['uct_tag_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga162e00587cfb6506fe1c038c0f63e2ca',1,'uct_def.h']]], + ['uct_5ftag_5funexp_5feager_5fcb_5ft_1579',['uct_tag_unexp_eager_cb_t',['../group___u_c_t___t_a_g.html#ga4ba3d3c3d35e02d9d6952d927c9b53bd',1,'uct_def.h']]], + ['uct_5ftag_5funexp_5frndv_5fcb_5ft_1580',['uct_tag_unexp_rndv_cb_t',['../group___u_c_t___t_a_g.html#ga8534a90a1887092c91c4bcaf029ac6fd',1,'uct_def.h']]], + ['uct_5ftl_5fresource_5fdesc_5ft_1581',['uct_tl_resource_desc_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#gab5f56e3ba73460c560c7c1a833a991b8',1,'uct.h']]], + ['uct_5funpack_5fcallback_5ft_1582',['uct_unpack_callback_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga58d033b0b2eacc05af41af8c07fde4da',1,'uct_def.h']]], + ['uct_5fworker_5fcb_5fid_5ft_1583',['uct_worker_cb_id_t',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga9ec2e5d2c228f55751038dad0691c67b',1,'uct_def.h']]], + ['uct_5fworker_5fh_1584',['uct_worker_h',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ga2c776904a7202aa95ec1ceecfe74f2f9',1,'uct_def.h']]] +]; diff --git a/api/v1.13/html/search/variables_0.html b/api/v1.13/html/search/variables_0.html new file mode 100644 index 00000000000..bf3eba5ccbb --- /dev/null +++ b/api/v1.13/html/search/variables_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_0.js b/api/v1.13/html/search/variables_0.js new file mode 100644 index 00000000000..80852e184c8 --- /dev/null +++ b/api/v1.13/html/search/variables_0.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['accept_5fhandler_1315',['accept_handler',['../group___u_c_p___w_o_r_k_e_r.html#a17487f0e8e3102519d7b512c77efdb1f',1,'ucp_listener_params']]], + ['addr_1316',['addr',['../group___u_c_s___r_e_s_o_u_r_c_e.html#a6294db86dc9327058b8a31cb4af87edb',1,'ucs_sock_addr']]], + ['address_1317',['address',['../group___u_c_p___w_o_r_k_e_r.html#a0863e78ee73ef351311c54d95b6c8fa5',1,'ucp_worker_attr::address()'],['../group___u_c_p___m_e_m.html#acc3761c4bbcca9c1defa742a8db08bbb',1,'ucp_mem_map_params::address()'],['../group___u_c_p___m_e_m.html#ab25f1b439c184a0bfb93eda0c9ceb9f7',1,'ucp_mem_advise_params::address()'],['../group___u_c_p___m_e_m.html#ab9a2b772838f436158ae4e25d8bb21e4',1,'ucp_mem_attr::address()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#a8cf5c1599022ccdea5a6d1c97ced3627',1,'ucp_ep_params::address()'],['../group___u_c_t___m_d.html#abd26b6aa42f6d176591f7028317bb887',1,'uct_allocated_memory::address()'],['../group___u_c_t___m_d.html#a5d1be32ed06a9f67bdf686d1c2ec71fc',1,'uct_mem_alloc_params_t::address()']]], + ['address_5fflags_1318',['address_flags',['../group___u_c_p___w_o_r_k_e_r.html#a6c288e285b8c870ec576f1a939519799',1,'ucp_worker_attr']]], + ['address_5flength_1319',['address_length',['../group___u_c_p___w_o_r_k_e_r.html#a7b0ad8e7e5c8d4c4c4931e769ca0fe6f',1,'ucp_worker_attr']]], + ['addrlen_1320',['addrlen',['../group___u_c_s___r_e_s_o_u_r_c_e.html#ac86eaa6362c3345d05c75bb4508ff2f1',1,'ucs_sock_addr']]], + ['advice_1321',['advice',['../group___u_c_p___m_e_m.html#a26833bd101fcb6b4c1024b2975aed5dc',1,'ucp_mem_advise_params']]], + ['alloc_5flength_1322',['alloc_length',['../group___u_c_t___m_d.html#aea0d8373ac6c6d4a17eb15627a10b33f',1,'uct_md_mem_attr']]], + ['am_5falign_5foffset_1323',['am_align_offset',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a119e07151f7cfc215fdf86724cccf1f9',1,'uct_iface_params']]], + ['am_5falignment_1324',['am_alignment',['../group___u_c_p___w_o_r_k_e_r.html#aab378fafe0b474381edbe25023910eb4',1,'ucp_worker_params::am_alignment()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a578571513991a26e7d0331b439968948',1,'uct_iface_params::am_alignment()']]], + ['arg_1325',['arg',['../group___u_c_p___w_o_r_k_e_r.html#ae1670a4926d8528fb1ec1cd3f461f13a',1,'ucp_am_handler_param::arg()'],['../group___u_c_p___w_o_r_k_e_r.html#a05ba12e5d6e6c2b3caef35975644ce85',1,'ucp_listener_accept_handler::arg()'],['../group___u_c_p___c_o_m_m.html#a7e49e1843e1adab5561e5fc2b2e1afb1',1,'ucp_err_handler::arg()'],['../group___u_c_p___w_o_r_k_e_r.html#ae84882c5fbe486b118460662afe395ec',1,'ucp_listener_conn_handler::arg()'],['../namespace_3global_scope_4.html#a58d44a6931525b739c8dd932f369d917',1,'ucs_callbackq_elem::arg()']]], + ['array_1326',['array',['../namespace_3global_scope_4.html#a03eca40e3a768d33654ae128d60df93b',1,'ucs_config_allow_list_t']]], + ['async_5fevent_5farg_1327',['async_event_arg',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a678662e17ae32ca245a45d449ea497f0',1,'uct_iface_params']]], + ['async_5fevent_5fcb_1328',['async_event_cb',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ab15b293126224a46cd25af411f75d39b',1,'uct_iface_params']]] +]; diff --git a/api/v1.13/html/search/variables_1.html b/api/v1.13/html/search/variables_1.html new file mode 100644 index 00000000000..49fe59a1213 --- /dev/null +++ b/api/v1.13/html/search/variables_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_1.js b/api/v1.13/html/search/variables_1.js new file mode 100644 index 00000000000..c01b0dc7da5 --- /dev/null +++ b/api/v1.13/html/search/variables_1.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['backlog_1329',['backlog',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a31658aea3303489537ffd68ecbd52f9c',1,'uct_listener_params']]], + ['bandwidth_1330',['bandwidth',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a6a9bab4b671c0d0da959c98a4b3ab7ac',1,'uct_iface_attr']]], + ['base_5faddress_1331',['base_address',['../group___u_c_t___m_d.html#a18678799e605b7caa7cca03e6a5ba368',1,'uct_md_mem_attr']]], + ['buffer_1332',['buffer',['../group___u_c_p___d_a_t_a_t_y_p_e.html#a6cf4c47c33d61c097226b570a470f10c',1,'ucp_dt_iov::buffer()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a315a759f0ec81b26fcba7530e43d9149',1,'uct_iov::buffer()']]] +]; diff --git a/api/v1.13/html/search/variables_10.html b/api/v1.13/html/search/variables_10.html new file mode 100644 index 00000000000..92982ac57ad --- /dev/null +++ b/api/v1.13/html/search/variables_10.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_10.js b/api/v1.13/html/search/variables_10.js new file mode 100644 index 00000000000..04b5b825143 --- /dev/null +++ b/api/v1.13/html/search/variables_10.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['tag_5fconsumed_5fcb_1452',['tag_consumed_cb',['../structuct__tag__context.html#a860b64e8963cbf48fb192045ec2d6689',1,'uct_tag_context']]], + ['tag_5fsender_5fmask_1453',['tag_sender_mask',['../group___u_c_p___c_o_n_f_i_g.html#a82241de012d49800d2b75bd982f9b6b6',1,'ucp_params']]], + ['thread_5fmode_1454',['thread_mode',['../group___u_c_p___c_o_n_t_e_x_t.html#a4bc884428c16540d5d1b1f56881eb80b',1,'ucp_context_attr::thread_mode()'],['../group___u_c_p___w_o_r_k_e_r.html#abf2b8b0c74946fbd1791a21369236678',1,'ucp_worker_attr::thread_mode()'],['../group___u_c_p___w_o_r_k_e_r.html#a790642ea681ddd2b0935ad62f70e4ef1',1,'ucp_worker_params::thread_mode()']]], + ['tl_5fname_1455',['tl_name',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a97eefc21494ace8e0ca2598eb8085001',1,'uct_tl_resource_desc']]], + ['type_1456',['type',['../group___u_c_t___m_d.html#ae9d6a73b93fa47d853ff2180fbd273b2',1,'uct_rkey_bundle']]] +]; diff --git a/api/v1.13/html/search/variables_11.html b/api/v1.13/html/search/variables_11.html new file mode 100644 index 00000000000..94f1a8cf960 --- /dev/null +++ b/api/v1.13/html/search/variables_11.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_11.js b/api/v1.13/html/search/variables_11.js new file mode 100644 index 00000000000..4a6ea0a3b4d --- /dev/null +++ b/api/v1.13/html/search/variables_11.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['unpack_1457',['unpack',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gaef4bcfb34731b7f113479b221304b698',1,'ucp_generic_dt_ops']]], + ['user_5fdata_1458',['user_data',['../group___u_c_p___w_o_r_k_e_r.html#a2c277d353e134219265887c4f5339159',1,'ucp_worker_params::user_data()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#a202ee8e08e637b9e868387ab294a684c',1,'ucp_stream_poll_ep::user_data()'],['../group___u_c_p___c_o_n_t_e_x_t.html#aa9092d65a2e4e55368ca4f88775c190b',1,'ucp_request_param_t::user_data()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#adaf49e16ee05400f715f432e442336cb',1,'ucp_ep_params::user_data()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a107bb6eec86e0f877d2f256378ea0df8',1,'uct_ep_params::user_data()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a8a9d41566f96e942418c48139ccede90',1,'uct_listener_params::user_data()']]] +]; diff --git a/api/v1.13/html/search/variables_12.html b/api/v1.13/html/search/variables_12.html new file mode 100644 index 00000000000..61c013a4e23 --- /dev/null +++ b/api/v1.13/html/search/variables_12.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_12.js b/api/v1.13/html/search/variables_12.js new file mode 100644 index 00000000000..8eb675a502b --- /dev/null +++ b/api/v1.13/html/search/variables_12.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['worker_5fuid_1459',['worker_uid',['../group___u_c_p___w_o_r_k_e_r.html#a682d3477655dc66072e03530d95239f2',1,'ucp_worker_address_attr']]] +]; diff --git a/api/v1.13/html/search/variables_2.html b/api/v1.13/html/search/variables_2.html new file mode 100644 index 00000000000..0c8a18cf980 --- /dev/null +++ b/api/v1.13/html/search/variables_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_2.js b/api/v1.13/html/search/variables_2.js new file mode 100644 index 00000000000..065c1a1f33e --- /dev/null +++ b/api/v1.13/html/search/variables_2.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['cap_1333',['cap',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a6c55cf8697354f4ace91142100ed074e',1,'uct_iface_attr::cap()'],['../group___u_c_t___m_d.html#afc943a5af89c1028723bc0046092c067',1,'uct_md_attr::cap()']]], + ['cb_1334',['cb',['../group___u_c_p___c_o_n_t_e_x_t.html#a1859c77f14dee64f623bd9f9111200c7',1,'ucp_request_param_t::cb()'],['../group___u_c_p___w_o_r_k_e_r.html#acd54cdefba3f3f5e145dfe2360485659',1,'ucp_am_handler_param::cb()'],['../group___u_c_p___w_o_r_k_e_r.html#a3017ef77fb807d87b60667df14f6c0b0',1,'ucp_listener_accept_handler::cb()'],['../group___u_c_p___c_o_m_m.html#a0bf3f446a1821a62dd3a300584792e33',1,'ucp_err_handler::cb()'],['../group___u_c_p___w_o_r_k_e_r.html#a55ac5ba9e07ca64d55e22730038a4018',1,'ucp_listener_conn_handler::cb()'],['../namespace_3global_scope_4.html#a57233b5af77231c4fb6e8d0c7a9cf279',1,'ucs_callbackq_elem::cb()']]], + ['client_5faddress_1335',['client_address',['../group___u_c_p___w_o_r_k_e_r.html#a8ca1dc70d395335dc9f8fe20e9de1a0d',1,'ucp_conn_request_attr::client_address()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ab9e98cce78462e28a6593a891f2aa3bc',1,'uct_cm_listener_conn_request_args::client_address()']]], + ['client_5fid_1336',['client_id',['../group___u_c_p___w_o_r_k_e_r.html#a41afbbfba922c2bdc4f35e2c4ecfcaa4',1,'ucp_worker_params::client_id()'],['../group___u_c_p___w_o_r_k_e_r.html#aff4d88d6fd3b2613e058bbcf43d0815b',1,'ucp_conn_request_attr::client_id()']]], + ['cm_1337',['cm',['../group___u_c_t___r_e_s_o_u_r_c_e.html#aa8133488ec45605b0c825e66d12ba1a8',1,'uct_ep_params']]], + ['cm_5fresolve_5fcb_1338',['cm_resolve_cb',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a84e49366f4967ac76fad12d27295ec87',1,'uct_ep_params']]], + ['completed_5fcb_1339',['completed_cb',['../structuct__tag__context.html#a8a872809ba82414123000deeb3f8dd2f',1,'uct_tag_context']]], + ['component_5fname_1340',['component_name',['../group___u_c_t___m_d.html#a1f337f217f10d019529e79d9fe60af5c',1,'uct_md_attr']]], + ['conn_5fhandler_1341',['conn_handler',['../group___u_c_p___w_o_r_k_e_r.html#a0694aacde5fff09dc75e556e8116098a',1,'ucp_listener_params']]], + ['conn_5fpriv_5fdata_1342',['conn_priv_data',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a3557ea63ebf0f959c06ad78a592cd311',1,'uct_cm_remote_data']]], + ['conn_5fpriv_5fdata_5flength_1343',['conn_priv_data_length',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ad68a816000641cdaab8b7bae782c005d',1,'uct_cm_remote_data']]], + ['conn_5frequest_1344',['conn_request',['../group___u_c_p___e_n_d_p_o_i_n_t.html#a9fbba62cd4a470f2bc7c6f7e55fe3db1',1,'ucp_ep_params::conn_request()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#ad852c3138b06acb342e7f9c78ade8e41',1,'uct_ep_params::conn_request()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#aec2a2194a329ef66262756de423a3cb2',1,'uct_cm_listener_conn_request_args::conn_request()']]], + ['conn_5frequest_5fcb_1345',['conn_request_cb',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a84a1de42f58965886c5d457480be3b2d',1,'uct_listener_params']]], + ['count_1346',['count',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ac80f9b64f46a8a3a9de6cb0b121667ab',1,'uct_completion::count()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#addb247a8d80907156df00159bbafcda5',1,'uct_iov::count()']]], + ['cpu_5fmask_1347',['cpu_mask',['../group___u_c_p___w_o_r_k_e_r.html#afc8f70f3ff12f36ea34ad40ff12de61e',1,'ucp_worker_params::cpu_mask()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a7093f64ec5efe2f1c3833dbe90b9099a',1,'uct_iface_params::cpu_mask()']]] +]; diff --git a/api/v1.13/html/search/variables_3.html b/api/v1.13/html/search/variables_3.html new file mode 100644 index 00000000000..19a31fc28a9 --- /dev/null +++ b/api/v1.13/html/search/variables_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_3.js b/api/v1.13/html/search/variables_3.js new file mode 100644 index 00000000000..0e676ce94b8 --- /dev/null +++ b/api/v1.13/html/search/variables_3.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['datatype_1348',['datatype',['../group___u_c_p___c_o_n_t_e_x_t.html#a3988d603154f90eb5405785cac62b65f',1,'ucp_request_param_t']]], + ['debug_5fstring_1349',['debug_string',['../group___u_c_p___c_o_m_m.html#aa284657c27e1a8d6d2653f12cfb61bc5',1,'ucp_request_attr_t']]], + ['debug_5fstring_5fsize_1350',['debug_string_size',['../group___u_c_p___c_o_m_m.html#a871b3929bfe0b97d249016e57fd2fdd7',1,'ucp_request_attr_t']]], + ['dedicated_1351',['dedicated',['../namespace_3global_scope_4.html#ab415588ec7332c0264ac81d883dd7a8c',1,'uct_ppn_bandwidth']]], + ['dev_5faddr_1352',['dev_addr',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a273d48d73a6813f2fe097026d739e9d9',1,'uct_ep_params::dev_addr()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ada382f435e44b388e3e29b16a04c3808',1,'uct_cm_remote_data::dev_addr()']]], + ['dev_5faddr_5flength_1353',['dev_addr_length',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a05768f24babff9b522b4845dc2672c55',1,'uct_cm_remote_data']]], + ['dev_5fname_1354',['dev_name',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a19260a4faff281f45363008cbcaa0f41',1,'uct_tl_resource_desc::dev_name()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a10c637e00793a55862826870bfe6499d',1,'uct_cm_ep_priv_data_pack_args::dev_name()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#af750fc4d3be08d8dcd81f452b1ba5ab4',1,'uct_cm_ep_resolve_args::dev_name()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a718770a6c8d147fadd63490c029de6d2',1,'uct_cm_listener_conn_request_args::dev_name()']]], + ['dev_5fnum_5fpaths_1355',['dev_num_paths',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ac9c279de0e13a96a683baf04d3c40c46',1,'uct_iface_attr']]], + ['dev_5ftype_1356',['dev_type',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a83b6513b96f2a97a82dcd3ab751c996a',1,'uct_tl_resource_desc']]], + ['device_5faddr_5flen_1357',['device_addr_len',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a150fb2fb81e47e2a97571147cdc1647e',1,'uct_iface_attr']]], + ['disconnect_5fcb_1358',['disconnect_cb',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ac270000f4e5a1bbcba955098ea7e8e6a',1,'uct_ep_params']]] +]; diff --git a/api/v1.13/html/search/variables_4.html b/api/v1.13/html/search/variables_4.html new file mode 100644 index 00000000000..bdc37be7ffe --- /dev/null +++ b/api/v1.13/html/search/variables_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_4.js b/api/v1.13/html/search/variables_4.js new file mode 100644 index 00000000000..a29f5624f43 --- /dev/null +++ b/api/v1.13/html/search/variables_4.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['eager_5farg_1359',['eager_arg',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a7c6b1ea224405a00438306212d30a172',1,'uct_iface_params']]], + ['eager_5fcb_1360',['eager_cb',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a3e70569e1bf8a8d62fbc686dd147fd56',1,'uct_iface_params']]], + ['ep_1361',['ep',['../group___u_c_p___e_n_d_p_o_i_n_t.html#aa9703a325b9dc242facae719f6cef8a7',1,'ucp_stream_poll_ep']]], + ['ep_5faddr_5flen_1362',['ep_addr_len',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a70955f4d39111b0a48c85e0ff65768a0',1,'uct_iface_attr']]], + ['err_5fhandler_1363',['err_handler',['../group___u_c_p___e_n_d_p_o_i_n_t.html#aaf329de9e2b45311099cee8c9df43a20',1,'ucp_ep_params::err_handler()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#afc90f76dc754aa478af524ac7c9d3f51',1,'uct_iface_params::err_handler()']]], + ['err_5fhandler_5farg_1364',['err_handler_arg',['../group___u_c_t___r_e_s_o_u_r_c_e.html#abd1425d7ce0507acc97361abc56ea66d',1,'uct_iface_params']]], + ['err_5fhandler_5fflags_1365',['err_handler_flags',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a01b7ef6558dbe6f91ac5c59b63d5e0dd',1,'uct_iface_params']]], + ['err_5fmode_1366',['err_mode',['../group___u_c_p___e_n_d_p_o_i_n_t.html#a50ce29893509695caa5b70ab4525a4d6',1,'ucp_ep_params']]], + ['estimated_5fnum_5feps_1367',['estimated_num_eps',['../group___u_c_p___c_o_n_f_i_g.html#a5881757ea71d8c3ff7c15632a6cbd699',1,'ucp_params']]], + ['estimated_5fnum_5fppn_1368',['estimated_num_ppn',['../group___u_c_p___c_o_n_f_i_g.html#ab5966a27f9f4cf476560f9c87ac839cc',1,'ucp_params']]], + ['estimated_5ftime_1369',['estimated_time',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ac8864d77a5f8d333c2de912ad621626a',1,'ucp_ep_evaluate_perf_attr_t']]], + ['event_5ffd_1370',['event_fd',['../group___u_c_p___w_o_r_k_e_r.html#aaeaf0e7ec196ed72ee2b52183f8d1d7d',1,'ucp_worker_params']]], + ['events_1371',['events',['../group___u_c_p___w_o_r_k_e_r.html#a89b9add865222b57caee81874704ba89',1,'ucp_worker_params']]] +]; diff --git a/api/v1.13/html/search/variables_5.html b/api/v1.13/html/search/variables_5.html new file mode 100644 index 00000000000..6aa2249b4f9 --- /dev/null +++ b/api/v1.13/html/search/variables_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_5.js b/api/v1.13/html/search/variables_5.js new file mode 100644 index 00000000000..f9b06035358 --- /dev/null +++ b/api/v1.13/html/search/variables_5.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['fast_5felems_1372',['fast_elems',['../namespace_3global_scope_4.html#a00e13bcee0aa60124620ed02e5cd9116',1,'ucs_callbackq']]], + ['features_1373',['features',['../group___u_c_p___c_o_n_f_i_g.html#afe7ed2a6c6ceb48e18a04f524d844e67',1,'ucp_params::features()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a967dbb2a49191e0b028f7058938293c6',1,'uct_iface_params::features()']]], + ['field_5fmask_1374',['field_mask',['../group___u_c_p___c_o_n_f_i_g.html#a62d432cd22de13ccc9bb12edeb9c566b',1,'ucp_params::field_mask()'],['../group___u_c_p___c_o_n_t_e_x_t.html#a529751be1cb45aff76dde0e5bf22b6d9',1,'ucp_lib_attr::field_mask()'],['../group___u_c_p___c_o_n_t_e_x_t.html#ae4603d33274d3dd0bf41e1d759513601',1,'ucp_context_attr::field_mask()'],['../group___u_c_p___w_o_r_k_e_r.html#af0f34f82bba00221aa22ec54fa5efc0f',1,'ucp_worker_attr::field_mask()'],['../group___u_c_p___w_o_r_k_e_r.html#a33863ec848e47f79d2e14181fe2aa921',1,'ucp_worker_params::field_mask()'],['../group___u_c_p___w_o_r_k_e_r.html#a596a9aee8bfbd1c232c6d63549c75f08',1,'ucp_worker_address_attr::field_mask()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#afffe0975a57573bd318e72e59bd53957',1,'ucp_ep_evaluate_perf_param_t::field_mask()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#a3506b654e12be644d0ffe96368106142',1,'ucp_ep_evaluate_perf_attr_t::field_mask()'],['../group___u_c_p___w_o_r_k_e_r.html#aaaa6353f56fd585d7c83c363380703f4',1,'ucp_listener_attr::field_mask()'],['../group___u_c_p___w_o_r_k_e_r.html#ad6a97d8268992c34631ac773a6c2148b',1,'ucp_conn_request_attr::field_mask()'],['../group___u_c_p___w_o_r_k_e_r.html#afb01e3b0d3c0a04cef0cde4f849fcc1d',1,'ucp_listener_params::field_mask()'],['../group___u_c_p___m_e_m.html#aaeaeceb96d57c6cd5048abeda3fcb87f',1,'ucp_mem_map_params::field_mask()'],['../group___u_c_p___c_o_m_m.html#a311396d670dcb5ca9941dc17a8ad23d7',1,'ucp_request_attr_t::field_mask()'],['../group___u_c_p___w_o_r_k_e_r.html#a8f31d53e411769961286865cb9332f6f',1,'ucp_am_handler_param::field_mask()'],['../group___u_c_p___m_e_m.html#a01c09d6fdafcd62e733cece26166e036',1,'ucp_mem_advise_params::field_mask()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#a385c4a4337266da2a874e5ff533fbab2',1,'ucp_ep_attr::field_mask()'],['../group___u_c_p___m_e_m.html#ac2b9b68d716c78b3750f50f599259e66',1,'ucp_mem_attr::field_mask()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#ab7b3f3ba1d402a621b8ea708dcf2387b',1,'ucp_ep_params::field_mask()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#ad95df67b474d3f51629e0a6d0ee2537e',1,'uct_component_attr::field_mask()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a9e1d45a55b7e9629eb548f27bea940a0',1,'uct_iface_params::field_mask()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a9c1ea4678d33fd3f741856135ad61d23',1,'uct_ep_params::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a360893687dea33e2451afc89b89cf858',1,'uct_ep_connect_params::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a384bf8b975a0d90b7117f4e393684e3d',1,'uct_cm_attr::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#abd499e7b852c6af527c8db5a010040b6',1,'uct_listener_attr::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a2106149ec63faa5e1aebe7c7b1f941d6',1,'uct_listener_params::field_mask()'],['../group___u_c_t___m_d.html#a95cf319a4733fed89f7b52b66f82f84a',1,'uct_md_mem_attr::field_mask()'],['../group___u_c_t___m_d.html#ab06683bb31a585ea60b85f6f0f3126c8',1,'uct_mem_alloc_params_t::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a2c613c2ce5d4a428c87a0d83849875ca',1,'uct_cm_ep_priv_data_pack_args::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#abca562cc9e4c45a606ae464815d6cf1a',1,'uct_cm_ep_resolve_args::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#af27cfe2f1146f9e7f8481d192728640e',1,'uct_cm_remote_data::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ad79f7025c8f43a961b3f8d0501b45188',1,'uct_cm_listener_conn_request_args::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a07453861a47b7c717f6e89356f75398e',1,'uct_cm_ep_client_connect_args::field_mask()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a96b97f088ce727e04b1de822227b3283',1,'uct_cm_ep_server_conn_notify_args::field_mask()']]], + ['file_5ffilter_1375',['file_filter',['../namespace_3global_scope_4.html#a24ae3d6f63dc62e024f4dc9b3af519d2',1,'ucs_log_component_config']]], + ['finish_1376',['finish',['../group___u_c_p___d_a_t_a_t_y_p_e.html#ga09ee4ed178f4c27feec4e37f52a8e17b',1,'ucp_generic_dt_ops']]], + ['flags_1377',['flags',['../group___u_c_p___w_o_r_k_e_r.html#adbd9725024f5138a693196f11dab124c',1,'ucp_worker_params::flags()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#a1e761ffd7b8edf7399ab497600200266',1,'ucp_stream_poll_ep::flags()'],['../group___u_c_p___m_e_m.html#a668567560d65f2e0458159d444fb89ca',1,'ucp_mem_map_params::flags()'],['../group___u_c_p___c_o_n_t_e_x_t.html#a55a8ff2559470c5def6077a86ee9d898',1,'ucp_request_param_t::flags()'],['../group___u_c_p___w_o_r_k_e_r.html#a061115b2dc01fb803ae8082bd41f8730',1,'ucp_am_handler_param::flags()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#a9bb65021187347fe311535857e19e6c3',1,'ucp_ep_params::flags()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#ad2800e9666be0be84926f768eac792a2',1,'uct_component_attr::flags()'],['../group___u_c_t___m_d.html#a8180ccc5d99649919a9061c9ebb2504f',1,'uct_mem_alloc_params_t::flags()'],['../namespace_3global_scope_4.html#a3a0d3c938fef66985c8cf44071d23fd6',1,'ucs_callbackq_elem::flags()']]], + ['func_1378',['func',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a34d9a5e03c0d9199a2d540f1a2cee5a2',1,'uct_completion::func()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a638accaa60c4c3f373c6d12c2ea74c6c',1,'uct_pending_req::func()']]] +]; diff --git a/api/v1.13/html/search/variables_6.html b/api/v1.13/html/search/variables_6.html new file mode 100644 index 00000000000..ce4a90635f0 --- /dev/null +++ b/api/v1.13/html/search/variables_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_6.js b/api/v1.13/html/search/variables_6.js new file mode 100644 index 00000000000..1be68c459f7 --- /dev/null +++ b/api/v1.13/html/search/variables_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['handle_1379',['handle',['../group___u_c_t___m_d.html#ab42e33b02da0cc7023495793fae7f569',1,'uct_rkey_bundle']]] +]; diff --git a/api/v1.13/html/search/variables_7.html b/api/v1.13/html/search/variables_7.html new file mode 100644 index 00000000000..39ffd4746d2 --- /dev/null +++ b/api/v1.13/html/search/variables_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_7.js b/api/v1.13/html/search/variables_7.js new file mode 100644 index 00000000000..10aa67f8d90 --- /dev/null +++ b/api/v1.13/html/search/variables_7.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['id_1380',['id',['../group___u_c_p___w_o_r_k_e_r.html#ad0c6157f387e18cb4d92a37a638274af',1,'ucp_am_handler_param::id()'],['../namespace_3global_scope_4.html#a12ff9e4e3560d4371a71e0549a6237d4',1,'ucs_callbackq_elem::id()']]], + ['iface_1381',['iface',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a21e3628c5ffcafcdeb732f4f9687aa30',1,'uct_ep_params']]], + ['iface_5faddr_1382',['iface_addr',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ae8c9ada98be19a83ab9cd2af30203d5f',1,'uct_ep_params']]], + ['iface_5faddr_5flen_1383',['iface_addr_len',['../group___u_c_t___r_e_s_o_u_r_c_e.html#adaeded4e728f80628ff6d29eeae7a5b0',1,'uct_iface_attr']]] +]; diff --git a/api/v1.13/html/search/variables_8.html b/api/v1.13/html/search/variables_8.html new file mode 100644 index 00000000000..37a2eddfad4 --- /dev/null +++ b/api/v1.13/html/search/variables_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_8.js b/api/v1.13/html/search/variables_8.js new file mode 100644 index 00000000000..7f56db1c8de --- /dev/null +++ b/api/v1.13/html/search/variables_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['keepalive_5finterval_1384',['keepalive_interval',['../group___u_c_t___r_e_s_o_u_r_c_e.html#afbbbea17089ee8ff5ef0ef6ef3199cfe',1,'uct_iface_params']]] +]; diff --git a/api/v1.13/html/search/variables_9.html b/api/v1.13/html/search/variables_9.html new file mode 100644 index 00000000000..21e5a4f3c08 --- /dev/null +++ b/api/v1.13/html/search/variables_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_9.js b/api/v1.13/html/search/variables_9.js new file mode 100644 index 00000000000..5022453df91 --- /dev/null +++ b/api/v1.13/html/search/variables_9.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['latency_1385',['latency',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ace9cf2c31674223b000dff0e72c5d533',1,'uct_iface_attr']]], + ['length_1386',['length',['../group___u_c_p___d_a_t_a_t_y_p_e.html#a776d38e0b127efb673685644b6816663',1,'ucp_dt_iov::length()'],['../group___u_c_p___m_e_m.html#a36d735fe974dd85677474c028edb2af8',1,'ucp_mem_map_params::length()'],['../group___u_c_p___c_o_n_t_e_x_t.html#a6fd83122b93c677e702dc37b39e8351b',1,'ucp_tag_recv_info::length()'],['../group___u_c_p___m_e_m.html#a33e763e90d0cc7aad526a69dee8ef900',1,'ucp_mem_advise_params::length()'],['../group___u_c_p___m_e_m.html#ae807002e05a4a269a74c767e23f49fa8',1,'ucp_mem_attr::length()'],['../group___u_c_t___m_d.html#ae867afdf079a09edbbb03134e9d32489',1,'uct_allocated_memory::length()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#ad00b6e55c209c6abc87b091f4c776cd5',1,'uct_iov::length()']]], + ['listen_5fsockaddr_1387',['listen_sockaddr',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a3a5bb921af4157bc96d39aa580ff978f',1,'uct_iface_attr']]], + ['local_5fcpus_1388',['local_cpus',['../group___u_c_t___m_d.html#aade634758ea5ea9fc7f64b17d66507d7',1,'uct_md_attr']]], + ['local_5fsockaddr_1389',['local_sockaddr',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ae54665498f1f7c019e716e7bf9d56531',1,'ucp_ep_attr::local_sockaddr()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#ac7e00eea58053f718b67d92236c7a4b9',1,'ucp_ep_params::local_sockaddr()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#acd106a47629c2dffb844fbdb15a050f6',1,'uct_ep_params::local_sockaddr()']]], + ['log_5flevel_1390',['log_level',['../namespace_3global_scope_4.html#ae279af7e4a426fe21bde0e83a2c423ae',1,'ucs_log_component_config']]] +]; diff --git a/api/v1.13/html/search/variables_a.html b/api/v1.13/html/search/variables_a.html new file mode 100644 index 00000000000..1f6505537b6 --- /dev/null +++ b/api/v1.13/html/search/variables_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_a.js b/api/v1.13/html/search/variables_a.js new file mode 100644 index 00000000000..dce736798da --- /dev/null +++ b/api/v1.13/html/search/variables_a.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['max_5fam_5fheader_1391',['max_am_header',['../group___u_c_p___w_o_r_k_e_r.html#a7678aa8d4fb18b0d6e2a0276b03e2cb4',1,'ucp_worker_attr']]], + ['max_5fconn_5fpriv_1392',['max_conn_priv',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a5612c3ad1e7a46dd6add669e32364424',1,'uct_iface_attr::max_conn_priv()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#adb462d4f30c639f7fb5a8a7d9702ddcf',1,'uct_cm_attr::max_conn_priv()']]], + ['max_5fdebug_5fstring_1393',['max_debug_string',['../group___u_c_p___w_o_r_k_e_r.html#a79406f6545efcaefffaa34ca99bfdc04',1,'ucp_worker_attr']]], + ['max_5fnum_5feps_1394',['max_num_eps',['../group___u_c_t___r_e_s_o_u_r_c_e.html#af6baead12f87707af1b3e56024b2b2e5',1,'uct_iface_attr']]], + ['max_5fthread_5flevel_1395',['max_thread_level',['../group___u_c_p___c_o_n_t_e_x_t.html#a3cfd1d293ca29602ae799f7c52607c86',1,'ucp_lib_attr']]], + ['md_1396',['md',['../group___u_c_t___m_d.html#afdf7da800a504f0da8f59874d9b71823',1,'uct_allocated_memory']]], + ['md_5fname_1397',['md_name',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a44245b18bf7151a4bde8cb4c0112f8cb',1,'uct_md_resource_desc']]], + ['md_5fresource_5fcount_1398',['md_resource_count',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a4add45e93acd44e434624726caaf9efb',1,'uct_component_attr']]], + ['md_5fresources_1399',['md_resources',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a75c51f7e16d827cc4c848016f5365404',1,'uct_component_attr']]], + ['mds_1400',['mds',['../group___u_c_t___m_d.html#af682cfb8bc431adcd242433fb61619ac',1,'uct_mem_alloc_params_t']]], + ['mem_5ftype_1401',['mem_type',['../group___u_c_p___c_o_m_m.html#a86e23d8d22c973be0f86ea56adfd5678',1,'ucp_request_attr_t::mem_type()'],['../group___u_c_p___m_e_m.html#ac88b3fb764dd2af1a77bbe90161b2896',1,'ucp_mem_attr::mem_type()'],['../group___u_c_t___m_d.html#a9b20dd26a01412d61bea8f5cc4ee02a2',1,'uct_md_mem_attr::mem_type()'],['../group___u_c_t___m_d.html#ae6002ec224af4efa796246bfce7180fd',1,'uct_allocated_memory::mem_type()'],['../group___u_c_t___m_d.html#ac6a68b6fb669135688c594a58a6e3955',1,'uct_mem_alloc_params_t::mem_type()']]], + ['memh_1402',['memh',['../group___u_c_p___c_o_n_t_e_x_t.html#a815bd876629909195b15c6b246de2900',1,'ucp_request_param_t::memh()'],['../group___u_c_t___m_d.html#a4b9171caf237f0f2884d548c395e47ea',1,'uct_allocated_memory::memh()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a9a24e4be8303ebd6906bcaff37ab31f7',1,'uct_iov::memh()']]], + ['memory_5ftype_1403',['memory_type',['../group___u_c_p___m_e_m.html#a71916e12e0fa7706355965de2edd7fc9',1,'ucp_mem_map_params::memory_type()'],['../group___u_c_p___c_o_n_t_e_x_t.html#a52b53447384778b16b3b91d6abeb0f86',1,'ucp_request_param_t::memory_type()']]], + ['memory_5ftypes_1404',['memory_types',['../group___u_c_p___c_o_n_t_e_x_t.html#a59917e3a7e709c62e77d0acabbb0a24d',1,'ucp_context_attr']]], + ['message_5fsize_1405',['message_size',['../group___u_c_p___e_n_d_p_o_i_n_t.html#ac6bc2d095c3c631324646cd9ac6a5a0f',1,'ucp_ep_evaluate_perf_param_t']]], + ['method_1406',['method',['../group___u_c_t___m_d.html#ac0c1c5a5cd287f176e81650816138a55',1,'uct_allocated_memory']]], + ['mode_1407',['mode',['../group___u_c_t___r_e_s_o_u_r_c_e.html#aabd3472dc469285e466132ea7e4a2ec2',1,'uct_iface_params::mode()'],['../namespace_3global_scope_4.html#a080bacced54b2014f148e933d4dc3347',1,'ucs_config_allow_list_t::mode()']]], + ['mt_5fworkers_5fshared_1408',['mt_workers_shared',['../group___u_c_p___c_o_n_f_i_g.html#ac81f2d8a179df5fd39786a4b08b26faf',1,'ucp_params']]] +]; diff --git a/api/v1.13/html/search/variables_b.html b/api/v1.13/html/search/variables_b.html new file mode 100644 index 00000000000..c02d066f55f --- /dev/null +++ b/api/v1.13/html/search/variables_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_b.js b/api/v1.13/html/search/variables_b.js new file mode 100644 index 00000000000..ed731a66f93 --- /dev/null +++ b/api/v1.13/html/search/variables_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['name_1409',['name',['../group___u_c_p___c_o_n_f_i_g.html#ac1aa15f430f0f273ff4f6055f9cfdea2',1,'ucp_params::name()'],['../group___u_c_p___c_o_n_t_e_x_t.html#a958c850cc721fdadeae598928bbc8270',1,'ucp_context_attr::name()'],['../group___u_c_p___w_o_r_k_e_r.html#a3123aa88fefa33c972da4c2bda3bebee',1,'ucp_worker_attr::name()'],['../group___u_c_p___w_o_r_k_e_r.html#a7ea9a6700ec1393aaa95c4b1e1df04e1',1,'ucp_worker_params::name()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#acdaee980b44ce00d608c3b9812049db6',1,'ucp_ep_attr::name()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#a2434487b2597678b8b8c6a6b6fdd11ac',1,'ucp_ep_params::name()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a4d186d55814dbe82c4403564d38d084e',1,'uct_component_attr::name()'],['../group___u_c_t___m_d.html#ad67ee098d7dff61b637e20d67dc184ec',1,'uct_mem_alloc_params_t::name()'],['../namespace_3global_scope_4.html#ad3c3436563841e129767778aae615f8f',1,'ucs_log_component_config::name()']]] +]; diff --git a/api/v1.13/html/search/variables_c.html b/api/v1.13/html/search/variables_c.html new file mode 100644 index 00000000000..4b866c6ce59 --- /dev/null +++ b/api/v1.13/html/search/variables_c.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_c.js b/api/v1.13/html/search/variables_c.js new file mode 100644 index 00000000000..b4565dda79e --- /dev/null +++ b/api/v1.13/html/search/variables_c.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['op_5fattr_5fmask_1410',['op_attr_mask',['../group___u_c_p___c_o_n_t_e_x_t.html#a97e9444548efb351db6a07130fb69c28',1,'ucp_request_param_t']]], + ['open_5fmode_1411',['open_mode',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a7db3b0fb2bbde6b4625ad5a6c5e1a043',1,'uct_iface_params']]], + ['overhead_1412',['overhead',['../group___u_c_t___r_e_s_o_u_r_c_e.html#ab802bc3cc95cc67e176efeb2fe1c14c4',1,'uct_iface_attr']]] +]; diff --git a/api/v1.13/html/search/variables_d.html b/api/v1.13/html/search/variables_d.html new file mode 100644 index 00000000000..84d878b819e --- /dev/null +++ b/api/v1.13/html/search/variables_d.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_d.js b/api/v1.13/html/search/variables_d.js new file mode 100644 index 00000000000..e4d3b485200 --- /dev/null +++ b/api/v1.13/html/search/variables_d.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['pack_1413',['pack',['../group___u_c_p___d_a_t_a_t_y_p_e.html#ga347b6c1b7243047f3e069a70626a1e89',1,'ucp_generic_dt_ops']]], + ['packed_5fsize_1414',['packed_size',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gafa434c93350838be8da6480b2a68f83b',1,'ucp_generic_dt_ops']]], + ['path_5findex_1415',['path_index',['../group___u_c_t___r_e_s_o_u_r_c_e.html#af271b2f02d31b2a1fcbf34076b83a796',1,'uct_ep_params']]], + ['priority_1416',['priority',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a97534f4af50032a82c02b76bdb47a96d',1,'uct_iface_attr']]], + ['priv_1417',['priv',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a3541a702c8158a6d557ce30cec1863b1',1,'uct_pending_req::priv()'],['../structuct__tag__context.html#a50355288112c6e3218f9b63f3b49be91',1,'uct_tag_context::priv()'],['../namespace_3global_scope_4.html#a328050e3952f5d3888c26b32946f3627',1,'ucs_callbackq::priv()']]], + ['private_5fdata_1418',['private_data',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a4ad36475338e8aee2577fa4535c01dfc',1,'uct_ep_params::private_data()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#affe9b0a217e8e706f08da5b2efee3665',1,'uct_ep_connect_params::private_data()']]], + ['private_5fdata_5flength_1419',['private_data_length',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a287105cfd0e1922f7975efa4bba08ead',1,'uct_ep_params::private_data_length()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a3db99efa74cecf7060aad87e73922572',1,'uct_ep_connect_params::private_data_length()']]], + ['prot_1420',['prot',['../group___u_c_p___m_e_m.html#af8bb06187e2c1f180a24d867a4922b2e',1,'ucp_mem_map_params']]] +]; diff --git a/api/v1.13/html/search/variables_e.html b/api/v1.13/html/search/variables_e.html new file mode 100644 index 00000000000..b0d9b7b2037 --- /dev/null +++ b/api/v1.13/html/search/variables_e.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_e.js b/api/v1.13/html/search/variables_e.js new file mode 100644 index 00000000000..275edbbce5b --- /dev/null +++ b/api/v1.13/html/search/variables_e.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['recv_5fattr_1421',['recv_attr',['../group___u_c_p___w_o_r_k_e_r.html#a53a8777a31faf7e65289bcc1d710fb19',1,'ucp_am_recv_param']]], + ['recv_5finfo_1422',['recv_info',['../group___u_c_p___c_o_n_t_e_x_t.html#a508d273e351bac14d3906243de353fb7',1,'ucp_request_param_t']]], + ['reg_5fcost_1423',['reg_cost',['../group___u_c_t___m_d.html#aa8e4e4f1f063347094ea721a0ccb8952',1,'uct_md_attr']]], + ['remote_5fdata_1424',['remote_data',['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a333308d1c7eda2e28111dbe05b288746',1,'uct_cm_listener_conn_request_args::remote_data()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#adebf71af7948cb58f3724d1b0c4151bb',1,'uct_cm_ep_client_connect_args::remote_data()']]], + ['remote_5fsockaddr_1425',['remote_sockaddr',['../group___u_c_p___e_n_d_p_o_i_n_t.html#a8e0e9e1e5a9295f93073ae3fd3d9a612',1,'ucp_ep_attr']]], + ['reply_5fbuffer_1426',['reply_buffer',['../group___u_c_p___c_o_n_t_e_x_t.html#ad41bfb73053537d40830d52b3f380f02',1,'ucp_request_param_t']]], + ['reply_5fep_1427',['reply_ep',['../group___u_c_p___w_o_r_k_e_r.html#a5e4629812b7b7737beb6f7f7332b7d7f',1,'ucp_am_recv_param']]], + ['request_1428',['request',['../group___u_c_p___c_o_n_t_e_x_t.html#a746646123a460ed9a115c3fe21f194b0',1,'ucp_request_param_t']]], + ['request_5fcleanup_1429',['request_cleanup',['../group___u_c_p___c_o_n_f_i_g.html#ad2aadf27367f4cc64e91e1dd2b52b8b8',1,'ucp_params']]], + ['request_5finit_1430',['request_init',['../group___u_c_p___c_o_n_f_i_g.html#ac1f0a25d794111217af5e0e6b9865458',1,'ucp_params']]], + ['request_5fsize_1431',['request_size',['../group___u_c_p___c_o_n_f_i_g.html#a3125e61440123f639c024d75b5edc0d6',1,'ucp_params::request_size()'],['../group___u_c_p___c_o_n_t_e_x_t.html#a9b2ad3af27e1e94d4189ecc6fb1512ef',1,'ucp_context_attr::request_size()']]], + ['reserved_1432',['reserved',['../group___u_c_p___e_n_d_p_o_i_n_t.html#a00c2ee7b309e8c2a45d7e7c83911d707',1,'ucp_stream_poll_ep']]], + ['rkey_1433',['rkey',['../group___u_c_t___m_d.html#a750c92c67b9203752b04894893b91bbc',1,'uct_rkey_bundle']]], + ['rkey_5fpacked_5fsize_1434',['rkey_packed_size',['../group___u_c_t___m_d.html#a95f941f6d800ef57a183d1f9c75a221c',1,'uct_md_attr']]], + ['rndv_5farg_1435',['rndv_arg',['../group___u_c_t___r_e_s_o_u_r_c_e.html#afbeb49c7a773e6d61eaba872535809e8',1,'uct_iface_params']]], + ['rndv_5fcb_1436',['rndv_cb',['../group___u_c_t___r_e_s_o_u_r_c_e.html#aee589d588ff4207d4fcf0d147479facd',1,'uct_iface_params::rndv_cb()'],['../structuct__tag__context.html#a64008d8faf823d5d2be97cb16854c308',1,'uct_tag_context::rndv_cb()']]], + ['rx_5fheadroom_1437',['rx_headroom',['../group___u_c_t___r_e_s_o_u_r_c_e.html#aea4ca94171e8dfe3e80abb74a06fe333',1,'uct_iface_params']]] +]; diff --git a/api/v1.13/html/search/variables_f.html b/api/v1.13/html/search/variables_f.html new file mode 100644 index 00000000000..a708dbf0447 --- /dev/null +++ b/api/v1.13/html/search/variables_f.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/api/v1.13/html/search/variables_f.js b/api/v1.13/html/search/variables_f.js new file mode 100644 index 00000000000..aba4d111837 --- /dev/null +++ b/api/v1.13/html/search/variables_f.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['sender_5ftag_1438',['sender_tag',['../group___u_c_p___c_o_n_t_e_x_t.html#a19ac36808d83d348b23cd34fe997a7c9',1,'ucp_tag_recv_info']]], + ['shared_1439',['shared',['../namespace_3global_scope_4.html#ad2a5875d9c5c32357a72b42ec00c3b6d',1,'uct_ppn_bandwidth']]], + ['sockaddr_1440',['sockaddr',['../group___u_c_p___w_o_r_k_e_r.html#affcc213cd4305412937974eefb95bc32',1,'ucp_listener_attr::sockaddr()'],['../group___u_c_p___w_o_r_k_e_r.html#a88be57709393e7bf27d10d8a5238b544',1,'ucp_listener_params::sockaddr()'],['../group___u_c_p___e_n_d_p_o_i_n_t.html#aa23fd9a6a092266371258bd285c96816',1,'ucp_ep_params::sockaddr()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#a3eeadaece922904cae592889db563977',1,'uct_ep_params::sockaddr()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a8cc6f13deda40a11ae98cae547869342',1,'uct_listener_attr::sockaddr()']]], + ['sockaddr_5fcb_5fclient_1441',['sockaddr_cb_client',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a375c999b7326f631877deae2bf24ccf6',1,'uct_ep_params']]], + ['sockaddr_5fcb_5fflags_1442',['sockaddr_cb_flags',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a1471e0cef36287e0b37645beba2d792c',1,'uct_ep_params']]], + ['sockaddr_5fcb_5fserver_1443',['sockaddr_cb_server',['../group___u_c_t___r_e_s_o_u_r_c_e.html#aa290e652d57da6ee3bc5d1efff43a2fe',1,'uct_ep_params']]], + ['sockaddr_5fpack_5fcb_1444',['sockaddr_pack_cb',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a7d44f52031c50abc0b6636421c82bbf1',1,'uct_ep_params']]], + ['start_5fpack_1445',['start_pack',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gaf59e41a131f620d3b71f3aa7b9bb4801',1,'ucp_generic_dt_ops']]], + ['start_5funpack_1446',['start_unpack',['../group___u_c_p___d_a_t_a_t_y_p_e.html#gaec412b924f1cf491fbc570927f77c7e6',1,'ucp_generic_dt_ops']]], + ['stats_5froot_1447',['stats_root',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a6d87dd22dc349557a706bb25d49975f0',1,'uct_iface_params']]], + ['status_1448',['status',['../group___u_c_p___c_o_m_m.html#a3df010dde5b9a67b62bd354f0af3fc93',1,'ucp_request_attr_t::status()'],['../group___u_c_t___r_e_s_o_u_r_c_e.html#aa3b099f011e78bd23c8768264576314d',1,'uct_completion::status()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#afc75b0697e4624831532a20013eb4c98',1,'uct_cm_ep_resolve_args::status()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#ab34b457dd1e16034378445aeac010d4b',1,'uct_cm_ep_client_connect_args::status()'],['../group___u_c_t___c_l_i_e_n_t___s_e_r_v_e_r.html#a0deb70821df070090ebef30cb70b66c2',1,'uct_cm_ep_server_conn_notify_args::status()']]], + ['stride_1449',['stride',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a21ea5b278cab407db05eaa3dce3b2824',1,'uct_iov']]], + ['sys_5fdev_1450',['sys_dev',['../group___u_c_t___m_d.html#aacc6d26ea7f15b8cd19cb9b10eb4603c',1,'uct_md_mem_attr']]], + ['sys_5fdevice_1451',['sys_device',['../group___u_c_t___r_e_s_o_u_r_c_e.html#a1e3ce2607f86f8faf1eacf0b91636e27',1,'uct_tl_resource_desc']]] +]; diff --git a/api/v1.13/html/splitbar.png b/api/v1.13/html/splitbar.png new file mode 100644 index 00000000000..fe895f2c581 Binary files /dev/null and b/api/v1.13/html/splitbar.png differ diff --git a/api/v1.13/html/status_8h_source.html b/api/v1.13/html/status_8h_source.html new file mode 100644 index 00000000000..22e48716f12 --- /dev/null +++ b/api/v1.13/html/status_8h_source.html @@ -0,0 +1,213 @@ + + + + + + + +UCX: status.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    status.h
    +
    +
    +
    1 
    +
    9 #ifndef UCS_TYPES_STATUS_H_
    +
    10 #define UCS_TYPES_STATUS_H_
    +
    11 
    +
    12 #include <ucs/sys/compiler_def.h>
    +
    13 
    +
    14 BEGIN_C_DECLS
    +
    15 
    +
    45 typedef enum {
    +
    46  /* Operation completed successfully */
    +
    47  UCS_OK = 0,
    +
    48 
    +
    49  /* Operation is queued and still in progress */
    + +
    51 
    +
    52  /* Failure codes */
    + + + + + + + + + + + + + + +
    67  UCS_ERR_BUSY = -15,
    + + + + + + + + + + +
    78 
    + + + + + +
    84 
    +
    85  UCS_ERR_LAST = -100
    +
    86 } UCS_S_PACKED ucs_status_t;
    +
    87 
    +
    88 
    +
    89 #define UCS_IS_LINK_ERROR(_code) \
    +
    90  (((_code) <= UCS_ERR_FIRST_LINK_FAILURE) && \
    +
    91  ((_code) >= UCS_ERR_LAST_LINK_FAILURE))
    +
    92 
    +
    93 #define UCS_IS_ENDPOINT_ERROR(_code) \
    +
    94  (((_code) <= UCS_ERR_FIRST_ENDPOINT_FAILURE) && \
    +
    95  ((_code) >= UCS_ERR_LAST_ENDPOINT_FAILURE))
    +
    96 
    +
    106 typedef void *ucs_status_ptr_t;
    +
    107 
    +
    108 #define UCS_PTR_IS_ERR(_ptr) (((uintptr_t)(_ptr)) >= ((uintptr_t)UCS_ERR_LAST))
    +
    109 #define UCS_PTR_IS_PTR(_ptr) (((uintptr_t)(_ptr) - 1) < ((uintptr_t)UCS_ERR_LAST - 1))
    +
    110 #define UCS_PTR_RAW_STATUS(_ptr) ((ucs_status_t)(intptr_t)(_ptr))
    +
    111 #define UCS_PTR_STATUS(_ptr) (UCS_PTR_IS_PTR(_ptr) ? UCS_INPROGRESS : UCS_PTR_RAW_STATUS(_ptr))
    +
    112 #define UCS_STATUS_PTR(_status) ((void*)(intptr_t)(_status))
    +
    113 #define UCS_STATUS_IS_ERR(_status) ((_status) < 0)
    +
    114 
    +
    115 
    +
    121 const char *ucs_status_string(ucs_status_t status);
    +
    122 
    +
    123 END_C_DECLS
    +
    124 
    +
    125 #endif
    +
    +
    +
    @ UCS_ERR_FIRST_LINK_FAILURE
    Definition: status.h:79
    +
    @ UCS_ERR_NOT_IMPLEMENTED
    Definition: status.h:60
    +
    @ UCS_ERR_NO_PROGRESS
    Definition: status.h:62
    +
    @ UCS_ERR_NO_MESSAGE
    Definition: status.h:53
    +
    @ UCS_ERR_CONNECTION_RESET
    Definition: status.h:77
    +
    @ UCS_ERR_BUFFER_TOO_SMALL
    Definition: status.h:63
    +
    @ UCS_ERR_NO_RESOURCE
    Definition: status.h:54
    +
    @ UCS_ERR_BUSY
    Definition: status.h:67
    +
    @ UCS_ERR_REJECTED
    Definition: status.h:75
    +
    @ UCS_ERR_MESSAGE_TRUNCATED
    Definition: status.h:61
    +
    @ UCS_ERR_INVALID_PARAM
    Definition: status.h:57
    +
    @ UCS_ERR_ALREADY_EXISTS
    Definition: status.h:70
    +
    @ UCS_ERR_NO_DEVICE
    Definition: status.h:66
    +
    @ UCS_ERR_UNSUPPORTED
    Definition: status.h:74
    +
    void * ucs_status_ptr_t
    Status pointer.
    Definition: status.h:106
    +
    @ UCS_OK
    Definition: status.h:47
    +
    @ UCS_ERR_OUT_OF_RANGE
    Definition: status.h:71
    +
    @ UCS_ERR_INVALID_ADDR
    Definition: status.h:59
    +
    @ UCS_ERR_ENDPOINT_TIMEOUT
    Definition: status.h:82
    +
    @ UCS_ERR_EXCEEDS_LIMIT
    Definition: status.h:73
    +
    @ UCS_ERR_LAST
    Definition: status.h:85
    +
    @ UCS_INPROGRESS
    Definition: status.h:50
    +
    ucs_status_t
    Status codes.
    Definition: status.h:45
    +
    @ UCS_ERR_NO_ELEM
    Definition: status.h:64
    +
    @ UCS_ERR_LAST_ENDPOINT_FAILURE
    Definition: status.h:83
    +
    @ UCS_ERR_UNREACHABLE
    Definition: status.h:58
    +
    @ UCS_ERR_SOME_CONNECTS_FAILED
    Definition: status.h:65
    +
    @ UCS_ERR_LAST_LINK_FAILURE
    Definition: status.h:80
    +
    @ UCS_ERR_IO_ERROR
    Definition: status.h:55
    +
    @ UCS_ERR_NOT_CONNECTED
    Definition: status.h:76
    +
    @ UCS_ERR_SHMEM_SEGMENT
    Definition: status.h:69
    +
    @ UCS_ERR_NO_MEMORY
    Definition: status.h:56
    +
    @ UCS_ERR_FIRST_ENDPOINT_FAILURE
    Definition: status.h:81
    +
    @ UCS_ERR_TIMED_OUT
    Definition: status.h:72
    +
    @ UCS_ERR_CANCELED
    Definition: status.h:68
    + + + + diff --git a/api/v1.13/html/structucp__generic__dt__ops.html b/api/v1.13/html/structucp__generic__dt__ops.html new file mode 100644 index 00000000000..254c41655e6 --- /dev/null +++ b/api/v1.13/html/structucp__generic__dt__ops.html @@ -0,0 +1,137 @@ + + + + + + + +UCX: ucp_generic_dt_ops Struct Reference + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    +
    +
    + +

    UCP generic data type descriptor. + More...

    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    void *(* start_pack )(void *context, const void *buffer, size_t count)
     Start a packing request. More...
     
    void *(* start_unpack )(void *context, void *buffer, size_t count)
     Start an unpacking request. More...
     
    size_t(* packed_size )(void *state)
     Get the total size of packed data. More...
     
    size_t(* pack )(void *state, size_t offset, void *dest, size_t max_length)
     Pack data. More...
     
    ucs_status_t(* unpack )(void *state, size_t offset, const void *src, size_t length)
     Unpack data. More...
     
    void(* finish )(void *state)
     Finish packing/unpacking. More...
     
    +

    Detailed Description

    +

    This structure provides a generic datatype descriptor that is used for definition of application defined datatypes.

    +

    Typically, the descriptor is used for an integration with datatype engines implemented within MPI and SHMEM implementations.

    +
    Note
    In case of partial receive, any amount of received data is acceptable which matches buffer size.
    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/api/v1.13/html/structucp__generic__dt__ops.js b/api/v1.13/html/structucp__generic__dt__ops.js new file mode 100644 index 00000000000..e058f674d7a --- /dev/null +++ b/api/v1.13/html/structucp__generic__dt__ops.js @@ -0,0 +1,9 @@ +var structucp__generic__dt__ops = +[ + [ "start_pack", "group___u_c_p___d_a_t_a_t_y_p_e.html#gaf59e41a131f620d3b71f3aa7b9bb4801", null ], + [ "start_unpack", "group___u_c_p___d_a_t_a_t_y_p_e.html#gaec412b924f1cf491fbc570927f77c7e6", null ], + [ "packed_size", "group___u_c_p___d_a_t_a_t_y_p_e.html#gafa434c93350838be8da6480b2a68f83b", null ], + [ "pack", "group___u_c_p___d_a_t_a_t_y_p_e.html#ga347b6c1b7243047f3e069a70626a1e89", null ], + [ "unpack", "group___u_c_p___d_a_t_a_t_y_p_e.html#gaef4bcfb34731b7f113479b221304b698", null ], + [ "finish", "group___u_c_p___d_a_t_a_t_y_p_e.html#ga09ee4ed178f4c27feec4e37f52a8e17b", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/structuct__tag__context.html b/api/v1.13/html/structuct__tag__context.html new file mode 100644 index 00000000000..b38044645ed --- /dev/null +++ b/api/v1.13/html/structuct__tag__context.html @@ -0,0 +1,214 @@ + + + + + + + +UCX: uct_tag_context Struct Reference + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    Posted tag context. + More...

    + + + + + + + + + + +

    +Data Fields

    void(* tag_consumed_cb )(uct_tag_context_t *self)
     
    void(* completed_cb )(uct_tag_context_t *self, uct_tag_t stag, uint64_t imm, size_t length, void *inline_data, ucs_status_t status)
     
    void(* rndv_cb )(uct_tag_context_t *self, uct_tag_t stag, const void *header, unsigned header_length, ucs_status_t status, unsigned flags)
     
    char priv [UCT_TAG_PRIV_LEN]
     
    +

    Detailed Description

    +

    Tag context is an object which tracks a tag posted to the transport. It contains callbacks for matching events on this tag.

    +

    Field Documentation

    + +

    ◆ tag_consumed_cb

    + +
    +
    + + + + +
    void(* uct_tag_context::tag_consumed_cb) (uct_tag_context_t *self)
    +
    +

    Tag is consumed by the transport and should not be matched in software.

    +
    Parameters
    + + +
    [in]selfPointer to relevant context structure, which was initially passed to uct_iface_tag_recv_zcopy.
    +
    +
    + +
    +
    + +

    ◆ completed_cb

    + +
    +
    + + + + +
    void(* uct_tag_context::completed_cb) (uct_tag_context_t *self, uct_tag_t stag, uint64_t imm, size_t length, void *inline_data, ucs_status_t status)
    +
    +

    Tag processing is completed by the transport.

    +
    Parameters
    + + + + + + + +
    [in]selfPointer to relevant context structure, which was initially passed to uct_iface_tag_recv_zcopy.
    [in]stagTag from sender.
    [in]immImmediate data from sender. For rendezvous, it's always 0.
    [in]lengthCompleted length.
    [in]inline_dataIf non-null, points to a temporary buffer which contains the received data. In this case the received data was not placed directly in the receive buffer. This callback routine is responsible for copy-out the inline data, otherwise it is released.
    [in]statusCompletion status: (a) UCS_OK - Success, data placed in provided buffer. (b) UCS_ERR_TRUNCATED - Sender's length exceed posted buffer, no data is copied. (c) UCS_ERR_CANCELED - Canceled by user.
    +
    +
    + +
    +
    + +

    ◆ rndv_cb

    + +
    +
    + + + + +
    void(* uct_tag_context::rndv_cb) (uct_tag_context_t *self, uct_tag_t stag, const void *header, unsigned header_length, ucs_status_t status, unsigned flags)
    +
    +

    Tag was matched by a rendezvous request, which should be completed by the protocol layer.

    +
    Parameters
    + + + + + + + +
    [in]selfPointer to relevant context structure, which was initially passed to uct_iface_tag_recv_zcopy.
    [in]stagTag from sender.
    [in]headerUser defined header.
    [in]header_lengthUser defined header length in bytes.
    [in]statusCompletion status.
    [in]flagsFlags defined by UCT_TAG_RECV_CB_xx.
    +
    +
    + +
    +
    + +

    ◆ priv

    + +
    +
    + + + + +
    char uct_tag_context::priv[UCT_TAG_PRIV_LEN]
    +
    +

    A placeholder for the private data used by the transport

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/api/v1.13/html/structuct__tag__context.js b/api/v1.13/html/structuct__tag__context.js new file mode 100644 index 00000000000..e178cafae11 --- /dev/null +++ b/api/v1.13/html/structuct__tag__context.js @@ -0,0 +1,7 @@ +var structuct__tag__context = +[ + [ "tag_consumed_cb", "structuct__tag__context.html#a860b64e8963cbf48fb192045ec2d6689", null ], + [ "completed_cb", "structuct__tag__context.html#a8a872809ba82414123000deeb3f8dd2f", null ], + [ "rndv_cb", "structuct__tag__context.html#a64008d8faf823d5d2be97cb16854c308", null ], + [ "priv", "structuct__tag__context.html#a50355288112c6e3218f9b63f3b49be91", null ] +]; \ No newline at end of file diff --git a/api/v1.13/html/sync_off.png b/api/v1.13/html/sync_off.png new file mode 100644 index 00000000000..3b443fc6289 Binary files /dev/null and b/api/v1.13/html/sync_off.png differ diff --git a/api/v1.13/html/sync_on.png b/api/v1.13/html/sync_on.png new file mode 100644 index 00000000000..e08320fb64e Binary files /dev/null and b/api/v1.13/html/sync_on.png differ diff --git a/api/v1.13/html/tab_a.png b/api/v1.13/html/tab_a.png new file mode 100644 index 00000000000..3b725c41c5a Binary files /dev/null and b/api/v1.13/html/tab_a.png differ diff --git a/api/v1.13/html/tab_b.png b/api/v1.13/html/tab_b.png new file mode 100644 index 00000000000..e2b4a8638cb Binary files /dev/null and b/api/v1.13/html/tab_b.png differ diff --git a/api/v1.13/html/tab_h.png b/api/v1.13/html/tab_h.png new file mode 100644 index 00000000000..fd5cb705488 Binary files /dev/null and b/api/v1.13/html/tab_h.png differ diff --git a/api/v1.13/html/tab_s.png b/api/v1.13/html/tab_s.png new file mode 100644 index 00000000000..ab478c95b67 Binary files /dev/null and b/api/v1.13/html/tab_s.png differ diff --git a/api/v1.13/html/tabs.css b/api/v1.13/html/tabs.css new file mode 100644 index 00000000000..7d45d36c1c7 --- /dev/null +++ b/api/v1.13/html/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} diff --git a/api/v1.13/html/thread__mode_8h_source.html b/api/v1.13/html/thread__mode_8h_source.html new file mode 100644 index 00000000000..487d0f8db9d --- /dev/null +++ b/api/v1.13/html/thread__mode_8h_source.html @@ -0,0 +1,132 @@ + + + + + + + +UCX: thread_mode.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    thread_mode.h
    +
    +
    +
    1 /*
    +
    2 * Copyright (C) Mellanox Technologies Ltd. 2001-2015. ALL RIGHTS RESERVED.
    +
    3 * Copyright (C) The University of Tennessee and The University
    +
    4 * of Tennessee Research Foundation. 2015. ALL RIGHTS RESERVED.
    +
    5 *
    +
    6 * See file LICENSE for terms.
    +
    7 */
    +
    8 
    +
    9 #ifndef UCS_TYPE_THREAD_MODE_H
    +
    10 #define UCS_TYPE_THREAD_MODE_H
    +
    11 
    +
    12 
    +
    19 typedef enum {
    + + + + + +
    25 
    +
    26 
    +
    27 extern const char *ucs_thread_mode_names[];
    +
    28 
    +
    29 
    +
    30 #endif
    +
    +
    +
    @ UCS_THREAD_MODE_LAST
    Definition: thread_mode.h:23
    +
    ucs_thread_mode_t
    Thread sharing mode.
    Definition: thread_mode.h:19
    +
    @ UCS_THREAD_MODE_SERIALIZED
    Definition: thread_mode.h:21
    +
    @ UCS_THREAD_MODE_MULTI
    Definition: thread_mode.h:22
    +
    @ UCS_THREAD_MODE_SINGLE
    Definition: thread_mode.h:20
    + + + + diff --git a/api/v1.13/html/time__def_8h_source.html b/api/v1.13/html/time__def_8h_source.html new file mode 100644 index 00000000000..649a89c92cb --- /dev/null +++ b/api/v1.13/html/time__def_8h_source.html @@ -0,0 +1,117 @@ + + + + + + + +UCX: time_def.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    time_def.h
    +
    +
    +
    1 
    +
    7 #ifndef UCS_TIME_DEF_H
    +
    8 #define UCS_TIME_DEF_H
    +
    9 
    +
    10 #include <ucs/sys/compiler_def.h>
    +
    11 
    +
    12 BEGIN_C_DECLS
    +
    13 
    +
    23 typedef unsigned long ucs_time_t;
    +
    24 
    +
    25 END_C_DECLS
    +
    26 
    +
    27 #endif /* UCS_TIME_DEF_H */
    +
    +
    +
    unsigned long ucs_time_t
    Definition: time_def.h:23
    + + + + diff --git a/api/v1.13/html/types_8h_source.html b/api/v1.13/html/types_8h_source.html new file mode 100644 index 00000000000..ca6fe5c65c5 --- /dev/null +++ b/api/v1.13/html/types_8h_source.html @@ -0,0 +1,229 @@ + + + + + + + +UCX: types.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    types.h
    +
    +
    +
    1 
    +
    7 #ifndef UCS_CONFIG_TYPES_H
    +
    8 #define UCS_CONFIG_TYPES_H
    +
    9 
    +
    10 #include <ucs/sys/compiler_def.h>
    +
    11 #include <sys/socket.h>
    +
    12 
    +
    16 typedef enum {
    +
    17  UCS_LOG_LEVEL_FATAL, /* Immediate termination */
    +
    18  UCS_LOG_LEVEL_ERROR, /* Error is returned to the user */
    +
    19  UCS_LOG_LEVEL_WARN, /* Something's wrong, but we continue */
    +
    20  UCS_LOG_LEVEL_DIAG, /* Diagnostics, silent adjustments or internal error handling */
    +
    21  UCS_LOG_LEVEL_INFO, /* Information */
    +
    22  UCS_LOG_LEVEL_DEBUG, /* Low-volume debugging */
    +
    23  UCS_LOG_LEVEL_TRACE, /* High-volume debugging */
    +
    24  UCS_LOG_LEVEL_TRACE_REQ, /* Every send/receive request */
    +
    25  UCS_LOG_LEVEL_TRACE_DATA, /* Data sent/received on the transport */
    +
    26  UCS_LOG_LEVEL_TRACE_ASYNC, /* Asynchronous progress engine */
    +
    27  UCS_LOG_LEVEL_TRACE_FUNC, /* Function calls */
    +
    28  UCS_LOG_LEVEL_TRACE_POLL, /* Polling functions */
    +
    29  UCS_LOG_LEVEL_LAST,
    +
    30  UCS_LOG_LEVEL_PRINT /* Temporary output */
    +
    31 } ucs_log_level_t;
    +
    32 
    +
    33 
    +
    37 typedef enum {
    +
    38  UCS_ASYNC_MODE_SIGNAL,
    +
    39  UCS_ASYNC_MODE_THREAD, /* Deprecated, keep for backward compatibility */
    +
    40  UCS_ASYNC_MODE_THREAD_SPINLOCK = UCS_ASYNC_MODE_THREAD,
    +
    41  UCS_ASYNC_MODE_THREAD_MUTEX,
    +
    42  UCS_ASYNC_MODE_POLL, /* TODO keep only in debug version */
    +
    43  UCS_ASYNC_MODE_LAST
    +
    44 } ucs_async_mode_t;
    +
    45 
    +
    46 
    +
    47 extern const char *ucs_async_mode_names[];
    +
    48 
    +
    49 
    +
    53 typedef enum ucs_ternary_auto_value {
    +
    54  UCS_NO = 0,
    +
    55  UCS_YES = 1,
    +
    56  UCS_TRY = 2,
    +
    57  UCS_AUTO = 3,
    +
    58  UCS_TERNARY_LAST
    +
    59 } ucs_ternary_auto_value_t;
    +
    60 
    +
    61 
    +
    65 typedef enum ucs_on_off_auto_value {
    +
    66  UCS_CONFIG_OFF = 0,
    +
    67  UCS_CONFIG_ON = 1,
    +
    68  UCS_CONFIG_AUTO = 2,
    +
    69  UCS_CONFIG_ON_OFF_LAST
    +
    70 } ucs_on_off_auto_value_t;
    +
    71 
    +
    72 
    +
    76 typedef enum {
    +
    77  UCS_HANDLE_ERROR_BACKTRACE, /* Print backtrace */
    +
    78  UCS_HANDLE_ERROR_FREEZE, /* Freeze and wait for a debugger */
    +
    79  UCS_HANDLE_ERROR_DEBUG, /* Attach debugger */
    +
    80  UCS_HANDLE_ERROR_NONE, /* Do not take any action */
    +
    81  UCS_HANDLE_ERROR_LAST
    +
    82 } ucs_handle_error_t;
    +
    83 
    +
    84 
    +
    88 typedef enum {
    +
    89  UCS_CONFIG_PRINT_CONFIG = UCS_BIT(0),
    +
    90  UCS_CONFIG_PRINT_HEADER = UCS_BIT(1),
    +
    91  UCS_CONFIG_PRINT_DOC = UCS_BIT(2),
    +
    92  UCS_CONFIG_PRINT_HIDDEN = UCS_BIT(3),
    +
    93  UCS_CONFIG_PRINT_COMMENT_DEFAULT = UCS_BIT(4)
    +
    94 } ucs_config_print_flags_t;
    +
    95 
    +
    96 
    +
    101 #define UCS_CONFIG_ARRAY_FIELD(_type, _array_name) \
    +
    102  struct { \
    +
    103  _type *_array_name; \
    +
    104  unsigned count; \
    +
    105  unsigned pad; \
    +
    106  }
    +
    107 
    +
    108 
    +
    109 /* Specific structure for an array of strings */
    +
    110 #define UCS_CONFIG_STRING_ARRAY_FIELD(_array_name) \
    +
    111  UCS_CONFIG_ARRAY_FIELD(char*, _array_name)
    +
    112 
    +
    113 
    +
    114 typedef UCS_CONFIG_STRING_ARRAY_FIELD(names) ucs_config_names_array_t;
    +
    115 
    +
    116 
    +
    120 typedef enum {
    +
    121  UCS_CONFIG_ALLOW_LIST_ALLOW_ALL, /* Allow all possible options */
    +
    122  UCS_CONFIG_ALLOW_LIST_ALLOW, /* Allow only the specified options */
    +
    123  UCS_CONFIG_ALLOW_LIST_NEGATE /* Negate (forbid) the specified options */
    +
    124 } ucs_config_allow_list_mode_t;
    +
    125 
    +
    126 
    +
    127 typedef struct {
    +
    128  ucs_config_names_array_t array;
    +
    129  ucs_config_allow_list_mode_t mode;
    + +
    131 
    +
    132 
    +
    137 typedef struct ucs_sock_addr {
    +
    138  const struct sockaddr *addr;
    +
    139  socklen_t addrlen;
    + +
    141 
    +
    142 
    +
    146 typedef struct ucs_log_component_config {
    +
    147  ucs_log_level_t log_level;
    +
    148  char name[16];
    +
    149  const char *file_filter; /* glob pattern of source files */
    + +
    151 
    +
    152 #endif /* TYPES_H_ */
    +
    +
    +
    const char * file_filter
    Definition: types.h:149
    +
    Definition: types.h:137
    +
    ucs_log_level_t log_level
    Definition: types.h:147
    +
    Definition: types.h:127
    +
    Definition: types.h:146
    +
    ucs_config_names_array_t array
    Definition: types.h:128
    +
    const struct sockaddr * addr
    Definition: types.h:138
    +
    char name[16]
    Definition: types.h:148
    +
    ucs_config_allow_list_mode_t mode
    Definition: types.h:129
    +
    socklen_t addrlen
    Definition: types.h:139
    +
    struct ucs_sock_addr ucs_sock_addr_t
    + + + + diff --git a/api/v1.13/html/ucp_8h_source.html b/api/v1.13/html/ucp_8h_source.html new file mode 100644 index 00000000000..6dc0bf37f75 --- /dev/null +++ b/api/v1.13/html/ucp_8h_source.html @@ -0,0 +1,1519 @@ + + + + + + + +UCX: ucp.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    ucp.h
    +
    +
    +
    1 /*
    +
    2 * Copyright (C) Mellanox Technologies Ltd. 2001-2020. ALL RIGHTS RESERVED.
    +
    3 * Copyright (C) UT-Battelle, LLC. 2014-2017. ALL RIGHTS RESERVED.
    +
    4 * Copyright (C) ARM Ltd. 2016-2017. ALL RIGHTS RESERVED.
    +
    5 * Copyright (C) Los Alamos National Security, LLC. 2018 ALL RIGHTS RESERVED.
    +
    6 * See file LICENSE for terms.
    +
    7 */
    +
    8 
    +
    9 #ifndef UCP_H_
    +
    10 #define UCP_H_
    +
    11 
    +
    12 #include <ucp/api/ucp_def.h>
    +
    13 #include <ucp/api/ucp_compat.h>
    +
    14 #include <ucp/api/ucp_version.h>
    +
    15 #include <ucs/type/thread_mode.h>
    +
    16 #include <ucs/type/cpu_set.h>
    +
    17 #include <ucs/config/types.h>
    +
    18 #include <ucs/sys/compiler_def.h>
    +
    19 #include <ucs/memory/memory_type.h>
    +
    20 #include <stdio.h>
    +
    21 #include <sys/types.h>
    +
    22 
    +
    23 BEGIN_C_DECLS
    +
    24 
    + + + + + + + + + +
    128  UCP_PARAM_FIELD_NAME = UCS_BIT(8)
    +
    129 };
    +
    130 
    +
    131 
    + +
    141  UCP_FEATURE_TAG = UCS_BIT(0),
    +
    143  UCP_FEATURE_RMA = UCS_BIT(1),
    +
    145  UCP_FEATURE_AMO32 = UCS_BIT(2),
    +
    147  UCP_FEATURE_AMO64 = UCS_BIT(3),
    +
    149  UCP_FEATURE_WAKEUP = UCS_BIT(4),
    +
    151  UCP_FEATURE_STREAM = UCS_BIT(5),
    +
    152  UCP_FEATURE_AM = UCS_BIT(6)
    +
    154 };
    +
    155 
    +
    156 
    + + + + + + + + + + +
    176 };
    +
    177 
    +
    178 
    +
    186 typedef enum {
    + + +
    190 
    +
    191 
    + + +
    204 
    + +
    209 
    + +
    213 };
    +
    214 
    +
    215 
    +
    224 typedef enum {
    +
    225 
    + + +
    231 
    +
    232 
    + + + + + + + + +
    252  UCP_EP_PARAM_FIELD_NAME = UCS_BIT(7),
    + +
    254 };
    +
    255 
    +
    256 
    + + + + +
    290 };
    +
    291 
    +
    292 
    +
    299 typedef enum {
    + + +
    322 
    +
    323 
    + + + +
    347 };
    +
    348 
    +
    349 
    + + + +
    362 
    +
    363 
    + + + +
    376 
    +
    377 
    + + + + + + +
    396 };
    +
    397 
    + + + + +
    409 };
    +
    410 
    +
    411 
    + + +
    422 };
    +
    423 
    +
    424 
    + + + + +
    436  UCP_ATTR_FIELD_NAME = UCS_BIT(3)
    +
    437 };
    +
    438 
    +
    439 
    + + + + + + + +
    456 };
    +
    457 
    +
    458 
    + + +
    469 };
    +
    470 
    +
    471 
    + + +
    481 };
    +
    482 
    +
    483 
    + + + +
    494 };
    +
    495 
    +
    496 
    + + + + + + + +
    513 };
    +
    514 
    +
    515 
    +
    523 enum {
    +
    524  UCP_MEM_MAP_NONBLOCK = UCS_BIT(0),
    +
    529  UCP_MEM_MAP_ALLOCATE = UCS_BIT(1),
    +
    533  UCP_MEM_MAP_FIXED = UCS_BIT(2)
    +
    537 };
    +
    538 
    +
    539 
    +
    547 enum {
    + + + + +
    552 };
    +
    553 
    +
    554 
    + +
    565  UCP_AM_FLAG_WHOLE_MSG = UCS_BIT(0),
    +
    566 
    + +
    574 };
    +
    575 
    +
    576 
    + +
    585  UCP_AM_SEND_FLAG_REPLY = UCS_BIT(0),
    +
    589  UCP_AM_SEND_FLAG_EAGER = UCS_BIT(1),
    +
    591  UCP_AM_SEND_FLAG_RNDV = UCS_BIT(2),
    + +
    595 };
    +
    596 
    +
    597 
    + + +
    610 };
    +
    611 
    +
    612 
    +
    621 typedef enum {
    + + + + + + +
    628 
    +
    629 
    +
    638 typedef enum {
    + + + + + + + + +
    647 
    +
    648 
    +
    656 typedef enum {
    + + + + + + + + +
    665 
    +
    666 
    +
    673 typedef enum {
    + + +
    681 
    +
    682 
    +
    691 typedef enum {
    + + + + +
    696  UCP_OP_ATTR_FIELD_FLAGS = UCS_BIT(4),
    + + + +
    700  UCP_OP_ATTR_FIELD_MEMH = UCS_BIT(8),
    + + + + +
    721 } ucp_op_attr_t;
    +
    722 
    +
    723 
    +
    731 typedef enum {
    + + + + + +
    737 
    +
    738 
    +
    747 typedef enum {
    + + +
    758 
    + + +
    768 
    +
    769 
    + + + + + +
    794 };
    +
    795 
    +
    796 
    +
    811 #define ucp_dt_make_contig(_elem_size) \
    +
    812  (((ucp_datatype_t)(_elem_size) << UCP_DATATYPE_SHIFT) | UCP_DATATYPE_CONTIG)
    +
    813 
    +
    814 
    +
    828 #define ucp_dt_make_iov() ((ucp_datatype_t)UCP_DATATYPE_IOV)
    +
    829 
    +
    830 
    +
    842 typedef struct ucp_dt_iov {
    +
    843  void *buffer;
    +
    844  size_t length;
    +
    845 } ucp_dt_iov_t;
    +
    846 
    +
    847 
    +
    861 typedef struct ucp_generic_dt_ops {
    +
    862 
    +
    877  void* (*start_pack)(void *context, const void *buffer, size_t count);
    +
    878 
    +
    893  void* (*start_unpack)(void *context, void *buffer, size_t count);
    +
    894 
    +
    908  size_t (*packed_size)(void *state);
    +
    909 
    +
    926  size_t (*pack) (void *state, size_t offset, void *dest, size_t max_length);
    +
    927 
    +
    943  ucs_status_t (*unpack)(void *state, size_t offset, const void *src, size_t length);
    +
    944 
    +
    959  void (*finish)(void *state);
    + +
    961 
    +
    962 
    +
    976 typedef struct ucp_params {
    +
    982  uint64_t field_mask;
    +
    983 
    +
    990  uint64_t features;
    +
    991 
    + +
    1001 
    + +
    1013 
    + +
    1024 
    + +
    1031 
    + +
    1047 
    + +
    1058 
    + +
    1068 
    +
    1077  const char *name;
    +
    1078 } ucp_params_t;
    +
    1079 
    +
    1080 
    +
    1087 typedef struct ucp_lib_attr {
    +
    1094  uint64_t field_mask;
    +
    1095 
    + +
    1104 } ucp_lib_attr_t;
    +
    1105 
    +
    1106 
    +
    1114 typedef struct ucp_context_attr {
    +
    1121  uint64_t field_mask;
    +
    1122 
    + +
    1129 
    + +
    1135 
    +
    1140  uint64_t memory_types;
    +
    1141 
    + + +
    1147 
    +
    1148 
    +
    1156 typedef struct ucp_worker_attr {
    +
    1163  uint64_t field_mask;
    +
    1164 
    + +
    1169 
    +
    1176  uint32_t address_flags;
    +
    1177 
    + +
    1186 
    + +
    1191 
    + +
    1196 
    + +
    1201 
    + + +
    1207 
    +
    1208 
    +
    1216 typedef struct ucp_worker_params {
    +
    1222  uint64_t field_mask;
    +
    1223 
    + +
    1237 
    +
    1245  ucs_cpu_set_t cpu_mask;
    +
    1246 
    +
    1254  unsigned events;
    +
    1255 
    +
    1262  void *user_data;
    +
    1263 
    + +
    1280 
    +
    1287  uint64_t flags;
    +
    1288 
    +
    1297  const char *name;
    +
    1298 
    + +
    1305 
    +
    1312  uint64_t client_id;
    + +
    1314 
    +
    1315 
    +
    1322 typedef struct ucp_worker_address_attr {
    +
    1329  uint64_t field_mask;
    +
    1330 
    +
    1334  uint64_t worker_uid;
    + +
    1336 
    +
    1337 
    +
    1345 typedef struct {
    +
    1352  uint64_t field_mask;
    +
    1353 
    + + +
    1360 
    +
    1361 
    +
    1369 typedef struct {
    +
    1376  uint64_t field_mask;
    +
    1377 
    + + +
    1385 
    +
    1393 typedef struct ucp_listener_attr {
    +
    1400  uint64_t field_mask;
    +
    1401 
    +
    1406  struct sockaddr_storage sockaddr;
    + +
    1408 
    +
    1409 
    +
    1417 typedef struct ucp_conn_request_attr {
    +
    1424  uint64_t field_mask;
    +
    1425 
    +
    1430  struct sockaddr_storage client_address;
    +
    1431 
    +
    1436  uint64_t client_id;
    + +
    1438 
    +
    1439 
    +
    1447 typedef struct ucp_listener_params {
    +
    1454  uint64_t field_mask;
    +
    1455 
    + +
    1464 
    + +
    1472 
    + + +
    1486 
    +
    1487 
    +
    1494 typedef struct ucp_stream_poll_ep {
    + +
    1499 
    +
    1504  void *user_data;
    +
    1505 
    +
    1509  unsigned flags;
    +
    1510 
    +
    1514  uint8_t reserved[16];
    + +
    1516 
    +
    1517 
    +
    1525 typedef struct ucp_mem_map_params {
    +
    1532  uint64_t field_mask;
    +
    1533 
    +
    1544  void *address;
    +
    1545 
    +
    1553  size_t length;
    +
    1554 
    +
    1562  unsigned flags;
    +
    1563 
    +
    1571  unsigned prot;
    +
    1572 
    +
    1573  /*
    +
    1574  * Memory type (for possible memory types see @ref ucs_memory_type_t)
    +
    1575  * It is an optimization hint to avoid memory type detection for map buffer.
    +
    1576  * The meaning of this field depends on the operation type.
    +
    1577  *
    +
    1578  * - Memory allocation: (@ref UCP_MEM_MAP_ALLOCATE flag is set) This field
    +
    1579  * specifies the type of memory to allocate. If it's not set (along with its
    +
    1580  * corresponding bit in the field_mask - @ref UCP_MEM_MAP_PARAM_FIELD_MEMORY_TYPE),
    +
    1581  * @ref UCS_MEMORY_TYPE_HOST will be assumed by default.
    +
    1582  *
    +
    1583  * - Memory registration: This field specifies the type of memory which is
    +
    1584  * pointed by @ref ucp_mem_map_params.address. If it's not set (along with its
    +
    1585  * corresponding bit in the field_mask - @ref UCP_MEM_MAP_PARAM_FIELD_MEMORY_TYPE),
    +
    1586  * or set to @ref UCS_MEMORY_TYPE_UNKNOWN, the memory type will be detected
    +
    1587  * internally.
    +
    1588  */
    + + +
    1591 
    +
    1592 
    + + +
    1606  size_t length;
    +
    1607 };
    +
    1608 
    +
    1609 
    +
    1650 typedef struct {
    +
    1656  uint32_t op_attr_mask;
    +
    1657 
    +
    1658  /* Operation specific flags. */
    +
    1659  uint32_t flags;
    +
    1660 
    +
    1667  void *request;
    +
    1668 
    +
    1673  union {
    + + +
    1676  ucp_stream_recv_nbx_callback_t recv_stream;
    + +
    1678  } cb;
    +
    1679 
    + +
    1686 
    +
    1690  void *user_data;
    +
    1691 
    + +
    1697 
    + +
    1706 
    +
    1713  union {
    +
    1714  size_t *length; /* Length of received message in bytes.
    +
    1715  Relevant for non-tagged receive
    +
    1716  operations. */
    +
    1717  ucp_tag_recv_info_t *tag_info; /* Information about received message.
    +
    1718  Relevant for @a ucp_tag_recv_nbx
    +
    1719  function. */
    +
    1720  } recv_info;
    +
    1721 
    + +
    1730 
    + +
    1732 
    +
    1733 
    +
    1738 typedef struct {
    +
    1744  uint64_t field_mask;
    +
    1745 
    + +
    1752 
    + +
    1759 
    + +
    1764 
    + + +
    1770 
    +
    1771 
    +
    1777 typedef struct ucp_am_handler_param {
    +
    1783  uint64_t field_mask;
    +
    1784 
    +
    1788  unsigned id;
    +
    1789 
    +
    1793  uint32_t flags;
    +
    1794 
    + +
    1800 
    +
    1805  void *arg;
    + +
    1807 
    +
    1808 
    + +
    1819  uint64_t recv_attr;
    +
    1820 
    + +
    1825 };
    +
    1826 
    +
    1827 
    + +
    1839 
    +
    1840 
    +
    1867 ucs_status_t ucp_config_read(const char *env_prefix, const char *filename,
    +
    1868  ucp_config_t **config_p);
    +
    1869 
    +
    1870 
    +
    1881 void ucp_config_release(ucp_config_t *config);
    +
    1882 
    +
    1883 
    +
    1897 ucs_status_t ucp_config_modify(ucp_config_t *config, const char *name,
    +
    1898  const char *value);
    +
    1899 
    +
    1900 
    +
    1916 void ucp_config_print(const ucp_config_t *config, FILE *stream,
    +
    1917  const char *title, ucs_config_print_flags_t print_flags);
    +
    1918 
    +
    1919 
    +
    1930 void ucp_get_version(unsigned *major_version, unsigned *minor_version,
    +
    1931  unsigned *release_number);
    +
    1932 
    +
    1933 
    +
    1941 const char *ucp_get_version_string(void);
    +
    1942 
    +
    1943 
    +
    1952 ucs_status_t ucp_init_version(unsigned api_major_version, unsigned api_minor_version,
    +
    1953  const ucp_params_t *params, const ucp_config_t *config,
    +
    1954  ucp_context_h *context_p);
    +
    1993 static inline ucs_status_t ucp_init(const ucp_params_t *params,
    +
    1994  const ucp_config_t *config,
    +
    1995  ucp_context_h *context_p)
    +
    1996 {
    +
    1997  return ucp_init_version(UCP_API_MAJOR, UCP_API_MINOR, params, config,
    +
    1998  context_p);
    +
    1999 }
    +
    2000 
    +
    2001 
    +
    2019 void ucp_cleanup(ucp_context_h context_p);
    +
    2020 
    +
    2021 
    + +
    2036  ucp_context_attr_t *attr);
    +
    2037 
    +
    2038 
    +
    2050 void ucp_context_print_info(const ucp_context_h context, FILE *stream);
    +
    2051 
    +
    2052 
    + +
    2077  const ucp_worker_params_t *params,
    +
    2078  ucp_worker_h *worker_p);
    +
    2079 
    +
    2080 
    +
    2096 void ucp_worker_destroy(ucp_worker_h worker);
    +
    2097 
    +
    2098 
    + +
    2111  ucp_worker_attr_t *attr);
    +
    2112 
    +
    2113 
    +
    2124 void ucp_worker_print_info(ucp_worker_h worker, FILE *stream);
    +
    2125 
    +
    2126 
    + +
    2144  ucp_address_t **address_p,
    +
    2145  size_t *address_length_p);
    +
    2146 
    +
    2147 
    + +
    2168 
    +
    2169 
    + + +
    2184 
    +
    2185 
    +
    2205 unsigned ucp_worker_progress(ucp_worker_h worker);
    +
    2206 
    +
    2207 
    +
    2228 ssize_t ucp_stream_worker_poll(ucp_worker_h worker,
    +
    2229  ucp_stream_poll_ep_t *poll_eps, size_t max_eps,
    +
    2230  unsigned flags);
    +
    2231 
    +
    2232 
    + +
    2264 
    +
    2265 
    + +
    2295 
    +
    2296 
    +
    2320 void ucp_worker_wait_mem(ucp_worker_h worker, void *address);
    +
    2321 
    +
    2322 
    + +
    2393 
    +
    2394 
    + +
    2414 
    +
    2415 
    + +
    2442  const ucp_listener_params_t *params,
    +
    2443  ucp_listener_h *listener_p);
    +
    2444 
    +
    2445 
    +
    2455 void ucp_listener_destroy(ucp_listener_h listener);
    +
    2456 
    +
    2457 
    + +
    2470 
    +
    2471 
    + +
    2485  ucp_conn_request_attr_t *attr);
    +
    2486 
    +
    2487 
    +
    2497 ucs_status_t ucp_request_query(void *request, ucp_request_attr_t *attr);
    +
    2498 
    +
    2499 
    + +
    2533  ucp_ep_h *ep_p);
    +
    2534 
    +
    2535 
    +
    2562 ucs_status_ptr_t ucp_ep_close_nb(ucp_ep_h ep, unsigned mode);
    +
    2563 
    +
    2564 
    + +
    2588  const ucp_request_param_t *param);
    +
    2589 
    +
    2590 
    + +
    2608  ucp_conn_request_h conn_request);
    +
    2609 
    +
    2610 
    +
    2621 void ucp_ep_print_info(ucp_ep_h ep, FILE *stream);
    +
    2622 
    +
    2623 
    +
    2677 ucs_status_ptr_t ucp_ep_flush_nb(ucp_ep_h ep, unsigned flags,
    +
    2678  ucp_send_callback_t cb);
    +
    2679 
    +
    2680 
    + +
    2703 
    +
    2704 
    + +
    2719  const ucp_ep_evaluate_perf_param_t *param,
    + +
    2721 
    +
    2722 
    + +
    2798  ucp_mem_h *memh_p);
    +
    2799 
    +
    2800 
    + +
    2829 
    +
    2830 
    + +
    2845 
    +
    2846 
    +
    2859 void ucp_mem_print_info(const char *mem_size, ucp_context_h context, FILE *stream);
    +
    2860 
    +
    2861 
    +
    2869 typedef enum ucp_mem_advice {
    + + + +
    2876 
    +
    2877 
    +
    2886 typedef struct ucp_mem_advise_params {
    +
    2892  uint64_t field_mask;
    +
    2893 
    +
    2897  void *address;
    +
    2898 
    +
    2902  size_t length;
    +
    2903 
    + + +
    2909 
    +
    2910 
    + +
    2931  ucp_mem_advise_params_t *params);
    +
    2932 
    +
    2933 
    + +
    2965  void **rkey_buffer_p, size_t *size_p);
    +
    2966 
    +
    2967 
    +
    2984 void ucp_rkey_buffer_release(void *rkey_buffer);
    +
    2985 
    +
    2986 
    +
    3009 ucs_status_t ucp_ep_rkey_unpack(ucp_ep_h ep, const void *rkey_buffer,
    +
    3010  ucp_rkey_h *rkey_p);
    +
    3011 
    +
    3012 
    +
    3032 ucs_status_t ucp_rkey_ptr(ucp_rkey_h rkey, uint64_t raddr, void **addr_p);
    +
    3033 
    +
    3034 
    +
    3056 void ucp_rkey_destroy(ucp_rkey_h rkey);
    +
    3057 
    +
    3058 
    + +
    3085  ucp_am_callback_t cb, void *arg,
    +
    3086  uint32_t flags);
    +
    3087 
    +
    3088 
    + +
    3110  const ucp_am_handler_param_t *param);
    +
    3111 
    +
    3112 
    +
    3136 ucs_status_ptr_t ucp_am_send_nb(ucp_ep_h ep, uint16_t id,
    +
    3137  const void *buffer, size_t count,
    +
    3138  ucp_datatype_t datatype,
    +
    3139  ucp_send_callback_t cb, unsigned flags);
    +
    3140 
    +
    3141 
    +
    3189 ucs_status_ptr_t ucp_am_send_nbx(ucp_ep_h ep, unsigned id,
    +
    3190  const void *header, size_t header_length,
    +
    3191  const void *buffer, size_t count,
    +
    3192  const ucp_request_param_t *param);
    +
    3193 
    +
    3194 
    +
    3241 ucs_status_ptr_t ucp_am_recv_data_nbx(ucp_worker_h worker, void *data_desc,
    +
    3242  void *buffer, size_t count,
    +
    3243  const ucp_request_param_t *param);
    +
    3244 
    +
    3245 
    +
    3258 void ucp_am_data_release(ucp_worker_h worker, void *data);
    +
    3259 
    +
    3260 
    +
    3299 ucs_status_ptr_t ucp_stream_send_nb(ucp_ep_h ep, const void *buffer, size_t count,
    +
    3300  ucp_datatype_t datatype, ucp_send_callback_t cb,
    +
    3301  unsigned flags);
    +
    3302 
    +
    3303 
    +
    3330 ucs_status_ptr_t ucp_stream_send_nbx(ucp_ep_h ep, const void *buffer, size_t count,
    +
    3331  const ucp_request_param_t *param);
    +
    3332 
    +
    3333 
    +
    3374 ucs_status_ptr_t ucp_tag_send_nb(ucp_ep_h ep, const void *buffer, size_t count,
    +
    3375  ucp_datatype_t datatype, ucp_tag_t tag,
    +
    3376  ucp_send_callback_t cb);
    +
    3377 
    +
    3456 ucs_status_t ucp_tag_send_nbr(ucp_ep_h ep, const void *buffer, size_t count,
    +
    3457  ucp_datatype_t datatype, ucp_tag_t tag, void *req);
    +
    3458 
    +
    3490 ucs_status_ptr_t ucp_tag_send_sync_nb(ucp_ep_h ep, const void *buffer, size_t count,
    +
    3491  ucp_datatype_t datatype, ucp_tag_t tag,
    +
    3492  ucp_send_callback_t cb);
    +
    3493 
    +
    3494 
    +
    3533 ucs_status_ptr_t ucp_tag_send_nbx(ucp_ep_h ep, const void *buffer, size_t count,
    +
    3534  ucp_tag_t tag, const ucp_request_param_t *param);
    +
    3535 
    +
    3536 
    +
    3565 ucs_status_ptr_t ucp_tag_send_sync_nbx(ucp_ep_h ep, const void *buffer,
    +
    3566  size_t count, ucp_tag_t tag,
    +
    3567  const ucp_request_param_t *param);
    +
    3568 
    +
    3569 
    +
    3611 ucs_status_ptr_t ucp_stream_recv_nb(ucp_ep_h ep, void *buffer, size_t count,
    +
    3612  ucp_datatype_t datatype,
    + +
    3614  size_t *length, unsigned flags);
    +
    3615 
    +
    3616 
    +
    3652 ucs_status_ptr_t ucp_stream_recv_nbx(ucp_ep_h ep, void *buffer, size_t count,
    +
    3653  size_t *length,
    +
    3654  const ucp_request_param_t *param);
    +
    3655 
    +
    3656 
    + +
    3690 
    +
    3691 
    +
    3730 ucs_status_ptr_t ucp_tag_recv_nb(ucp_worker_h worker, void *buffer, size_t count,
    +
    3731  ucp_datatype_t datatype, ucp_tag_t tag,
    +
    3732  ucp_tag_t tag_mask, ucp_tag_recv_callback_t cb);
    +
    3733 
    +
    3734 
    +
    3764 ucs_status_t ucp_tag_recv_nbr(ucp_worker_h worker, void *buffer, size_t count,
    +
    3765  ucp_datatype_t datatype, ucp_tag_t tag,
    +
    3766  ucp_tag_t tag_mask, void *req);
    +
    3767 
    +
    3768 
    +
    3806 ucs_status_ptr_t ucp_tag_recv_nbx(ucp_worker_h worker, void *buffer, size_t count,
    +
    3807  ucp_tag_t tag, ucp_tag_t tag_mask,
    +
    3808  const ucp_request_param_t *param);
    +
    3809 
    +
    3810 
    + +
    3852  ucp_tag_t tag_mask, int remove,
    +
    3853  ucp_tag_recv_info_t *info);
    +
    3854 
    +
    3855 
    + +
    3890  size_t count, ucp_datatype_t datatype,
    +
    3891  ucp_tag_message_h message,
    + +
    3893 
    +
    3894 
    + +
    3926  size_t count, ucp_tag_message_h message,
    +
    3927  const ucp_request_param_t *param);
    +
    3928 
    +
    3955 ucs_status_t ucp_put_nbi(ucp_ep_h ep, const void *buffer, size_t length,
    +
    3956  uint64_t remote_addr, ucp_rkey_h rkey);
    +
    3957 
    +
    4001 ucs_status_ptr_t ucp_put_nb(ucp_ep_h ep, const void *buffer, size_t length,
    +
    4002  uint64_t remote_addr, ucp_rkey_h rkey,
    +
    4003  ucp_send_callback_t cb);
    +
    4004 
    +
    4005 
    +
    4056 ucs_status_ptr_t ucp_put_nbx(ucp_ep_h ep, const void *buffer, size_t count,
    +
    4057  uint64_t remote_addr, ucp_rkey_h rkey,
    +
    4058  const ucp_request_param_t *param);
    +
    4059 
    +
    4060 
    +
    4086 ucs_status_t ucp_get_nbi(ucp_ep_h ep, void *buffer, size_t length,
    +
    4087  uint64_t remote_addr, ucp_rkey_h rkey);
    +
    4088 
    +
    4131 ucs_status_ptr_t ucp_get_nb(ucp_ep_h ep, void *buffer, size_t length,
    +
    4132  uint64_t remote_addr, ucp_rkey_h rkey,
    +
    4133  ucp_send_callback_t cb);
    +
    4134 
    +
    4135 
    +
    4182 ucs_status_ptr_t ucp_get_nbx(ucp_ep_h ep, void *buffer, size_t count,
    +
    4183  uint64_t remote_addr, ucp_rkey_h rkey,
    +
    4184  const ucp_request_param_t *param);
    +
    4185 
    +
    4186 
    +
    4208 ucs_status_t ucp_atomic_post(ucp_ep_h ep, ucp_atomic_post_op_t opcode, uint64_t value,
    +
    4209  size_t op_size, uint64_t remote_addr, ucp_rkey_h rkey);
    +
    4210 
    +
    4211 
    + + +
    4260  uint64_t value, void *result, size_t op_size,
    +
    4261  uint64_t remote_addr, ucp_rkey_h rkey,
    +
    4262  ucp_send_callback_t cb);
    +
    4263 
    +
    4264 
    + +
    4332 ucp_atomic_op_nbx(ucp_ep_h ep, ucp_atomic_op_t opcode, const void *buffer,
    +
    4333  size_t count, uint64_t remote_addr, ucp_rkey_h rkey,
    +
    4334  const ucp_request_param_t *param);
    +
    4335 
    +
    4336 
    +
    4349 ucs_status_t ucp_request_check_status(void *request);
    +
    4350 
    +
    4351 
    + +
    4369 
    +
    4370 
    +
    4388 ucs_status_t ucp_stream_recv_request_test(void *request, size_t *length_p);
    +
    4389 
    +
    4409 void ucp_request_cancel(ucp_worker_h worker, void *request);
    +
    4410 
    +
    4411 
    +
    4424 void ucp_stream_data_release(ucp_ep_h ep, void *data);
    +
    4425 
    +
    4426 
    +
    4438 void ucp_request_free(void *request);
    +
    4439 
    +
    4440 
    +
    4454 void *ucp_request_alloc(ucp_worker_h worker);
    +
    4455 
    +
    4456 
    +
    4479 ucs_status_t ucp_dt_create_generic(const ucp_generic_dt_ops_t *ops, void *context,
    +
    4480  ucp_datatype_t *datatype_p);
    +
    4481 
    +
    4482 
    +
    4498 void ucp_dt_destroy(ucp_datatype_t datatype);
    +
    4499 
    +
    4500 
    + +
    4524 
    +
    4525 
    +
    4555 ucs_status_ptr_t ucp_worker_flush_nb(ucp_worker_h worker, unsigned flags,
    +
    4556  ucp_send_callback_t cb);
    +
    4557 
    +
    4558 
    + +
    4585  const ucp_request_param_t *param);
    +
    4586 
    +
    4587 
    + +
    4596  UCP_EP_ATTR_FIELD_NAME = UCS_BIT(0),
    + + +
    4599 };
    +
    4600 
    +
    4601 
    +
    4609 typedef struct ucp_ep_attr {
    +
    4616  uint64_t field_mask;
    +
    4617 
    + +
    4623 
    +
    4630  struct sockaddr_storage local_sockaddr;
    +
    4631 
    +
    4638  struct sockaddr_storage remote_sockaddr;
    +
    4639 } ucp_ep_attr_t;
    +
    4640 
    +
    4641 
    + +
    4654 
    +
    4655 
    +
    4664 END_C_DECLS
    +
    4665 
    +
    4666 #endif
    +
    +
    +
    ucs_status_t ucp_lib_query(ucp_lib_attr_t *attr)
    Get attributes of the UCP library.
    +
    ucp_atomic_op_t
    Atomic operation requested for ucp_atomic_op_nbx.
    Definition: ucp.h:656
    +
    uint64_t field_mask
    Definition: ucp.h:1744
    +
    void ucp_context_print_info(const ucp_context_h context, FILE *stream)
    Print context information.
    +
    @ UCP_AM_SEND_FLAG_RNDV
    Definition: ucp.h:591
    +
    ucp_feature
    UCP configuration features.
    Definition: ucp.h:140
    +
    ucp_worker_flags_t
    UCP worker flags.
    Definition: ucp.h:186
    +
    ucp_lib_attr_field
    UCP library attributes field mask.
    Definition: ucp.h:419
    +
    size_t(* pack)(void *state, size_t offset, void *dest, size_t max_length)
    Pack data.
    Definition: ucp.h:926
    +
    @ UCP_EP_ATTR_FIELD_LOCAL_SOCKADDR
    Definition: ucp.h:4597
    +
    enum ucp_mem_advice ucp_mem_advice_t
    list of UCP memory use advice.
    +
    @ UCP_MEM_MAP_PARAM_FIELD_LENGTH
    Definition: ucp.h:389
    +
    @ UCP_MEM_MAP_FIXED
    Definition: ucp.h:533
    +
    Tuning parameters for the UCP memory advice.
    Definition: ucp.h:2886
    +
    Attributes of a particular request.
    Definition: ucp.h:1738
    +
    struct ucp_mem * ucp_mem_h
    UCP Memory handle.
    Definition: ucp_def.h:167
    +
    @ UCP_AM_HANDLER_PARAM_FIELD_CB
    Definition: ucp.h:789
    +
    @ UCP_ATOMIC_OP_SWAP
    Definition: ucp.h:658
    +
    ucs_status_t(* ucp_am_callback_t)(void *arg, void *data, size_t length, ucp_ep_h reply_ep, unsigned flags)
    Callback to process incoming Active Message.
    Definition: ucp_def.h:613
    +
    void * user_data
    Definition: ucp.h:1262
    +
    uint64_t field_mask
    Definition: ucp.h:1424
    +
    size_t address_length
    Definition: ucp.h:1190
    +
    uint64_t field_mask
    Definition: ucp.h:1121
    +
    @ UCP_ATTR_FIELD_THREAD_MODE
    Definition: ucp.h:434
    +
    @ UCP_EP_PARAM_FIELD_SOCK_ADDR
    Definition: ucp.h:248
    +
    int mt_workers_shared
    Definition: ucp.h:1046
    +
    ucs_status_t ucp_tag_send_nbr(ucp_ep_h ep, const void *buffer, size_t count, ucp_datatype_t datatype, ucp_tag_t tag, void *req)
    Non-blocking tagged-send operations with user provided request.
    +
    ucs_status_ptr_t ucp_get_nb(ucp_ep_h ep, void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey, ucp_send_callback_t cb)
    Non-blocking remote memory get operation.
    +
    @ UCP_EP_PARAM_FIELD_REMOTE_ADDRESS
    Definition: ucp.h:241
    +
    size_t length
    Definition: ucp.h:2902
    +
    ucp_cb_param_flags
    Descriptor flags for Active Message callback.
    Definition: ucp.h:608
    +
    @ UCP_ATOMIC_FETCH_OP_SWAP
    Definition: ucp.h:640
    +
    void * arg
    Definition: ucp.h:1805
    +
    void * request
    Definition: ucp.h:1667
    +
    ucs_status_t ucp_context_query(ucp_context_h context_p, ucp_context_attr_t *attr)
    Get attributes specific to a particular context.
    +
    struct sockaddr_storage sockaddr
    Definition: ucp.h:1406
    +
    @ UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK
    Definition: ucp.h:187
    +
    ucs_status_t ucp_tag_recv_request_test(void *request, ucp_tag_recv_info_t *info)
    Check the status and currently available state of non-blocking request returned from ucp_tag_recv_nb ...
    +
    void(* ucp_am_recv_data_nbx_callback_t)(void *request, ucs_status_t status, size_t length, void *user_data)
    Completion callback for non-blocking Active Message receives.
    Definition: ucp_def.h:540
    +
    void(* ucp_request_cleanup_callback_t)(void *request)
    Request cleanup callback.
    Definition: ucp_def.h:301
    +
    uint64_t field_mask
    Definition: ucp.h:1454
    +
    @ UCP_AM_SEND_REPLY
    Definition: ucp.h:594
    +
    struct ucp_dt_iov ucp_dt_iov_t
    Structure for scatter-gather I/O.
    +
    ucs_status_ptr_t ucp_get_nbx(ucp_ep_h ep, void *buffer, size_t count, uint64_t remote_addr, ucp_rkey_h rkey, const ucp_request_param_t *param)
    Non-blocking remote memory get operation.
    +
    UCP worker address attributes.
    Definition: ucp.h:1322
    +
    ucp_ep_params_field
    UCP endpoint parameters field mask.
    Definition: ucp.h:240
    +
    @ UCP_AM_SEND_FLAG_EAGER
    Definition: ucp.h:589
    +
    @ UCP_ATTR_FIELD_REQUEST_SIZE
    Definition: ucp.h:433
    +
    void ucp_worker_wait_mem(ucp_worker_h worker, void *address)
    Wait for memory update on the address.
    +
    void ucp_get_version(unsigned *major_version, unsigned *minor_version, unsigned *release_number)
    Get UCP library version.
    +
    ucp_am_recv_callback_t cb
    Definition: ucp.h:1799
    +
    ucs_memory_type_t memory_type
    Definition: ucp.h:1705
    +
    ucp_am_recv_attr_t
    UCP AM receive data parameter fields and flags.
    Definition: ucp.h:747
    +
    @ UCP_EP_PARAM_FIELD_CONN_REQUEST
    Definition: ucp.h:251
    +
    @ UCP_WORKER_ATTR_FIELD_MAX_INFO_STRING
    Definition: ucp.h:454
    +
    @ UCP_MEM_MAP_PARAM_FIELD_MEMORY_TYPE
    Definition: ucp.h:395
    +
    Definition: types.h:137
    +
    @ UCP_FEATURE_TAG
    Definition: ucp.h:141
    +
    @ UCP_EP_ATTR_FIELD_REMOTE_SOCKADDR
    Definition: ucp.h:4598
    +
    char name[UCP_ENTITY_NAME_MAX]
    Definition: ucp.h:1200
    +
    Tuning parameters for UCP library.
    Definition: ucp.h:976
    +
    ucs_status_ptr_t ucp_stream_send_nb(ucp_ep_h ep, const void *buffer, size_t count, ucp_datatype_t datatype, ucp_send_callback_t cb, unsigned flags)
    Non-blocking stream send operation.
    +
    @ UCP_MEM_MAP_PARAM_FIELD_PROT
    Definition: ucp.h:394
    +
    unsigned id
    Definition: ucp.h:1788
    +
    ucs_status_t ucp_ep_create(ucp_worker_h worker, const ucp_ep_params_t *params, ucp_ep_h *ep_p)
    Create and connect an endpoint.
    +
    uint64_t recv_attr
    Definition: ucp.h:1819
    +
    uint32_t flags
    Definition: ucp.h:1793
    +
    @ UCP_DATATYPE_GENERIC
    Definition: ucp.h:507
    +
    @ UCP_FEATURE_RMA
    Definition: ucp.h:143
    +
    @ UCP_ATTR_FIELD_NAME
    Definition: ucp.h:436
    +
    void(* ucp_stream_recv_nbx_callback_t)(void *request, ucs_status_t status, size_t length, void *user_data)
    Completion callback for non-blocking stream receives ucp_stream_recv_nbx call.
    Definition: ucp_def.h:470
    +
    size_t am_alignment
    Definition: ucp.h:1304
    +
    @ UCP_EP_CLOSE_MODE_FORCE
    Definition: ucp.h:331
    +
    ucs_status_t ucp_worker_get_address(ucp_worker_h worker, ucp_address_t **address_p, size_t *address_length_p)
    Get the address of the worker object.
    +
    @ UCP_OP_ATTR_FLAG_MULTI_SEND
    Definition: ucp.h:717
    +
    uint64_t features
    Definition: ucp.h:990
    +
    @ UCP_OP_ATTR_FIELD_MEMH
    Definition: ucp.h:700
    +
    struct ucp_conn_request_attr ucp_conn_request_attr_t
    UCP listener's connection request attributes.
    +
    @ UCP_MEM_MAP_ALLOCATE
    Definition: ucp.h:529
    +
    unsigned prot
    Definition: ucp.h:1571
    +
    @ UCP_REQUEST_ATTR_FIELD_INFO_STRING_SIZE
    Definition: ucp.h:733
    +
    @ UCP_OP_ATTR_FLAG_FORCE_IMM_CMPL
    Definition: ucp.h:713
    +
    @ UCP_OP_ATTR_FIELD_REPLY_BUFFER
    Definition: ucp.h:697
    +
    ucs_cpu_set_t cpu_mask
    Definition: ucp.h:1245
    +
    struct ucp_config ucp_config_t
    UCP configuration descriptor.
    Definition: ucp_def.h:77
    +
    ucs_status_ptr_t ucp_am_recv_data_nbx(ucp_worker_h worker, void *data_desc, void *buffer, size_t count, const ucp_request_param_t *param)
    Receive Active Message as defined by provided data descriptor.
    +
    @ UCP_AM_HANDLER_PARAM_FIELD_FLAGS
    Definition: ucp.h:785
    +
    @ UCP_LISTENER_PARAM_FIELD_SOCK_ADDR
    Definition: ucp.h:203
    +
    void ucp_listener_destroy(ucp_listener_h listener)
    Stop accepting connections on a local address of the worker object.
    +
    ucp_worker_address_attr_field
    UCP worker address attributes field mask.
    Definition: ucp.h:467
    +
    uint64_t worker_uid
    Definition: ucp.h:1334
    +
    @ UCP_DATATYPE_CLASS_MASK
    Definition: ucp.h:511
    +
    ucs_sock_addr_t sockaddr
    Definition: ucp.h:1463
    +
    ucs_status_t ucp_atomic_post(ucp_ep_h ep, ucp_atomic_post_op_t opcode, uint64_t value, size_t op_size, uint64_t remote_addr, ucp_rkey_h rkey)
    Post an atomic memory operation.
    +
    ucs_thread_mode_t
    Thread sharing mode.
    Definition: thread_mode.h:19
    +
    @ UCP_WORKER_ADDRESS_FLAG_NET_ONLY
    Definition: ucp.h:229
    +
    @ UCP_AM_RECV_ATTR_FLAG_DATA
    Definition: ucp.h:757
    +
    ucp_atomic_fetch_op_t
    Atomic operation requested for ucp_atomic_fetch.
    Definition: ucp.h:638
    +
    struct ucp_listener * ucp_listener_h
    UCP listen handle.
    Definition: ucp_def.h:177
    +
    ucs_status_ptr_t ucp_tag_send_sync_nb(ucp_ep_h ep, const void *buffer, size_t count, ucp_datatype_t datatype, ucp_tag_t tag, ucp_send_callback_t cb)
    Non-blocking synchronous tagged-send operation.
    +
    struct ucp_address ucp_address_t
    UCP worker address.
    Definition: ucp_def.h:112
    +
    @ UCP_PARAM_FIELD_FEATURES
    Definition: ucp.h:120
    +
    void ucp_worker_release_address(ucp_worker_h worker, ucp_address_t *address)
    Release an address of the worker object.
    +
    ucp_tag_t sender_tag
    Definition: ucp.h:1604
    +
    ssize_t ucp_stream_worker_poll(ucp_worker_h worker, ucp_stream_poll_ep_t *poll_eps, size_t max_eps, unsigned flags)
    Poll for endpoints that are ready to consume streaming data.
    +
    size_t debug_string_size
    Definition: ucp.h:1758
    +
    ucs_status_ptr_t ucp_tag_msg_recv_nb(ucp_worker_h worker, void *buffer, size_t count, ucp_datatype_t datatype, ucp_tag_message_h message, ucp_tag_recv_callback_t cb)
    Non-blocking receive operation for a probed message.
    +
    @ UCP_PARAM_FIELD_TAG_SENDER_MASK
    Definition: ucp.h:124
    +
    @ UCP_REQUEST_ATTR_FIELD_MEM_TYPE
    Definition: ucp.h:735
    +
    UCP generic data type descriptor.
    Definition: ucp.h:861
    +
    ucs_status_ptr_t ucp_put_nb(ucp_ep_h ep, const void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey, ucp_send_callback_t cb)
    Non-blocking remote memory put operation.
    +
    struct ucp_rkey * ucp_rkey_h
    UCP Remote memory handle.
    Definition: ucp_def.h:152
    +
    @ UCP_OP_ATTR_FIELD_USER_DATA
    Definition: ucp.h:694
    +
    ucs_status_t ucp_worker_wait(ucp_worker_h worker)
    Wait for an event of the worker.
    +
    Active Message handler parameters passed to ucp_worker_set_am_recv_handler routine.
    Definition: ucp.h:1777
    +
    @ UCP_WORKER_PARAM_FIELD_THREAD_MODE
    Definition: ucp.h:165
    +
    ucp_tag_message_h ucp_tag_probe_nb(ucp_worker_h worker, ucp_tag_t tag, ucp_tag_t tag_mask, int remove, ucp_tag_recv_info_t *info)
    Non-blocking probe and return a message.
    +
    struct ucp_recv_desc * ucp_tag_message_h
    UCP Message descriptor.
    Definition: ucp_def.h:268
    +
    void(* ucp_request_init_callback_t)(void *request)
    Request initialization callback.
    Definition: ucp_def.h:289
    +
    Parameters for a UCP listener object.
    Definition: ucp.h:1447
    +
    @ UCP_REQUEST_ATTR_FIELD_STATUS
    Definition: ucp.h:734
    +
    @ UCP_MEM_ADVISE_PARAM_FIELD_ADVICE
    Definition: ucp.h:408
    +
    @ UCP_AM_SEND_FLAG_REPLY
    Definition: ucp.h:585
    +
    @ UCP_OP_ATTR_FIELD_CALLBACK
    Definition: ucp.h:693
    +
    ucs_status_t ucp_worker_arm(ucp_worker_h worker)
    Turn on event notification for the next event.
    +
    @ UCP_PARAM_FIELD_NAME
    Definition: ucp.h:128
    +
    @ UCP_AM_FLAG_WHOLE_MSG
    Definition: ucp.h:565
    +
    ucs_status_ptr_t ucp_atomic_op_nbx(ucp_ep_h ep, ucp_atomic_op_t opcode, const void *buffer, size_t count, uint64_t remote_addr, ucp_rkey_h rkey, const ucp_request_param_t *param)
    Post an atomic memory operation.
    +
    ucs_memory_type_t mem_type
    Definition: ucp.h:1768
    +
    ucp_worker_params_field
    UCP worker parameters field mask.
    Definition: ucp.h:164
    +
    @ UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ADDR
    Definition: ucp.h:492
    +
    @ UCP_MADV_WILLNEED
    Definition: ucp.h:2871
    +
    void ucp_rkey_buffer_release(void *rkey_buffer)
    Release packed remote key buffer.
    +
    void(* ucp_send_nbx_callback_t)(void *request, ucs_status_t status, void *user_data)
    Completion callback for non-blocking sends.
    Definition: ucp_def.h:340
    +
    @ UCP_ATOMIC_POST_OP_XOR
    Definition: ucp.h:625
    +
    ucs_status_ptr_t ucp_ep_close_nb(ucp_ep_h ep, unsigned mode)
    Non-blocking endpoint closure.
    +
    ucp_request_cleanup_callback_t request_cleanup
    Definition: ucp.h:1023
    +
    @ UCP_WORKER_PARAM_FIELD_USER_DATA
    Definition: ucp.h:168
    +
    uint64_t field_mask
    Definition: ucp.h:2892
    +
    ucs_status_ptr_t ucp_ep_close_nbx(ucp_ep_h ep, const ucp_request_param_t *param)
    Non-blocking endpoint closure.
    +
    enum ucp_ep_perf_param_field ucp_ep_perf_param_field_t
    UCP performance fields and flags.
    +
    struct sockaddr_storage local_sockaddr
    Definition: ucp.h:4630
    +
    struct ucp_worker_address_attr ucp_worker_address_attr_t
    UCP worker address attributes.
    +
    ucs_thread_mode_t thread_mode
    Definition: ucp.h:1168
    +
    @ UCP_LISTENER_PARAM_FIELD_ACCEPT_HANDLER
    Definition: ucp.h:208
    +
    void ucp_worker_destroy(ucp_worker_h worker)
    Destroy a worker object.
    +
    @ UCP_EP_PARAMS_FLAGS_SEND_CLIENT_ID
    Definition: ucp.h:282
    +
    uint64_t tag_sender_mask
    Definition: ucp.h:1030
    +
    uint64_t field_mask
    Definition: ucp.h:1376
    +
    @ UCP_WORKER_PARAM_FIELD_CPU_MASK
    Definition: ucp.h:166
    +
    ucp_ep_perf_attr_field
    UCP performance fields and flags.
    Definition: ucp.h:372
    +
    void ucp_request_cancel(ucp_worker_h worker, void *request)
    Cancel an outstanding communications request.
    +
    void * ucp_request_alloc(ucp_worker_h worker)
    Create an empty communications request.
    +
    ucs_status_ptr_t ucp_stream_recv_nb(ucp_ep_h ep, void *buffer, size_t count, ucp_datatype_t datatype, ucp_stream_recv_callback_t cb, size_t *length, unsigned flags)
    Non-blocking stream receive operation of structured data into a user-supplied buffer.
    +
    ucp_mem_map_params_field
    UCP memory mapping parameters field mask.
    Definition: ucp.h:385
    +
    ucp_context_attr_field
    UCP context attributes field mask.
    Definition: ucp.h:432
    +
    ucs_status_ptr_t ucp_ep_flush_nb(ucp_ep_h ep, unsigned flags, ucp_send_callback_t cb)
    Non-blocking flush of outstanding AMO and RMA operations on the endpoint.
    +
    struct ucp_generic_dt_ops ucp_generic_dt_ops_t
    UCP generic data type descriptor.
    +
    ucs_status_t(* unpack)(void *state, size_t offset, const void *src, size_t length)
    Unpack data.
    Definition: ucp.h:943
    +
    ucp_req_attr_field
    UCP request query attributes.
    Definition: ucp.h:731
    +
    void * user_data
    Definition: ucp.h:1504
    +
    void(* ucp_tag_recv_nbx_callback_t)(void *request, ucs_status_t status, const ucp_tag_recv_info_t *tag_info, void *user_data)
    Completion callback for non-blocking tag receives ucp_tag_recv_nbx call.
    Definition: ucp_def.h:518
    +
    double estimated_time
    Definition: ucp.h:1383
    +
    Structure for scatter-gather I/O.
    Definition: ucp.h:842
    +
    char name[UCP_ENTITY_NAME_MAX]
    Definition: ucp.h:4622
    +
    @ UCP_MEM_ADVISE_PARAM_FIELD_ADDRESS
    Definition: ucp.h:406
    +
    int event_fd
    Definition: ucp.h:1279
    +
    @ UCP_DATATYPE_IOV
    Definition: ucp.h:506
    +
    ucs_status_ptr_t ucp_worker_flush_nb(ucp_worker_h worker, unsigned flags, ucp_send_callback_t cb)
    Flush outstanding AMO and RMA operations on the worker.
    +
    @ UCP_MEM_MAP_PARAM_FIELD_FLAGS
    Definition: ucp.h:393
    +
    size_t length
    Definition: ucp.h:1606
    +
    void * ucs_status_ptr_t
    Status pointer.
    Definition: status.h:106
    +
    @ UCP_WORKER_ATTR_FIELD_MAX_AM_HEADER
    Definition: ucp.h:451
    +
    ucp_ep_close_flags_t
    Close UCP endpoint modes.
    Definition: ucp.h:299
    +
    Operation parameters passed to ucp_tag_send_nbx, ucp_tag_send_sync_nbx, ucp_tag_recv_nbx,...
    Definition: ucp.h:1650
    +
    UCP receive information descriptor.
    Definition: ucp.h:1602
    +
    const char * ucp_get_version_string(void)
    Get UCP library version as a string.
    +
    @ UCP_MEM_MAP_PROT_LOCAL_WRITE
    Definition: ucp.h:549
    +
    Context attributes.
    Definition: ucp.h:1114
    +
    ucs_status_t ucp_ep_rkey_unpack(ucp_ep_h ep, const void *rkey_buffer, ucp_rkey_h *rkey_p)
    Create remote access key from packed buffer.
    +
    ucs_status_t(* ucp_am_recv_callback_t)(void *arg, const void *header, size_t header_length, void *data, size_t length, const ucp_am_recv_param_t *param)
    Callback to process incoming Active Message sent by ucp_am_send_nbx routine.
    Definition: ucp_def.h:670
    +
    @ UCP_ATOMIC_FETCH_OP_CSWAP
    Definition: ucp.h:641
    +
    ucp_datatype_t datatype
    Definition: ucp.h:1685
    +
    @ UCP_ATOMIC_FETCH_OP_FXOR
    Definition: ucp.h:644
    +
    @ UCP_WORKER_ADDRESS_ATTR_FIELD_UID
    Definition: ucp.h:468
    +
    void(* ucp_tag_recv_callback_t)(void *request, ucs_status_t status, ucp_tag_recv_info_t *info)
    Completion callback for non-blocking tag receives.
    Definition: ucp_def.h:493
    +
    Tuning parameters for the UCP memory mapping.
    Definition: ucp.h:1525
    +
    @ UCP_EP_PARAM_FIELD_ERR_HANDLING_MODE
    Definition: ucp.h:243
    +
    ucs_status_t ucp_get_nbi(ucp_ep_h ep, void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey)
    Non-blocking implicit remote memory get operation.
    +
    uint32_t flags
    Definition: ucp.h:1659
    +
    void(* ucp_stream_recv_callback_t)(void *request, ucs_status_t status, size_t length)
    Completion callback for non-blocking stream oriented receives.
    Definition: ucp_def.h:448
    +
    ucs_status_ptr_t ucp_tag_send_nbx(ucp_ep_h ep, const void *buffer, size_t count, ucp_tag_t tag, const ucp_request_param_t *param)
    Non-blocking tagged-send operation.
    +
    struct ucp_listener_attr ucp_listener_attr_t
    UCP listener attributes.
    +
    @ UCP_DATATYPE_CONTIG
    Definition: ucp.h:504
    +
    ucp_listener_attr_field
    UCP listener attributes field mask.
    Definition: ucp.h:479
    +
    struct ucp_worker_attr ucp_worker_attr_t
    UCP worker attributes.
    +
    Definition: ucp_compat.h:23
    +
    void ucp_ep_print_info(ucp_ep_h ep, FILE *stream)
    Print endpoint information.
    +
    uint64_t field_mask
    Definition: ucp.h:1352
    +
    size_t max_debug_string
    Definition: ucp.h:1205
    +
    UCP endpoint performance evaluation result attributes.
    Definition: ucp.h:1369
    +
    static ucs_status_t ucp_init(const ucp_params_t *params, const ucp_config_t *config, ucp_context_h *context_p)
    UCP context initialization.
    Definition: ucp.h:1993
    +
    ucs_status_t ucp_tag_recv_nbr(ucp_worker_h worker, void *buffer, size_t count, ucp_datatype_t datatype, ucp_tag_t tag, ucp_tag_t tag_mask, void *req)
    Non-blocking tagged-receive operation.
    +
    ucs_status_ptr_t ucp_atomic_fetch_nb(ucp_ep_h ep, ucp_atomic_fetch_op_t opcode, uint64_t value, void *result, size_t op_size, uint64_t remote_addr, ucp_rkey_h rkey, ucp_send_callback_t cb)
    Post an atomic fetch operation.
    +
    @ UCP_WORKER_PARAM_FIELD_FLAGS
    Definition: ucp.h:171
    +
    ucs_status_t ucp_config_read(const char *env_prefix, const char *filename, ucp_config_t **config_p)
    Read UCP configuration descriptor.
    +
    size_t request_size
    Definition: ucp.h:1000
    +
    @ UCP_ATTR_FIELD_MEMORY_TYPES
    Definition: ucp.h:435
    +
    @ UCP_ATOMIC_POST_OP_OR
    Definition: ucp.h:624
    +
    uint64_t field_mask
    Definition: ucp.h:4616
    +
    ucp_send_am_flags
    Flags for sending a UCP Active Message.
    Definition: ucp.h:584
    +
    struct ucp_context * ucp_context_h
    UCP Application Context.
    Definition: ucp_def.h:60
    +
    @ UCP_ATOMIC_POST_OP_LAST
    Definition: ucp.h:626
    +
    ucs_status_t ucp_worker_query(ucp_worker_h worker, ucp_worker_attr_t *attr)
    Get attributes specific to a particular worker.
    +
    @ UCP_ATOMIC_OP_CSWAP
    Definition: ucp.h:659
    +
    @ UCP_EP_PARAM_FIELD_LOCAL_SOCK_ADDR
    Definition: ucp.h:253
    +
    const char * name
    Definition: ucp.h:1297
    +
    Tuning parameters for the UCP endpoint.
    Definition: ucp_def.h:683
    +
    @ UCP_ATOMIC_FETCH_OP_FADD
    Definition: ucp.h:639
    +
    @ UCP_MEM_ADVISE_PARAM_FIELD_LENGTH
    Definition: ucp.h:407
    +
    ucs_status_t ucp_worker_fence(ucp_worker_h worker)
    Assures ordering between non-blocking operations.
    +
    void * reply_buffer
    Definition: ucp.h:1696
    +
    @ UCP_EP_PARAM_FIELD_ERR_HANDLER
    Definition: ucp.h:245
    +
    @ UCP_AM_RECV_ATTR_FLAG_RNDV
    Definition: ucp.h:766
    +
    ucs_status_t ucp_listener_reject(ucp_listener_h listener, ucp_conn_request_h conn_request)
    Reject an incoming connection request.
    +
    ucs_status_t ucp_mem_query(const ucp_mem_h memh, ucp_mem_attr_t *attr)
    query mapped memory segment
    +
    size_t(* packed_size)(void *state)
    Get the total size of packed data.
    Definition: ucp.h:908
    +
    ucp_ep_attr_field
    UCP endpoint attributes field mask.
    Definition: ucp.h:4595
    +
    size_t length
    Definition: ucp.h:844
    +
    @ UCP_FEATURE_AMO64
    Definition: ucp.h:147
    +
    ucs_memory_type_t memory_type
    Definition: ucp.h:1589
    +
    ucp_stream_recv_flags_t
    Flags to define behavior of ucp_stream_recv_nb function.
    Definition: ucp.h:673
    +
    uint64_t field_mask
    Definition: ucp.h:1094
    +
    ucs_status_t ucp_mem_map(ucp_context_h context, const ucp_mem_map_params_t *params, ucp_mem_h *memh_p)
    Map or allocate memory for zero-copy operations.
    +
    struct ucp_worker_params ucp_worker_params_t
    Tuning parameters for the UCP worker.
    +
    UCP worker attributes.
    Definition: ucp.h:1156
    +
    @ UCP_EP_PARAM_FIELD_NAME
    Definition: ucp.h:252
    +
    @ UCP_AM_HANDLER_PARAM_FIELD_ID
    Definition: ucp.h:781
    +
    ucs_status_t status
    Definition: ucp.h:1763
    +
    UCP listener attributes.
    Definition: ucp.h:1393
    +
    void ucp_config_print(const ucp_config_t *config, FILE *stream, const char *title, ucs_config_print_flags_t print_flags)
    Print configuration information.
    +
    ucs_status_t ucp_stream_recv_request_test(void *request, size_t *length_p)
    Check the status and currently available state of non-blocking request returned from ucp_stream_recv_...
    +
    ucp_am_handler_param_field
    UCP AM receive data parameters fields and flags.
    Definition: ucp.h:777
    +
    @ UCP_WORKER_PARAM_FIELD_NAME
    Definition: ucp.h:172
    +
    ucp_mem_advise_params_field
    UCP memory advice parameters field mask.
    Definition: ucp.h:405
    +
    @ UCP_WORKER_ATTR_FIELD_NAME
    Definition: ucp.h:453
    +
    @ UCP_EP_PERF_PARAM_FIELD_MESSAGE_SIZE
    Definition: ucp.h:360
    +
    ucs_status_ptr_t ucp_tag_msg_recv_nbx(ucp_worker_h worker, void *buffer, size_t count, ucp_tag_message_h message, const ucp_request_param_t *param)
    Non-blocking receive operation for a probed message.
    +
    struct ucp_worker * ucp_worker_h
    UCP Worker.
    Definition: ucp_def.h:246
    +
    uint64_t client_id
    Definition: ucp.h:1312
    +
    unsigned flags
    Definition: ucp.h:1562
    +
    @ UCP_ATOMIC_FETCH_OP_FAND
    Definition: ucp.h:642
    +
    @ UCP_ATOMIC_OP_LAST
    Definition: ucp.h:663
    +
    uint64_t field_mask
    Definition: ucp.h:1163
    +
    void * address
    Definition: ucp.h:2897
    +
    struct ucp_ep_attr ucp_ep_attr_t
    UCP endpoint attributes.
    +
    ucs_status_ptr_t ucp_am_send_nbx(ucp_ep_h ep, unsigned id, const void *header, size_t header_length, const void *buffer, size_t count, const ucp_request_param_t *param)
    Send Active Message.
    +
    ucs_thread_mode_t thread_mode
    Definition: ucp.h:1134
    +
    ucs_thread_mode_t thread_mode
    Definition: ucp.h:1236
    +
    void(* ucp_send_callback_t)(void *request, ucs_status_t status)
    Completion callback for non-blocking sends.
    Definition: ucp_def.h:319
    +
    ucp_ep_perf_param_field
    UCP performance fields and flags.
    Definition: ucp.h:358
    +
    ucs_status_ptr_t ucp_tag_recv_nb(ucp_worker_h worker, void *buffer, size_t count, ucp_datatype_t datatype, ucp_tag_t tag, ucp_tag_t tag_mask, ucp_tag_recv_callback_t cb)
    Non-blocking tagged-receive operation.
    +
    @ UCP_OP_ATTR_FIELD_REQUEST
    Definition: ucp.h:692
    +
    @ UCP_EP_PARAMS_FLAGS_NO_LOOPBACK
    Definition: ucp.h:273
    +
    @ UCP_PARAM_FIELD_ESTIMATED_NUM_EPS
    Definition: ucp.h:126
    +
    unsigned ucp_worker_progress(ucp_worker_h worker)
    Progress all communications on a specific worker.
    +
    unsigned flags
    Definition: ucp.h:1509
    +
    ucs_status_t ucp_worker_set_am_handler(ucp_worker_h worker, uint16_t id, ucp_am_callback_t cb, void *arg, uint32_t flags)
    Add user defined callback for Active Message.
    +
    ucs_status_ptr_t ucp_stream_send_nbx(ucp_ep_h ep, const void *buffer, size_t count, const ucp_request_param_t *param)
    Non-blocking stream send operation.
    +
    struct ucp_listener_params ucp_listener_params_t
    Parameters for a UCP listener object.
    +
    void(* finish)(void *state)
    Finish packing/unpacking.
    Definition: ucp.h:959
    +
    ucs_status_t ucp_mem_advise(ucp_context_h context, ucp_mem_h memh, ucp_mem_advise_params_t *params)
    give advice about the use of memory
    +
    ucp_listener_accept_handler_t accept_handler
    Definition: ucp.h:1471
    +
    @ UCP_PARAM_FIELD_MT_WORKERS_SHARED
    Definition: ucp.h:125
    +
    ucp_listener_conn_handler_t conn_handler
    Definition: ucp.h:1484
    +
    ucs_status_ptr_t ucp_tag_send_sync_nbx(ucp_ep_h ep, const void *buffer, size_t count, ucp_tag_t tag, const ucp_request_param_t *param)
    Non-blocking synchronous tagged-send operation.
    +
    @ UCP_OP_ATTR_FIELD_DATATYPE
    Definition: ucp.h:695
    +
    @ UCP_DATATYPE_STRIDED
    Definition: ucp.h:505
    +
    ucp_atomic_post_op_t
    Atomic operation requested for ucp_atomic_post.
    Definition: ucp.h:621
    +
    @ UCP_LISTENER_PARAM_FIELD_CONN_HANDLER
    Definition: ucp.h:212
    +
    ucs_status_t
    Status codes.
    Definition: status.h:45
    +
    UCP endpoint performance evaluation request attributes.
    Definition: ucp.h:1345
    +
    ucs_status_t ucp_worker_address_query(ucp_address_t *address, ucp_worker_address_attr_t *attr)
    Get attributes of the particular worker address.
    +
    uint64_t client_id
    Definition: ucp.h:1436
    +
    @ UCP_ATOMIC_POST_OP_AND
    Definition: ucp.h:623
    +
    @ UCP_FEATURE_STREAM
    Definition: ucp.h:151
    +
    uint32_t op_attr_mask
    Definition: ucp.h:1656
    +
    ucs_status_ptr_t ucp_stream_recv_data_nb(ucp_ep_h ep, size_t *length)
    Non-blocking stream receive operation of unstructured data into a UCP-supplied buffer.
    +
    @ UCP_PARAM_FIELD_REQUEST_SIZE
    Definition: ucp.h:121
    +
    @ UCP_MEM_MAP_PROT_REMOTE_READ
    Definition: ucp.h:550
    +
    const char * name
    Definition: ucp.h:1077
    +
    ucs_status_t ucp_rkey_ptr(ucp_rkey_h rkey, uint64_t raddr, void **addr_p)
    Get a local pointer to remote memory.
    +
    ucs_status_t ucp_dt_create_generic(const ucp_generic_dt_ops_t *ops, void *context, ucp_datatype_t *datatype_p)
    Create a generic datatype.
    +
    @ UCP_MADV_NORMAL
    Definition: ucp.h:2870
    +
    ucp_ep_close_mode
    Close UCP endpoint modes.
    Definition: ucp.h:330
    +
    uint8_t reserved[16]
    Definition: ucp.h:1514
    +
    @ UCP_EP_ATTR_FIELD_NAME
    Definition: ucp.h:4596
    +
    @ UCP_MEM_MAP_NONBLOCK
    Definition: ucp.h:524
    +
    Lib attributes.
    Definition: ucp.h:1087
    +
    uint32_t address_flags
    Definition: ucp.h:1176
    +
    ucs_thread_mode_t max_thread_level
    Definition: ucp.h:1103
    +
    void * address
    Definition: ucp.h:1544
    +
    @ UCP_CB_PARAM_FLAG_DATA
    Definition: ucp.h:609
    +
    @ UCP_AM_FLAG_PERSISTENT_DATA
    Definition: ucp.h:573
    +
    @ UCP_PARAM_FIELD_REQUEST_CLEANUP
    Definition: ucp.h:123
    +
    struct ucp_mem_map_params ucp_mem_map_params_t
    Tuning parameters for the UCP memory mapping.
    +
    ucp_conn_request_attr_field
    UCP listener's connection request attributes field mask.
    Definition: ucp.h:491
    +
    size_t estimated_num_eps
    Definition: ucp.h:1057
    +
    uint64_t field_mask
    Definition: ucp.h:1222
    +
    ucp_worker_attr_field
    UCP worker attributes field mask.
    Definition: ucp.h:447
    +
    @ UCP_STREAM_RECV_FLAG_WAITALL
    Definition: ucp.h:674
    +
    @ UCP_OP_ATTR_FLAG_FAST_CMPL
    Definition: ucp.h:703
    +
    @ UCP_PARAM_FIELD_REQUEST_INIT
    Definition: ucp.h:122
    +
    void * buffer
    Definition: ucp.h:843
    +
    @ UCP_DATATYPE_SHIFT
    Definition: ucp.h:509
    +
    @ UCP_EP_PERF_ATTR_FIELD_ESTIMATED_TIME
    Definition: ucp.h:374
    +
    ucp_dt_type
    UCP data type classification.
    Definition: ucp.h:503
    +
    @ UCP_MEM_MAP_PROT_REMOTE_WRITE
    Definition: ucp.h:551
    +
    struct ucp_conn_request * ucp_conn_request_h
    UCP connection request.
    Definition: ucp_def.h:102
    +
    uint64_t field_mask
    Definition: ucp.h:1329
    +
    ucs_status_ptr_t ucp_ep_flush_nbx(ucp_ep_h ep, const ucp_request_param_t *param)
    Non-blocking flush of outstanding AMO and RMA operations on the endpoint.
    +
    UCP endpoint attributes.
    Definition: ucp.h:4609
    +
    unsigned events
    Definition: ucp.h:1254
    +
    void ucp_mem_print_info(const char *mem_size, ucp_context_h context, FILE *stream)
    Print memory mapping information.
    +
    void ucp_dt_destroy(ucp_datatype_t datatype)
    Destroy a datatype and release its resources.
    +
    size_t length
    Definition: ucp.h:1553
    +
    @ UCP_ATOMIC_OP_AND
    Definition: ucp.h:660
    +
    Operation parameters provided in ucp_am_recv_callback_t callback.
    Definition: ucp.h:1813
    +
    struct ucp_stream_poll_ep ucp_stream_poll_ep_t
    Output parameter of ucp_stream_worker_poll function.
    +
    char name[UCP_ENTITY_NAME_MAX]
    Definition: ucp.h:1145
    +
    @ UCP_MEM_MAP_PROT_LOCAL_READ
    Definition: ucp.h:548
    +
    ucs_status_t ucp_worker_get_efd(ucp_worker_h worker, int *fd)
    Obtain an event file descriptor for event notification.
    +
    uint64_t field_mask
    Definition: ucp.h:1783
    +
    ucp_params_field
    UCP context parameters field mask.
    Definition: ucp.h:119
    +
    struct ucp_ep * ucp_ep_h
    UCP Endpoint.
    Definition: ucp_def.h:92
    +
    @ UCP_OP_ATTR_FIELD_FLAGS
    Definition: ucp.h:696
    +
    ucp_worker_address_flags_t
    UCP worker address flags.
    Definition: ucp.h:224
    +
    enum ucp_ep_perf_attr_field ucp_ep_perf_attr_field_t
    UCP performance fields and flags.
    +
    ucs_status_t ucp_worker_signal(ucp_worker_h worker)
    Cause an event of the worker.
    +
    ucs_status_ptr_t ucp_am_send_nb(ucp_ep_h ep, uint16_t id, const void *buffer, size_t count, ucp_datatype_t datatype, ucp_send_callback_t cb, unsigned flags)
    Send Active Message.
    +
    @ UCP_EP_PARAM_FIELD_FLAGS
    Definition: ucp.h:249
    +
    Output parameter of ucp_stream_worker_poll function.
    Definition: ucp.h:1494
    +
    @ UCP_WORKER_ATTR_FIELD_THREAD_MODE
    Definition: ucp.h:448
    +
    ucs_status_ptr_t ucp_tag_recv_nbx(ucp_worker_h worker, void *buffer, size_t count, ucp_tag_t tag, ucp_tag_t tag_mask, const ucp_request_param_t *param)
    Non-blocking tagged-receive operation.
    +
    void ucp_config_release(ucp_config_t *config)
    Release configuration descriptor.
    +
    @ UCP_EP_CLOSE_MODE_FLUSH
    Definition: ucp.h:344
    +
    @ UCP_WORKER_ATTR_FIELD_ADDRESS
    Definition: ucp.h:449
    +
    void * user_data
    Definition: ucp.h:1690
    +
    ucp_mem_advice
    list of UCP memory use advice.
    Definition: ucp.h:2869
    +
    @ UCP_PARAM_FIELD_ESTIMATED_NUM_PPN
    Definition: ucp.h:127
    +
    @ UCP_REQUEST_ATTR_FIELD_INFO_STRING
    Definition: ucp.h:732
    +
    struct sockaddr_storage remote_sockaddr
    Definition: ucp.h:4638
    +
    ucs_status_ptr_t ucp_stream_recv_nbx(ucp_ep_h ep, void *buffer, size_t count, size_t *length, const ucp_request_param_t *param)
    Non-blocking stream receive operation of structured data into a user-supplied buffer.
    +
    @ UCP_FEATURE_WAKEUP
    Definition: ucp.h:149
    +
    ucs_status_t ucp_request_query(void *request, ucp_request_attr_t *attr)
    Get information about ucp_request.
    +
    uint64_t flags
    Definition: ucp.h:1287
    +
    @ UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS
    Definition: ucp.h:450
    +
    #define UCP_ENTITY_NAME_MAX
    Maximum size of the UCP entity name in structure of entity attributes provided by a query method.
    Definition: ucp_def.h:772
    +
    struct ucp_mem_advise_params ucp_mem_advise_params_t
    Tuning parameters for the UCP memory advice.
    +
    void ucp_am_data_release(ucp_worker_h worker, void *data)
    Releases Active Message data.
    +
    @ UCP_WORKER_PARAM_FIELD_EVENTS
    Definition: ucp.h:167
    +
    ucs_status_t ucp_conn_request_query(ucp_conn_request_h conn_request, ucp_conn_request_attr_t *attr)
    Get attributes specific to a particular connection request received on the server side.
    +
    @ UCP_LIB_ATTR_FIELD_MAX_THREAD_LEVEL
    Definition: ucp.h:421
    +
    @ UCP_AM_RECV_ATTR_FIELD_REPLY_EP
    Definition: ucp.h:748
    +
    @ UCP_ATOMIC_OP_XOR
    Definition: ucp.h:662
    +
    ucp_mem_advice_t advice
    Definition: ucp.h:2907
    +
    Attributes of the UCP Memory handle, filled by ucp_mem_query function.
    Definition: ucp_def.h:185
    +
    uint64_t field_mask
    Definition: ucp.h:1532
    +
    ucp_ep_h reply_ep
    Definition: ucp.h:1824
    +
    ucp_op_attr_t
    UCP operation fields and flags.
    Definition: ucp.h:691
    +
    ucs_status_t ucp_ep_evaluate_perf(ucp_ep_h ep, const ucp_ep_evaluate_perf_param_t *param, ucp_ep_evaluate_perf_attr_t *attr)
    Estimate performance characteristics of a specific endpoint.
    +
    void ucp_stream_data_release(ucp_ep_h ep, void *data)
    Release UCP data buffer returned by ucp_stream_recv_data_nb.
    +
    struct ucp_params ucp_params_t
    Tuning parameters for UCP library.
    +
    @ UCP_FEATURE_AM
    Definition: ucp.h:152
    +
    ucs_status_t ucp_ep_query(ucp_ep_h ep, ucp_ep_attr_t *attr)
    Get attributes of a given endpoint.
    +
    struct ucp_context_attr ucp_context_attr_t
    Context attributes.
    +
    ucs_status_t ucp_put_nbi(ucp_ep_h ep, const void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey)
    Non-blocking implicit remote memory put operation.
    +
    @ UCP_ATOMIC_FETCH_OP_LAST
    Definition: ucp.h:645
    +
    uint64_t memory_types
    Definition: ucp.h:1140
    +
    void ucp_rkey_destroy(ucp_rkey_h rkey)
    Destroy the remote key.
    +
    UCP listener's connection request attributes.
    Definition: ucp.h:1417
    +
    @ UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ID
    Definition: ucp.h:493
    +
    @ UCP_EP_PARAM_FIELD_USER_DATA
    Definition: ucp.h:247
    +
    ucs_status_t ucp_worker_create(ucp_context_h context, const ucp_worker_params_t *params, ucp_worker_h *worker_p)
    Create a worker object.
    +
    ucs_status_t ucp_worker_set_am_recv_handler(ucp_worker_h worker, const ucp_am_handler_param_t *param)
    Add user defined callback for Active Message.
    +
    @ UCP_LISTENER_ATTR_FIELD_SOCKADDR
    Definition: ucp.h:480
    +
    @ UCP_ATOMIC_OP_OR
    Definition: ucp.h:661
    +
    uint64_t ucp_datatype_t
    UCP Datatype Identifier.
    Definition: ucp_def.h:278
    +
    ucs_status_t ucp_listener_query(ucp_listener_h listener, ucp_listener_attr_t *attr)
    Get attributes specific to a particular listener.
    +
    void ucp_worker_print_info(ucp_worker_h worker, FILE *stream)
    Print information about the worker.
    +
    ucs_status_t ucp_listener_create(ucp_worker_h worker, const ucp_listener_params_t *params, ucp_listener_h *listener_p)
    Create a listener to accept connections on. Connection requests on the listener will arrive at a loca...
    +
    ucs_status_t ucp_request_check_status(void *request)
    Check the status of non-blocking request.
    +
    @ UCP_ATOMIC_POST_OP_ADD
    Definition: ucp.h:622
    +
    UCP callback to handle the connection request in a client-server connection establishment flow.
    Definition: ucp_def.h:426
    +
    char * debug_string
    Definition: ucp.h:1751
    +
    ucp_am_cb_flags
    Flags for a UCP Active Message callback.
    Definition: ucp.h:561
    +
    @ UCP_OP_ATTR_FIELD_RECV_INFO
    Definition: ucp.h:699
    +
    size_t request_size
    Definition: ucp.h:1128
    +
    uint64_t ucp_tag_t
    UCP Tag Identifier.
    Definition: ucp_def.h:257
    +
    uint64_t field_mask
    Definition: ucp.h:982
    +
    @ UCP_OP_ATTR_FIELD_MEMORY_TYPE
    Definition: ucp.h:698
    +
    ucs_status_t ucp_mem_unmap(ucp_context_h context, ucp_mem_h memh)
    Unmap memory segment.
    +
    @ UCP_EP_CLOSE_FLAG_FORCE
    Definition: ucp.h:300
    +
    struct ucp_lib_attr ucp_lib_attr_t
    Lib attributes.
    +
    ucp_ep_params_flags_field
    UCP endpoint parameters flags.
    Definition: ucp.h:264
    +
    void ucp_cleanup(ucp_context_h context_p)
    Release UCP application context.
    +
    @ UCP_OP_ATTR_FLAG_NO_IMM_CMPL
    Definition: ucp.h:702
    +
    @ UCP_ATOMIC_OP_ADD
    Definition: ucp.h:657
    +
    uint64_t field_mask
    Definition: ucp.h:1400
    +
    ucp_request_init_callback_t request_init
    Definition: ucp.h:1012
    +
    ucs_status_ptr_t ucp_put_nbx(ucp_ep_h ep, const void *buffer, size_t count, uint64_t remote_addr, ucp_rkey_h rkey, const ucp_request_param_t *param)
    Non-blocking remote memory put operation.
    +
    ucp_address_t * address
    Definition: ucp.h:1185
    +
    struct sockaddr_storage client_address
    Definition: ucp.h:1430
    +
    @ UCP_MEM_MAP_PARAM_FIELD_ADDRESS
    Definition: ucp.h:386
    +
    ucs_status_ptr_t ucp_tag_send_nb(ucp_ep_h ep, const void *buffer, size_t count, ucp_datatype_t datatype, ucp_tag_t tag, ucp_send_callback_t cb)
    Non-blocking tagged-send operations.
    +
    void ucp_request_free(void *request)
    Release a communications request.
    +
    size_t message_size
    Definition: ucp.h:1358
    +
    @ UCP_FEATURE_AMO32
    Definition: ucp.h:145
    +
    struct ucp_am_handler_param ucp_am_handler_param_t
    Active Message handler parameters passed to ucp_worker_set_am_recv_handler routine.
    +
    size_t estimated_num_ppn
    Definition: ucp.h:1067
    +
    ucp_listener_params_field
    UCP listener parameters field mask.
    Definition: ucp.h:199
    +
    ucs_status_ptr_t ucp_worker_flush_nbx(ucp_worker_h worker, const ucp_request_param_t *param)
    Flush outstanding AMO and RMA operations on the worker.
    +
    @ UCP_ATOMIC_FETCH_OP_FOR
    Definition: ucp.h:643
    +
    ucs_status_t ucp_config_modify(ucp_config_t *config, const char *name, const char *value)
    Modify context configuration.
    +
    ucs_status_t ucp_rkey_pack(ucp_context_h context, ucp_mem_h memh, void **rkey_buffer_p, size_t *size_p)
    Pack memory region remote access key.
    +
    size_t max_am_header
    Definition: ucp.h:1195
    +
    @ UCP_WORKER_PARAM_FIELD_CLIENT_ID
    Definition: ucp.h:175
    +
    @ UCP_WORKER_PARAM_FIELD_AM_ALIGNMENT
    Definition: ucp.h:173
    +
    @ UCP_EP_PARAMS_FLAGS_CLIENT_SERVER
    Definition: ucp.h:265
    +
    ucp_mem_h memh
    Definition: ucp.h:1729
    +
    Tuning parameters for the UCP worker.
    Definition: ucp.h:1216
    +
    @ UCP_AM_HANDLER_PARAM_FIELD_ARG
    Definition: ucp.h:793
    +
    enum ucs_memory_type ucs_memory_type_t
    Memory types.
    +
    ucp_ep_h ep
    Definition: ucp.h:1498
    +
    @ UCP_WORKER_PARAM_FIELD_EVENT_FD
    Definition: ucp.h:169
    + + + + diff --git a/api/v1.13/html/ucp__compat_8h_source.html b/api/v1.13/html/ucp__compat_8h_source.html new file mode 100644 index 00000000000..27d684c0a9d --- /dev/null +++ b/api/v1.13/html/ucp__compat_8h_source.html @@ -0,0 +1,223 @@ + + + + + + + +UCX: ucp_compat.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    ucp_compat.h
    +
    +
    +
    1 /*
    +
    2  * Copyright (C) Mellanox Technologies Ltd. 2001-2017. ALL RIGHTS RESERVED.
    +
    3  *
    +
    4  * See file LICENSE for terms.
    +
    5  */
    +
    6 
    +
    7 
    +
    8 #ifndef UCP_COMPAT_H_
    +
    9 #define UCP_COMPAT_H_
    +
    10 
    +
    11 
    +
    12 #include <ucp/api/ucp_def.h>
    +
    13 #include <ucs/sys/compiler_def.h>
    +
    14 
    +
    15 BEGIN_C_DECLS
    +
    16 
    + + +
    25  void *arg;
    + +
    28 
    +
    29 
    +
    34 int ucp_request_is_completed(void *request);
    +
    35 
    +
    36 
    +
    41 void ucp_request_release(void *request);
    +
    42 
    +
    43 
    +
    48 void ucp_ep_destroy(ucp_ep_h ep);
    +
    49 
    +
    50 
    + +
    56 
    +
    57 
    + +
    72 
    +
    73 
    + +
    79 
    + +
    122 
    +
    123 
    +
    171 ucs_status_t ucp_put(ucp_ep_h ep, const void *buffer, size_t length,
    +
    172  uint64_t remote_addr, ucp_rkey_h rkey);
    +
    173 
    +
    174 
    +
    198 ucs_status_t ucp_get(ucp_ep_h ep, void *buffer, size_t length,
    +
    199  uint64_t remote_addr, ucp_rkey_h rkey);
    +
    200 
    +
    201 
    +
    228 ucs_status_t ucp_atomic_add32(ucp_ep_h ep, uint32_t add,
    +
    229  uint64_t remote_addr, ucp_rkey_h rkey);
    +
    230 
    +
    231 
    +
    258 ucs_status_t ucp_atomic_add64(ucp_ep_h ep, uint64_t add,
    +
    259  uint64_t remote_addr, ucp_rkey_h rkey);
    +
    260 
    +
    261 
    +
    292 ucs_status_t ucp_atomic_fadd32(ucp_ep_h ep, uint32_t add, uint64_t remote_addr,
    +
    293  ucp_rkey_h rkey, uint32_t *result);
    +
    294 
    +
    295 
    +
    326 ucs_status_t ucp_atomic_fadd64(ucp_ep_h ep, uint64_t add, uint64_t remote_addr,
    +
    327  ucp_rkey_h rkey, uint64_t *result);
    +
    328 
    +
    329 
    +
    359 ucs_status_t ucp_atomic_swap32(ucp_ep_h ep, uint32_t swap, uint64_t remote_addr,
    +
    360  ucp_rkey_h rkey, uint32_t *result);
    +
    361 
    +
    362 
    +
    392 ucs_status_t ucp_atomic_swap64(ucp_ep_h ep, uint64_t swap, uint64_t remote_addr,
    +
    393  ucp_rkey_h rkey, uint64_t *result);
    +
    394 
    +
    395 
    +
    426 ucs_status_t ucp_atomic_cswap32(ucp_ep_h ep, uint32_t compare, uint32_t swap,
    +
    427  uint64_t remote_addr, ucp_rkey_h rkey,
    +
    428  uint32_t *result);
    +
    429 
    +
    430 
    +
    461 ucs_status_t ucp_atomic_cswap64(ucp_ep_h ep, uint64_t compare, uint64_t swap,
    +
    462  uint64_t remote_addr, ucp_rkey_h rkey,
    +
    463  uint64_t *result);
    +
    464 
    +
    465 
    + +
    500 
    +
    501 
    +
    502 END_C_DECLS
    +
    503 
    +
    504 #endif
    +
    +
    +
    ucs_status_ptr_t ucp_ep_modify_nb(ucp_ep_h ep, const ucp_ep_params_t *params)
    Modify endpoint parameters.
    +
    ucs_status_t ucp_atomic_swap64(ucp_ep_h ep, uint64_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint64_t *result)
    Blocking atomic swap operation for 64 bit values.
    +
    struct ucp_listener_accept_handler ucp_listener_accept_handler_t
    +
    struct ucp_rkey * ucp_rkey_h
    UCP Remote memory handle.
    Definition: ucp_def.h:152
    +
    ucs_status_t ucp_atomic_add64(ucp_ep_h ep, uint64_t add, uint64_t remote_addr, ucp_rkey_h rkey)
    Blocking atomic add operation for 64 bit integers.
    +
    ucs_status_t ucp_atomic_cswap32(ucp_ep_h ep, uint32_t compare, uint32_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint32_t *result)
    Blocking atomic conditional swap (cswap) operation for 32 bit values.
    +
    int ucp_request_is_completed(void *request)
    +
    void * ucs_status_ptr_t
    Status pointer.
    Definition: status.h:106
    +
    UCP receive information descriptor.
    Definition: ucp.h:1602
    +
    ucs_status_t ucp_ep_flush(ucp_ep_h ep)
    +
    ucs_status_t ucp_atomic_swap32(ucp_ep_h ep, uint32_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint32_t *result)
    Blocking atomic swap operation for 32 bit values.
    +
    ucs_status_t ucp_atomic_add32(ucp_ep_h ep, uint32_t add, uint64_t remote_addr, ucp_rkey_h rkey)
    Blocking atomic add operation for 32 bit integers.
    +
    Definition: ucp_compat.h:23
    +
    Tuning parameters for the UCP endpoint.
    Definition: ucp_def.h:683
    +
    ucs_status_t ucp_atomic_cswap64(ucp_ep_h ep, uint64_t compare, uint64_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint64_t *result)
    Blocking atomic conditional swap (cswap) operation for 64 bit values.
    +
    void * arg
    Definition: ucp_compat.h:25
    +
    struct ucp_worker * ucp_worker_h
    UCP Worker.
    Definition: ucp_def.h:246
    +
    void ucp_request_release(void *request)
    +
    ucs_status_ptr_t ucp_disconnect_nb(ucp_ep_h ep)
    +
    void(* ucp_listener_accept_callback_t)(ucp_ep_h ep, void *arg)
    A callback for accepting client/server connections on a listener ucp_listener_h.
    Definition: ucp_def.h:390
    +
    ucs_status_t ucp_atomic_fadd64(ucp_ep_h ep, uint64_t add, uint64_t remote_addr, ucp_rkey_h rkey, uint64_t *result)
    Blocking atomic fetch and add operation for 64 bit integers.
    +
    ucs_status_t
    Status codes.
    Definition: status.h:45
    +
    ucs_status_t ucp_put(ucp_ep_h ep, const void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey)
    Blocking remote memory put operation.
    +
    ucs_status_t ucp_atomic_fadd32(ucp_ep_h ep, uint32_t add, uint64_t remote_addr, ucp_rkey_h rkey, uint32_t *result)
    Blocking atomic fetch and add operation for 32 bit integers.
    +
    ucs_status_t ucp_request_test(void *request, ucp_tag_recv_info_t *info)
    +
    ucs_status_t ucp_worker_flush(ucp_worker_h worker)
    Flush outstanding AMO and RMA operations on the worker.
    +
    ucs_status_t ucp_get(ucp_ep_h ep, void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey)
    Blocking remote memory get operation.
    +
    struct ucp_ep * ucp_ep_h
    UCP Endpoint.
    Definition: ucp_def.h:92
    +
    ucp_listener_accept_callback_t cb
    Definition: ucp_compat.h:24
    +
    void ucp_ep_destroy(ucp_ep_h ep)
    + + + + diff --git a/api/v1.13/html/ucp__def_8h_source.html b/api/v1.13/html/ucp__def_8h_source.html new file mode 100644 index 00000000000..8acafe2fddb --- /dev/null +++ b/api/v1.13/html/ucp__def_8h_source.html @@ -0,0 +1,368 @@ + + + + + + + +UCX: ucp_def.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    ucp_def.h
    +
    +
    +
    1 /*
    +
    2 * Copyright (C) Mellanox Technologies Ltd. 2001-2014. ALL RIGHTS RESERVED.
    +
    3 * Copyright (C) UT-Battelle, LLC. 2014-2015. ALL RIGHTS RESERVED.
    +
    4 * Copyright (C) IBM 2015. ALL RIGHTS RESERVED.
    +
    5 * Copyright (C) Los Alamos National Security, LLC. 2018. ALL RIGHTS RESERVED.
    +
    6 * Copyright (C) Arm, Ltd. 2021. ALL RIGHTS RESERVED.
    +
    7 *
    +
    8 * See file LICENSE for terms.
    +
    9 */
    +
    10 
    +
    11 #ifndef UCP_DEF_H_
    +
    12 #define UCP_DEF_H_
    +
    13 
    +
    14 #include <ucs/memory/memory_type.h>
    +
    15 #include <ucs/type/status.h>
    +
    16 #include <ucs/config/types.h>
    +
    17 #include <stddef.h>
    +
    18 #include <stdint.h>
    +
    19 
    +
    20 
    + +
    31 
    +
    32 
    + +
    38 
    +
    39 
    +
    60 typedef struct ucp_context *ucp_context_h;
    +
    61 
    +
    62 
    +
    77 typedef struct ucp_config ucp_config_t;
    +
    78 
    +
    79 
    +
    92 typedef struct ucp_ep *ucp_ep_h;
    +
    93 
    +
    94 
    +
    102 typedef struct ucp_conn_request *ucp_conn_request_h;
    +
    103 
    +
    104 
    +
    112 typedef struct ucp_address ucp_address_t;
    +
    113 
    +
    114 
    +
    121 typedef enum {
    + + + +
    140 
    +
    141 
    +
    152 typedef struct ucp_rkey *ucp_rkey_h;
    +
    153 
    +
    154 
    +
    167 typedef struct ucp_mem *ucp_mem_h;
    +
    168 
    +
    169 
    +
    177 typedef struct ucp_listener *ucp_listener_h;
    +
    178 
    +
    179 
    +
    185 typedef struct ucp_mem_attr {
    +
    191  uint64_t field_mask;
    +
    192 
    +
    196  void *address;
    +
    197 
    +
    201  size_t length;
    +
    202 
    + + +
    208 
    +
    209 
    + + + + +
    221 };
    +
    222 
    +
    223 
    +
    246  typedef struct ucp_worker *ucp_worker_h;
    +
    247 
    +
    248 
    +
    257 typedef uint64_t ucp_tag_t;
    +
    258 
    +
    259 
    +
    268 typedef struct ucp_recv_desc *ucp_tag_message_h;
    +
    269 
    +
    270 
    +
    278 typedef uint64_t ucp_datatype_t;
    +
    279 
    +
    280 
    +
    289 typedef void (*ucp_request_init_callback_t)(void *request);
    +
    290 
    +
    291 
    +
    301 typedef void (*ucp_request_cleanup_callback_t)(void *request);
    +
    302 
    +
    303 
    +
    319 typedef void (*ucp_send_callback_t)(void *request, ucs_status_t status);
    +
    320 
    +
    321 
    +
    340 typedef void (*ucp_send_nbx_callback_t)(void *request, ucs_status_t status,
    +
    341  void *user_data);
    +
    342 
    +
    343 
    +
    357 typedef void (*ucp_err_handler_cb_t)(void *arg, ucp_ep_h ep, ucs_status_t status);
    +
    358 
    +
    359 
    +
    366 typedef struct ucp_err_handler {
    + +
    369  void *arg;
    + +
    374 
    +
    375 
    +
    390 typedef void (*ucp_listener_accept_callback_t)(ucp_ep_h ep, void *arg);
    +
    391 
    +
    392 
    +
    406 typedef void
    + +
    408 
    +
    409 
    + + +
    428  void *arg;
    + +
    431 
    +
    432 
    +
    448 typedef void (*ucp_stream_recv_callback_t)(void *request, ucs_status_t status,
    +
    449  size_t length);
    +
    450 
    +
    451 
    +
    470 typedef void (*ucp_stream_recv_nbx_callback_t)(void *request, ucs_status_t status,
    +
    471  size_t length, void *user_data);
    +
    472 
    +
    473 
    +
    493 typedef void (*ucp_tag_recv_callback_t)(void *request, ucs_status_t status,
    +
    494  ucp_tag_recv_info_t *info);
    +
    495 
    +
    496 
    +
    518 typedef void (*ucp_tag_recv_nbx_callback_t)(void *request, ucs_status_t status,
    +
    519  const ucp_tag_recv_info_t *tag_info,
    +
    520  void *user_data);
    +
    521 
    +
    522 
    +
    540 typedef void (*ucp_am_recv_data_nbx_callback_t)(void *request,
    +
    541  ucs_status_t status,
    +
    542  size_t length, void *user_data);
    +
    543 
    +
    544 
    + +
    559  UCP_WAKEUP_RMA = UCS_BIT(0),
    +
    560  UCP_WAKEUP_AMO = UCS_BIT(1),
    +
    561  UCP_WAKEUP_TAG_SEND = UCS_BIT(2),
    +
    562  UCP_WAKEUP_TAG_RECV = UCS_BIT(3),
    +
    563  UCP_WAKEUP_TX = UCS_BIT(10),
    +
    570  UCP_WAKEUP_RX = UCS_BIT(11),
    +
    575  UCP_WAKEUP_EDGE = UCS_BIT(16)
    + +
    580 
    +
    581 
    +
    613 typedef ucs_status_t (*ucp_am_callback_t)(void *arg, void *data, size_t length,
    +
    614  ucp_ep_h reply_ep, unsigned flags);
    +
    615 
    +
    616 
    +
    670 typedef ucs_status_t (*ucp_am_recv_callback_t)(void *arg, const void *header,
    +
    671  size_t header_length,
    +
    672  void *data, size_t length,
    +
    673  const ucp_am_recv_param_t *param);
    +
    674 
    +
    675 
    +
    683 typedef struct ucp_ep_params {
    +
    690  uint64_t field_mask;
    +
    691 
    + +
    699 
    + +
    705 
    + +
    710 
    +
    715  void *user_data;
    +
    716 
    +
    724  unsigned flags;
    +
    725 
    + +
    734 
    + +
    744 
    +
    753  const char *name;
    +
    754 
    + +
    763 
    + +
    765 
    +
    766 
    +
    772 #define UCP_ENTITY_NAME_MAX 32
    +
    773 
    +
    774 
    +
    775 #endif
    +
    +
    +
    ucp_listener_conn_callback_t cb
    Definition: ucp_def.h:427
    +
    struct ucp_mem * ucp_mem_h
    UCP Memory handle.
    Definition: ucp_def.h:167
    +
    ucs_status_t(* ucp_am_callback_t)(void *arg, void *data, size_t length, ucp_ep_h reply_ep, unsigned flags)
    Callback to process incoming Active Message.
    Definition: ucp_def.h:613
    +
    void * user_data
    Definition: ucp_def.h:715
    +
    const ucp_address_t * address
    Definition: ucp_def.h:698
    +
    ucp_conn_request_h conn_request
    Definition: ucp_def.h:743
    +
    void(* ucp_am_recv_data_nbx_callback_t)(void *request, ucs_status_t status, size_t length, void *user_data)
    Completion callback for non-blocking Active Message receives.
    Definition: ucp_def.h:540
    +
    void(* ucp_request_cleanup_callback_t)(void *request)
    Request cleanup callback.
    Definition: ucp_def.h:301
    +
    @ UCP_WAKEUP_TX
    Definition: ucp_def.h:563
    +
    ucp_wakeup_event_types
    UCP worker wakeup events mask.
    Definition: ucp_def.h:558
    +
    ucp_err_handler_t err_handler
    Definition: ucp_def.h:709
    +
    Definition: types.h:137
    +
    ucp_mem_attr_field
    UCP Memory handle attributes field mask.
    Definition: ucp_def.h:217
    +
    @ UCP_ERR_HANDLING_MODE_NONE
    Definition: ucp_def.h:122
    +
    @ UCP_MEM_ATTR_FIELD_MEM_TYPE
    Definition: ucp_def.h:220
    +
    void(* ucp_stream_recv_nbx_callback_t)(void *request, ucs_status_t status, size_t length, void *user_data)
    Completion callback for non-blocking stream receives ucp_stream_recv_nbx call.
    Definition: ucp_def.h:470
    +
    struct ucp_config ucp_config_t
    UCP configuration descriptor.
    Definition: ucp_def.h:77
    +
    struct ucp_listener * ucp_listener_h
    UCP listen handle.
    Definition: ucp_def.h:177
    +
    struct ucp_address ucp_address_t
    UCP worker address.
    Definition: ucp_def.h:112
    +
    ucp_err_handler_cb_t cb
    Definition: ucp_def.h:367
    +
    void * address
    Definition: ucp_def.h:196
    +
    void(* ucp_listener_conn_callback_t)(ucp_conn_request_h conn_request, void *arg)
    A callback for handling of incoming connection request conn_request from a client.
    Definition: ucp_def.h:407
    +
    struct ucp_rkey * ucp_rkey_h
    UCP Remote memory handle.
    Definition: ucp_def.h:152
    +
    struct ucp_recv_desc * ucp_tag_message_h
    UCP Message descriptor.
    Definition: ucp_def.h:268
    +
    void(* ucp_request_init_callback_t)(void *request)
    Request initialization callback.
    Definition: ucp_def.h:289
    +
    ucs_memory_type_t mem_type
    Definition: ucp_def.h:206
    +
    void * arg
    Definition: ucp_def.h:369
    +
    void(* ucp_send_nbx_callback_t)(void *request, ucs_status_t status, void *user_data)
    Completion callback for non-blocking sends.
    Definition: ucp_def.h:340
    +
    struct ucp_mem_attr ucp_mem_attr_t
    Attributes of the UCP Memory handle, filled by ucp_mem_query function.
    +
    UCP endpoint error handling context.
    Definition: ucp_def.h:366
    +
    ucp_err_handling_mode_t
    Error handling mode for the UCP endpoint.
    Definition: ucp_def.h:121
    +
    void(* ucp_tag_recv_nbx_callback_t)(void *request, ucs_status_t status, const ucp_tag_recv_info_t *tag_info, void *user_data)
    Completion callback for non-blocking tag receives ucp_tag_recv_nbx call.
    Definition: ucp_def.h:518
    +
    struct ucp_err_handler ucp_err_handler_t
    UCP endpoint error handling context.
    +
    UCP receive information descriptor.
    Definition: ucp.h:1602
    +
    struct ucp_listener_conn_handler ucp_listener_conn_handler_t
    UCP callback to handle the connection request in a client-server connection establishment flow.
    +
    size_t length
    Definition: ucp_def.h:201
    +
    ucs_status_t(* ucp_am_recv_callback_t)(void *arg, const void *header, size_t header_length, void *data, size_t length, const ucp_am_recv_param_t *param)
    Callback to process incoming Active Message sent by ucp_am_send_nbx routine.
    Definition: ucp_def.h:670
    +
    void(* ucp_tag_recv_callback_t)(void *request, ucs_status_t status, ucp_tag_recv_info_t *info)
    Completion callback for non-blocking tag receives.
    Definition: ucp_def.h:493
    +
    void(* ucp_stream_recv_callback_t)(void *request, ucs_status_t status, size_t length)
    Completion callback for non-blocking stream oriented receives.
    Definition: ucp_def.h:448
    +
    @ UCP_MEM_ATTR_FIELD_LENGTH
    Definition: ucp_def.h:219
    +
    uint64_t field_mask
    Definition: ucp_def.h:191
    +
    struct ucp_ep_params ucp_ep_params_t
    Tuning parameters for the UCP endpoint.
    +
    enum ucp_wakeup_event_types ucp_wakeup_event_t
    UCP worker wakeup events mask.
    +
    struct ucp_context * ucp_context_h
    UCP Application Context.
    Definition: ucp_def.h:60
    +
    void * arg
    Definition: ucp_def.h:428
    +
    Tuning parameters for the UCP endpoint.
    Definition: ucp_def.h:683
    +
    @ UCP_WAKEUP_TAG_RECV
    Definition: ucp_def.h:562
    +
    struct ucp_worker * ucp_worker_h
    UCP Worker.
    Definition: ucp_def.h:246
    +
    uint64_t field_mask
    Definition: ucp_def.h:690
    +
    void(* ucp_send_callback_t)(void *request, ucs_status_t status)
    Completion callback for non-blocking sends.
    Definition: ucp_def.h:319
    +
    @ UCP_ERR_HANDLING_MODE_PEER
    Definition: ucp_def.h:130
    +
    @ UCP_WAKEUP_AMO
    Definition: ucp_def.h:560
    +
    void(* ucp_listener_accept_callback_t)(ucp_ep_h ep, void *arg)
    A callback for accepting client/server connections on a listener ucp_listener_h.
    Definition: ucp_def.h:390
    +
    ucs_status_t
    Status codes.
    Definition: status.h:45
    +
    const char * name
    Definition: ucp_def.h:753
    +
    @ UCP_WAKEUP_RMA
    Definition: ucp_def.h:559
    +
    struct ucp_conn_request * ucp_conn_request_h
    UCP connection request.
    Definition: ucp_def.h:102
    +
    unsigned flags
    Definition: ucp_def.h:724
    +
    Operation parameters provided in ucp_am_recv_callback_t callback.
    Definition: ucp.h:1813
    +
    @ UCP_WAKEUP_RX
    Definition: ucp_def.h:570
    +
    struct ucp_ep * ucp_ep_h
    UCP Endpoint.
    Definition: ucp_def.h:92
    +
    Attributes of the UCP Memory handle, filled by ucp_mem_query function.
    Definition: ucp_def.h:185
    +
    uint64_t ucp_datatype_t
    UCP Datatype Identifier.
    Definition: ucp_def.h:278
    +
    ucs_sock_addr_t sockaddr
    Definition: ucp_def.h:733
    +
    UCP callback to handle the connection request in a client-server connection establishment flow.
    Definition: ucp_def.h:426
    +
    uint64_t ucp_tag_t
    UCP Tag Identifier.
    Definition: ucp_def.h:257
    +
    @ UCP_WAKEUP_EDGE
    Definition: ucp_def.h:575
    +
    ucs_sock_addr_t local_sockaddr
    Definition: ucp_def.h:762
    +
    void(* ucp_err_handler_cb_t)(void *arg, ucp_ep_h ep, ucs_status_t status)
    Callback to process peer failure.
    Definition: ucp_def.h:357
    +
    @ UCP_WAKEUP_TAG_SEND
    Definition: ucp_def.h:561
    +
    ucp_err_handling_mode_t err_mode
    Definition: ucp_def.h:704
    +
    @ UCP_MEM_ATTR_FIELD_ADDRESS
    Definition: ucp_def.h:218
    +
    enum ucs_memory_type ucs_memory_type_t
    Memory types.
    + + + + diff --git a/api/v1.13/html/ucp_client_server_8c-example.html b/api/v1.13/html/ucp_client_server_8c-example.html new file mode 100644 index 00000000000..c825970cbbd --- /dev/null +++ b/api/v1.13/html/ucp_client_server_8c-example.html @@ -0,0 +1,1224 @@ + + + + + + + +UCX: ucp_client_server.c + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    ucp_client_server.c
    +
    +
    +

    UCP client / server example using different APIs (tag, stream, am) utility.

    +
    +
    /*
    +
    * UCP client - server example utility
    +
    * -----------------------------------------------
    +
    *
    +
    * Server side:
    +
    *
    +
    * ./ucp_client_server
    +
    *
    +
    * Client side:
    +
    *
    +
    * ./ucp_client_server -a <server-ip>
    +
    *
    +
    * Notes:
    +
    *
    +
    * - The server will listen to incoming connection requests on INADDR_ANY.
    +
    * - The client needs to pass the IP address of the server side to connect to
    +
    * as an argument to the test.
    +
    * - Currently, the passed IP needs to be an IPoIB or a RoCE address.
    +
    * - The port which the server side would listen on can be modified with the
    +
    * '-p' option and should be used on both sides. The default port to use is
    +
    * 13337.
    +
    */
    +
    +
    #include "hello_world_util.h"
    +
    #include "ucp_util.h"
    +
    +
    #include <ucp/api/ucp.h>
    +
    +
    #include <string.h> /* memset */
    +
    #include <arpa/inet.h> /* inet_addr */
    +
    #include <unistd.h> /* getopt */
    +
    #include <stdlib.h> /* atoi */
    +
    +
    #define DEFAULT_PORT 13337
    +
    #define IP_STRING_LEN 50
    +
    #define PORT_STRING_LEN 8
    +
    #define TAG 0xCAFE
    +
    #define COMM_TYPE_DEFAULT "STREAM"
    +
    #define PRINT_INTERVAL 2000
    +
    #define DEFAULT_NUM_ITERATIONS 1
    +
    #define TEST_AM_ID 0
    +
    +
    +
    static long test_string_length = 16;
    +
    static long iov_cnt = 1;
    +
    static uint16_t server_port = DEFAULT_PORT;
    +
    static sa_family_t ai_family = AF_INET;
    +
    static int num_iterations = DEFAULT_NUM_ITERATIONS;
    +
    +
    +
    typedef enum {
    +
    CLIENT_SERVER_SEND_RECV_STREAM = UCS_BIT(0),
    +
    CLIENT_SERVER_SEND_RECV_TAG = UCS_BIT(1),
    +
    CLIENT_SERVER_SEND_RECV_AM = UCS_BIT(2),
    +
    CLIENT_SERVER_SEND_RECV_DEFAULT = CLIENT_SERVER_SEND_RECV_STREAM
    +
    } send_recv_type_t;
    +
    +
    +
    typedef struct ucx_server_ctx {
    +
    volatile ucp_conn_request_h conn_request;
    +
    ucp_listener_h listener;
    +
    } ucx_server_ctx_t;
    +
    +
    +
    typedef struct test_req {
    +
    int complete;
    +
    } test_req_t;
    +
    +
    +
    static struct {
    +
    volatile int complete;
    +
    int is_rndv;
    +
    void *desc;
    +
    void *recv_buf;
    +
    } am_data_desc = {0, 0, NULL, NULL};
    +
    +
    +
    static void usage(void);
    +
    +
    void buffer_free(ucp_dt_iov_t *iov)
    +
    {
    +
    size_t idx;
    +
    +
    for (idx = 0; idx < iov_cnt; idx++) {
    +
    mem_type_free(iov[idx].buffer);
    +
    }
    +
    }
    +
    +
    int buffer_malloc(ucp_dt_iov_t *iov)
    +
    {
    +
    size_t idx;
    +
    +
    for (idx = 0; idx < iov_cnt; idx++) {
    +
    iov[idx].length = test_string_length;
    +
    iov[idx].buffer = mem_type_malloc(iov[idx].length);
    +
    if (iov[idx].buffer == NULL) {
    +
    buffer_free(iov);
    +
    return -1;
    +
    }
    +
    }
    +
    +
    return 0;
    +
    }
    +
    +
    int fill_buffer(ucp_dt_iov_t *iov)
    +
    {
    +
    int ret = 0;
    +
    size_t idx;
    +
    +
    for (idx = 0; idx < iov_cnt; idx++) {
    +
    ret = generate_test_string(iov[idx].buffer, iov[idx].length);
    +
    if (ret != 0) {
    +
    break;
    +
    }
    +
    }
    +
    CHKERR_ACTION(ret != 0, "generate test string", return -1;);
    +
    return 0;
    +
    }
    +
    +
    static void common_cb(void *user_data, const char *type_str)
    +
    {
    +
    test_req_t *ctx;
    +
    +
    if (user_data == NULL) {
    +
    fprintf(stderr, "user_data passed to %s mustn't be NULL\n", type_str);
    +
    return;
    +
    }
    +
    +
    ctx = user_data;
    +
    ctx->complete = 1;
    +
    }
    +
    +
    static void tag_recv_cb(void *request, ucs_status_t status,
    +
    const ucp_tag_recv_info_t *info, void *user_data)
    +
    {
    +
    common_cb(user_data, "tag_recv_cb");
    +
    }
    +
    +
    static void stream_recv_cb(void *request, ucs_status_t status, size_t length,
    +
    void *user_data)
    +
    {
    +
    common_cb(user_data, "stream_recv_cb");
    +
    }
    +
    +
    static void am_recv_cb(void *request, ucs_status_t status, size_t length,
    +
    void *user_data)
    +
    {
    +
    common_cb(user_data, "am_recv_cb");
    +
    }
    +
    +
    static void send_cb(void *request, ucs_status_t status, void *user_data)
    +
    {
    +
    common_cb(user_data, "send_cb");
    +
    }
    +
    +
    static void err_cb(void *arg, ucp_ep_h ep, ucs_status_t status)
    +
    {
    +
    printf("error handling callback was invoked with status %d (%s)\n",
    +
    status, ucs_status_string(status));
    +
    }
    +
    +
    void set_sock_addr(const char *address_str, struct sockaddr_storage *saddr)
    +
    {
    +
    struct sockaddr_in *sa_in;
    +
    struct sockaddr_in6 *sa_in6;
    +
    +
    /* The server will listen on INADDR_ANY */
    +
    memset(saddr, 0, sizeof(*saddr));
    +
    +
    switch (ai_family) {
    +
    case AF_INET:
    +
    sa_in = (struct sockaddr_in*)saddr;
    +
    if (address_str != NULL) {
    +
    inet_pton(AF_INET, address_str, &sa_in->sin_addr);
    +
    } else {
    +
    sa_in->sin_addr.s_addr = INADDR_ANY;
    +
    }
    +
    sa_in->sin_family = AF_INET;
    +
    sa_in->sin_port = htons(server_port);
    +
    break;
    +
    case AF_INET6:
    +
    sa_in6 = (struct sockaddr_in6*)saddr;
    +
    if (address_str != NULL) {
    +
    inet_pton(AF_INET6, address_str, &sa_in6->sin6_addr);
    +
    } else {
    +
    sa_in6->sin6_addr = in6addr_any;
    +
    }
    +
    sa_in6->sin6_family = AF_INET6;
    +
    sa_in6->sin6_port = htons(server_port);
    +
    break;
    +
    default:
    +
    fprintf(stderr, "Invalid address family");
    +
    break;
    +
    }
    +
    }
    +
    +
    static ucs_status_t start_client(ucp_worker_h ucp_worker,
    +
    const char *address_str, ucp_ep_h *client_ep)
    +
    {
    +
    ucp_ep_params_t ep_params;
    +
    struct sockaddr_storage connect_addr;
    +
    ucs_status_t status;
    +
    +
    set_sock_addr(address_str, &connect_addr);
    +
    +
    /*
    +
    * Endpoint field mask bits:
    +
    * UCP_EP_PARAM_FIELD_FLAGS - Use the value of the 'flags' field.
    +
    * UCP_EP_PARAM_FIELD_SOCK_ADDR - Use a remote sockaddr to connect
    +
    * to the remote peer.
    +
    * UCP_EP_PARAM_FIELD_ERR_HANDLING_MODE - Error handling mode - this flag
    +
    * is temporarily required since the
    +
    * endpoint will be closed with
    +
    * UCP_EP_CLOSE_MODE_FORCE which
    +
    * requires this mode.
    +
    * Once UCP_EP_CLOSE_MODE_FORCE is
    +
    * removed, the error handling mode
    +
    * will be removed.
    +
    */
    + + + + + +
    ep_params.err_handler.cb = err_cb;
    +
    ep_params.err_handler.arg = NULL;
    + +
    ep_params.sockaddr.addr = (struct sockaddr*)&connect_addr;
    +
    ep_params.sockaddr.addrlen = sizeof(connect_addr);
    +
    +
    status = ucp_ep_create(ucp_worker, &ep_params, client_ep);
    +
    if (status != UCS_OK) {
    +
    fprintf(stderr, "failed to connect to %s (%s)\n", address_str,
    +
    ucs_status_string(status));
    +
    }
    +
    +
    return status;
    +
    }
    +
    +
    static void print_iov(const ucp_dt_iov_t *iov)
    +
    {
    +
    char *msg = alloca(test_string_length);
    +
    size_t idx;
    +
    +
    for (idx = 0; idx < iov_cnt; idx++) {
    +
    /* In case of Non-System memory */
    +
    mem_type_memcpy(msg, iov[idx].buffer, test_string_length);
    +
    printf("%s.\n", msg);
    +
    }
    +
    }
    +
    +
    static
    +
    void print_result(int is_server, const ucp_dt_iov_t *iov, int current_iter)
    +
    {
    +
    if (is_server) {
    +
    printf("Server: iteration #%d\n", (current_iter + 1));
    +
    printf("UCX data message was received\n");
    +
    printf("\n\n----- UCP TEST SUCCESS -------\n\n");
    +
    } else {
    +
    printf("Client: iteration #%d\n", (current_iter + 1));
    +
    printf("\n\n------------------------------\n\n");
    +
    }
    +
    +
    print_iov(iov);
    +
    +
    printf("\n\n------------------------------\n\n");
    +
    }
    +
    +
    static ucs_status_t request_wait(ucp_worker_h ucp_worker, void *request,
    +
    test_req_t *ctx)
    +
    {
    +
    ucs_status_t status;
    +
    +
    /* if operation was completed immediately */
    +
    if (request == NULL) {
    +
    return UCS_OK;
    +
    }
    +
    +
    if (UCS_PTR_IS_ERR(request)) {
    +
    return UCS_PTR_STATUS(request);
    +
    }
    +
    +
    while (ctx->complete == 0) {
    +
    ucp_worker_progress(ucp_worker);
    +
    }
    +
    status = ucp_request_check_status(request);
    +
    +
    ucp_request_free(request);
    +
    +
    return status;
    +
    }
    +
    +
    static int request_finalize(ucp_worker_h ucp_worker, test_req_t *request,
    +
    test_req_t *ctx, int is_server, ucp_dt_iov_t *iov,
    +
    int current_iter)
    +
    {
    +
    int ret = 0;
    +
    ucs_status_t status;
    +
    +
    status = request_wait(ucp_worker, request, ctx);
    +
    if (status != UCS_OK) {
    +
    fprintf(stderr, "unable to %s UCX message (%s)\n",
    +
    is_server ? "receive": "send", ucs_status_string(status));
    +
    ret = -1;
    +
    goto release_iov;
    +
    }
    +
    +
    /* Print the output of the first, last and every PRINT_INTERVAL iteration */
    +
    if ((current_iter == 0) || (current_iter == (num_iterations - 1)) ||
    +
    !((current_iter + 1) % (PRINT_INTERVAL))) {
    +
    print_result(is_server, iov, current_iter);
    +
    }
    +
    +
    release_iov:
    +
    buffer_free(iov);
    +
    return ret;
    +
    }
    +
    +
    static int
    +
    fill_request_param(ucp_dt_iov_t *iov, int is_client,
    +
    void **msg, size_t *msg_length,
    +
    test_req_t *ctx, ucp_request_param_t *param)
    +
    {
    +
    CHKERR_ACTION(buffer_malloc(iov) != 0, "allocate memory", return -1;);
    +
    +
    if (is_client && (fill_buffer(iov) != 0)) {
    +
    buffer_free(iov);
    +
    return -1;
    +
    }
    +
    +
    *msg = (iov_cnt == 1) ? iov[0].buffer : iov;
    +
    *msg_length = (iov_cnt == 1) ? iov[0].length : iov_cnt;
    +
    +
    ctx->complete = 0;
    + + + +
    param->datatype = (iov_cnt == 1) ? ucp_dt_make_contig(1) :
    + +
    param->user_data = ctx;
    +
    +
    return 0;
    +
    }
    +
    +
    static int send_recv_stream(ucp_worker_h ucp_worker, ucp_ep_h ep, int is_server,
    +
    int current_iter)
    +
    {
    +
    ucp_dt_iov_t *iov = alloca(iov_cnt * sizeof(ucp_dt_iov_t));
    + +
    test_req_t *request;
    +
    size_t msg_length;
    +
    void *msg;
    +
    test_req_t ctx;
    +
    +
    memset(iov, 0, iov_cnt * sizeof(*iov));
    +
    +
    if (fill_request_param(iov, !is_server, &msg, &msg_length,
    +
    &ctx, &param) != 0) {
    +
    return -1;
    +
    }
    +
    +
    if (!is_server) {
    +
    /* Client sends a message to the server using the stream API */
    +
    param.cb.send = send_cb;
    +
    request = ucp_stream_send_nbx(ep, msg, msg_length, &param);
    +
    } else {
    +
    /* Server receives a message from the client using the stream API */
    + + +
    param.cb.recv_stream = stream_recv_cb;
    +
    request = ucp_stream_recv_nbx(ep, msg, msg_length,
    +
    &msg_length, &param);
    +
    }
    +
    +
    return request_finalize(ucp_worker, request, &ctx, is_server, iov,
    +
    current_iter);
    +
    }
    +
    +
    static int send_recv_tag(ucp_worker_h ucp_worker, ucp_ep_h ep, int is_server,
    +
    int current_iter)
    +
    {
    +
    ucp_dt_iov_t *iov = alloca(iov_cnt * sizeof(ucp_dt_iov_t));
    + +
    void *request;
    +
    size_t msg_length;
    +
    void *msg;
    +
    test_req_t ctx;
    +
    +
    memset(iov, 0, iov_cnt * sizeof(*iov));
    +
    +
    if (fill_request_param(iov, !is_server, &msg, &msg_length,
    +
    &ctx, &param) != 0) {
    +
    return -1;
    +
    }
    +
    +
    if (!is_server) {
    +
    /* Client sends a message to the server using the Tag-Matching API */
    +
    param.cb.send = send_cb;
    +
    request = ucp_tag_send_nbx(ep, msg, msg_length, TAG, &param);
    +
    } else {
    +
    /* Server receives a message from the client using the Tag-Matching API */
    +
    param.cb.recv = tag_recv_cb;
    +
    request = ucp_tag_recv_nbx(ucp_worker, msg, msg_length, TAG, 0,
    +
    &param);
    +
    }
    +
    +
    return request_finalize(ucp_worker, request, &ctx, is_server, iov,
    +
    current_iter);
    +
    }
    +
    +
    ucs_status_t ucp_am_data_cb(void *arg, const void *header, size_t header_length,
    +
    void *data, size_t length,
    +
    const ucp_am_recv_param_t *param)
    +
    {
    + +
    size_t idx;
    +
    size_t offset;
    +
    +
    if (length != iov_cnt * test_string_length) {
    +
    fprintf(stderr, "received wrong data length %ld (expected %ld)",
    +
    length, iov_cnt * test_string_length);
    +
    return UCS_OK;
    +
    }
    +
    +
    if (header_length != 0) {
    +
    fprintf(stderr, "received unexpected header, length %ld", header_length);
    +
    }
    +
    +
    am_data_desc.complete = 1;
    +
    + +
    /* Rendezvous request arrived, data contains an internal UCX descriptor,
    +
    * which has to be passed to ucp_am_recv_data_nbx function to confirm
    +
    * data transfer.
    +
    */
    +
    am_data_desc.is_rndv = 1;
    +
    am_data_desc.desc = data;
    + +
    }
    +
    +
    /* Message delivered with eager protocol, data should be available
    +
    * immediately
    +
    */
    +
    am_data_desc.is_rndv = 0;
    +
    +
    iov = am_data_desc.recv_buf;
    +
    offset = 0;
    +
    for (idx = 0; idx < iov_cnt; idx++) {
    +
    mem_type_memcpy(iov[idx].buffer, UCS_PTR_BYTE_OFFSET(data, offset),
    +
    iov[idx].length);
    +
    offset += iov[idx].length;
    +
    }
    +
    +
    return UCS_OK;
    +
    }
    +
    +
    static int send_recv_am(ucp_worker_h ucp_worker, ucp_ep_h ep, int is_server,
    +
    int current_iter)
    +
    {
    +
    ucp_dt_iov_t *iov = alloca(iov_cnt * sizeof(ucp_dt_iov_t));
    +
    test_req_t *request;
    + +
    size_t msg_length;
    +
    void *msg;
    +
    test_req_t ctx;
    +
    +
    memset(iov, 0, iov_cnt * sizeof(*iov));
    +
    +
    if (fill_request_param(iov, !is_server, &msg, &msg_length,
    +
    &ctx, &params) != 0) {
    +
    return -1;
    +
    }
    +
    +
    if (is_server) {
    +
    am_data_desc.recv_buf = iov;
    +
    +
    /* waiting for AM callback has called */
    +
    while (!am_data_desc.complete) {
    +
    ucp_worker_progress(ucp_worker);
    +
    }
    +
    +
    am_data_desc.complete = 0;
    +
    +
    if (am_data_desc.is_rndv) {
    +
    /* Rendezvous request has arrived, need to invoke receive operation
    +
    * to confirm data transfer from the sender to the "recv_message"
    +
    * buffer. */
    + +
    params.cb.recv_am = am_recv_cb,
    +
    request = ucp_am_recv_data_nbx(ucp_worker,
    +
    am_data_desc.desc,
    +
    msg, msg_length,
    +
    &params);
    +
    } else {
    +
    /* Data has arrived eagerly and is ready for use, no need to
    +
    * initiate receive operation. */
    +
    request = NULL;
    +
    }
    +
    } else {
    +
    /* Client sends a message to the server using the AM API */
    +
    params.cb.send = (ucp_send_nbx_callback_t)send_cb,
    +
    request = ucp_am_send_nbx(ep, TEST_AM_ID, NULL, 0ul, msg,
    +
    msg_length, &params);
    +
    }
    +
    +
    return request_finalize(ucp_worker, request, &ctx, is_server, iov,
    +
    current_iter);
    +
    }
    +
    +
    static void usage()
    +
    {
    +
    fprintf(stderr, "Usage: ucp_client_server [parameters]\n");
    +
    fprintf(stderr, "UCP client-server example utility\n");
    +
    fprintf(stderr, "\nParameters are:\n");
    +
    fprintf(stderr, " -a Set IP address of the server "
    +
    "(required for client and should not be specified "
    +
    "for the server)\n");
    +
    fprintf(stderr, " -l Set IP address where server listens "
    +
    "(If not specified, server uses INADDR_ANY; "
    +
    "Irrelevant at client)\n");
    +
    fprintf(stderr, " -p Port number to listen/connect to (default = %d). "
    +
    "0 on the server side means select a random port and print it\n",
    +
    DEFAULT_PORT);
    +
    fprintf(stderr, " -c Communication type for the client and server. "
    +
    " Valid values are:\n"
    +
    " 'stream' : Stream API\n"
    +
    " 'tag' : Tag API\n"
    +
    " 'am' : AM API\n"
    +
    " If not specified, %s API will be used.\n", COMM_TYPE_DEFAULT);
    +
    fprintf(stderr, " -i Number of iterations to run. Client and server must "
    +
    "have the same value. (default = %d).\n",
    +
    num_iterations);
    +
    fprintf(stderr, " -v Number of buffers in a single data "
    +
    "transfer function call. (default = %ld).\n",
    +
    iov_cnt);
    +
    print_common_help();
    +
    fprintf(stderr, "\n");
    +
    }
    +
    +
    static int parse_cmd(int argc, char *const argv[], char **server_addr,
    +
    char **listen_addr, send_recv_type_t *send_recv_type)
    +
    {
    +
    int c = 0;
    +
    int port;
    +
    +
    while ((c = getopt(argc, argv, "a:l:p:c:6i:s:v:m:h")) != -1) {
    +
    switch (c) {
    +
    case 'a':
    +
    *server_addr = optarg;
    +
    break;
    +
    case 'c':
    +
    if (!strcasecmp(optarg, "stream")) {
    +
    *send_recv_type = CLIENT_SERVER_SEND_RECV_STREAM;
    +
    } else if (!strcasecmp(optarg, "tag")) {
    +
    *send_recv_type = CLIENT_SERVER_SEND_RECV_TAG;
    +
    } else if (!strcasecmp(optarg, "am")) {
    +
    *send_recv_type = CLIENT_SERVER_SEND_RECV_AM;
    +
    } else {
    +
    fprintf(stderr, "Wrong communication type %s. "
    +
    "Using %s as default\n", optarg, COMM_TYPE_DEFAULT);
    +
    *send_recv_type = CLIENT_SERVER_SEND_RECV_DEFAULT;
    +
    }
    +
    break;
    +
    case 'l':
    +
    *listen_addr = optarg;
    +
    break;
    +
    case 'p':
    +
    port = atoi(optarg);
    +
    if ((port < 0) || (port > UINT16_MAX)) {
    +
    fprintf(stderr, "Wrong server port number %d\n", port);
    +
    return -1;
    +
    }
    +
    server_port = port;
    +
    break;
    +
    case '6':
    +
    ai_family = AF_INET6;
    +
    break;
    +
    case 'i':
    +
    num_iterations = atoi(optarg);
    +
    break;
    +
    case 's':
    +
    test_string_length = atol(optarg);
    +
    if (test_string_length < 0) {
    +
    fprintf(stderr, "Wrong string size %ld\n", test_string_length);
    + +
    }
    +
    break;
    +
    case 'v':
    +
    iov_cnt = atol(optarg);
    +
    if (iov_cnt <= 0) {
    +
    fprintf(stderr, "Wrong iov count %ld\n", iov_cnt);
    + +
    }
    +
    break;
    +
    case 'm':
    +
    test_mem_type = parse_mem_type(optarg);
    +
    if (test_mem_type == UCS_MEMORY_TYPE_LAST) {
    + +
    }
    +
    break;
    +
    case 'h':
    +
    default:
    +
    usage();
    +
    return -1;
    +
    }
    +
    }
    +
    +
    return 0;
    +
    }
    +
    +
    static char* sockaddr_get_ip_str(const struct sockaddr_storage *sock_addr,
    +
    char *ip_str, size_t max_size)
    +
    {
    +
    struct sockaddr_in addr_in;
    +
    struct sockaddr_in6 addr_in6;
    +
    +
    switch (sock_addr->ss_family) {
    +
    case AF_INET:
    +
    memcpy(&addr_in, sock_addr, sizeof(struct sockaddr_in));
    +
    inet_ntop(AF_INET, &addr_in.sin_addr, ip_str, max_size);
    +
    return ip_str;
    +
    case AF_INET6:
    +
    memcpy(&addr_in6, sock_addr, sizeof(struct sockaddr_in6));
    +
    inet_ntop(AF_INET6, &addr_in6.sin6_addr, ip_str, max_size);
    +
    return ip_str;
    +
    default:
    +
    return "Invalid address family";
    +
    }
    +
    }
    +
    +
    static char* sockaddr_get_port_str(const struct sockaddr_storage *sock_addr,
    +
    char *port_str, size_t max_size)
    +
    {
    +
    struct sockaddr_in addr_in;
    +
    struct sockaddr_in6 addr_in6;
    +
    +
    switch (sock_addr->ss_family) {
    +
    case AF_INET:
    +
    memcpy(&addr_in, sock_addr, sizeof(struct sockaddr_in));
    +
    snprintf(port_str, max_size, "%d", ntohs(addr_in.sin_port));
    +
    return port_str;
    +
    case AF_INET6:
    +
    memcpy(&addr_in6, sock_addr, sizeof(struct sockaddr_in6));
    +
    snprintf(port_str, max_size, "%d", ntohs(addr_in6.sin6_port));
    +
    return port_str;
    +
    default:
    +
    return "Invalid address family";
    +
    }
    +
    }
    +
    +
    static int client_server_communication(ucp_worker_h worker, ucp_ep_h ep,
    +
    send_recv_type_t send_recv_type,
    +
    int is_server, int current_iter)
    +
    {
    +
    int ret;
    +
    +
    switch (send_recv_type) {
    +
    case CLIENT_SERVER_SEND_RECV_STREAM:
    +
    /* Client-Server communication via Stream API */
    +
    ret = send_recv_stream(worker, ep, is_server, current_iter);
    +
    break;
    +
    case CLIENT_SERVER_SEND_RECV_TAG:
    +
    /* Client-Server communication via Tag-Matching API */
    +
    ret = send_recv_tag(worker, ep, is_server, current_iter);
    +
    break;
    +
    case CLIENT_SERVER_SEND_RECV_AM:
    +
    /* Client-Server communication via AM API. */
    +
    ret = send_recv_am(worker, ep, is_server, current_iter);
    +
    break;
    +
    default:
    +
    fprintf(stderr, "unknown send-recv type %d\n", send_recv_type);
    +
    return -1;
    +
    }
    +
    +
    return ret;
    +
    }
    +
    +
    static int init_worker(ucp_context_h ucp_context, ucp_worker_h *ucp_worker)
    +
    {
    +
    ucp_worker_params_t worker_params;
    +
    ucs_status_t status;
    +
    int ret = 0;
    +
    +
    memset(&worker_params, 0, sizeof(worker_params));
    +
    + + +
    +
    status = ucp_worker_create(ucp_context, &worker_params, ucp_worker);
    +
    if (status != UCS_OK) {
    +
    fprintf(stderr, "failed to ucp_worker_create (%s)\n", ucs_status_string(status));
    +
    ret = -1;
    +
    }
    +
    +
    return ret;
    +
    }
    +
    +
    static void server_conn_handle_cb(ucp_conn_request_h conn_request, void *arg)
    +
    {
    +
    ucx_server_ctx_t *context = arg;
    + +
    char ip_str[IP_STRING_LEN];
    +
    char port_str[PORT_STRING_LEN];
    +
    ucs_status_t status;
    +
    + +
    status = ucp_conn_request_query(conn_request, &attr);
    +
    if (status == UCS_OK) {
    +
    printf("Server received a connection request from client at address %s:%s\n",
    +
    sockaddr_get_ip_str(&attr.client_address, ip_str, sizeof(ip_str)),
    +
    sockaddr_get_port_str(&attr.client_address, port_str, sizeof(port_str)));
    +
    } else if (status != UCS_ERR_UNSUPPORTED) {
    +
    fprintf(stderr, "failed to query the connection request (%s)\n",
    +
    ucs_status_string(status));
    +
    }
    +
    +
    if (context->conn_request == NULL) {
    +
    context->conn_request = conn_request;
    +
    } else {
    +
    /* The server is already handling a connection request from a client,
    +
    * reject this new one */
    +
    printf("Rejecting a connection request. "
    +
    "Only one client at a time is supported.\n");
    +
    status = ucp_listener_reject(context->listener, conn_request);
    +
    if (status != UCS_OK) {
    +
    fprintf(stderr, "server failed to reject a connection request: (%s)\n",
    +
    ucs_status_string(status));
    +
    }
    +
    }
    +
    }
    +
    +
    static ucs_status_t server_create_ep(ucp_worker_h data_worker,
    +
    ucp_conn_request_h conn_request,
    +
    ucp_ep_h *server_ep)
    +
    {
    +
    ucp_ep_params_t ep_params;
    +
    ucs_status_t status;
    +
    +
    /* Server creates an ep to the client on the data worker.
    +
    * This is not the worker the listener was created on.
    +
    * The client side should have initiated the connection, leading
    +
    * to this ep's creation */
    + + +
    ep_params.conn_request = conn_request;
    +
    ep_params.err_handler.cb = err_cb;
    +
    ep_params.err_handler.arg = NULL;
    +
    +
    status = ucp_ep_create(data_worker, &ep_params, server_ep);
    +
    if (status != UCS_OK) {
    +
    fprintf(stderr, "failed to create an endpoint on the server: (%s)\n",
    +
    ucs_status_string(status));
    +
    }
    +
    +
    return status;
    +
    }
    +
    + +
    start_server(ucp_worker_h ucp_worker, ucx_server_ctx_t *context,
    +
    ucp_listener_h *listener_p, const char *address_str)
    +
    {
    +
    struct sockaddr_storage listen_addr;
    + + +
    ucs_status_t status;
    +
    char ip_str[IP_STRING_LEN];
    +
    char port_str[PORT_STRING_LEN];
    +
    +
    set_sock_addr(address_str, &listen_addr);
    +
    +
    params.field_mask = UCP_LISTENER_PARAM_FIELD_SOCK_ADDR |
    + +
    params.sockaddr.addr = (const struct sockaddr*)&listen_addr;
    +
    params.sockaddr.addrlen = sizeof(listen_addr);
    +
    params.conn_handler.cb = server_conn_handle_cb;
    +
    params.conn_handler.arg = context;
    +
    +
    /* Create a listener on the server side to listen on the given address.*/
    +
    status = ucp_listener_create(ucp_worker, &params, listener_p);
    +
    if (status != UCS_OK) {
    +
    fprintf(stderr, "failed to listen (%s)\n", ucs_status_string(status));
    +
    goto out;
    +
    }
    +
    +
    /* Query the created listener to get the port it is listening on. */
    + +
    status = ucp_listener_query(*listener_p, &attr);
    +
    if (status != UCS_OK) {
    +
    fprintf(stderr, "failed to query the listener (%s)\n",
    +
    ucs_status_string(status));
    +
    ucp_listener_destroy(*listener_p);
    +
    goto out;
    +
    }
    +
    +
    fprintf(stderr, "server is listening on IP %s port %s\n",
    +
    sockaddr_get_ip_str(&attr.sockaddr, ip_str, IP_STRING_LEN),
    +
    sockaddr_get_port_str(&attr.sockaddr, port_str, PORT_STRING_LEN));
    +
    +
    printf("Waiting for connection...\n");
    +
    +
    out:
    +
    return status;
    +
    }
    +
    +
    static int client_server_do_work(ucp_worker_h ucp_worker, ucp_ep_h ep,
    +
    send_recv_type_t send_recv_type, int is_server)
    +
    {
    +
    int i, ret = 0;
    +
    +
    for (i = 0; i < num_iterations; i++) {
    +
    ret = client_server_communication(ucp_worker, ep, send_recv_type,
    +
    is_server, i);
    +
    if (ret != 0) {
    +
    fprintf(stderr, "%s failed on iteration #%d\n",
    +
    (is_server ? "server": "client"), i + 1);
    +
    goto out;
    +
    }
    +
    }
    +
    +
    out:
    +
    return ret;
    +
    }
    +
    +
    static int run_server(ucp_context_h ucp_context, ucp_worker_h ucp_worker,
    +
    char *listen_addr, send_recv_type_t send_recv_type)
    +
    {
    +
    ucx_server_ctx_t context;
    +
    ucp_worker_h ucp_data_worker;
    + +
    ucp_ep_h server_ep;
    +
    ucs_status_t status;
    +
    int ret;
    +
    +
    /* Create a data worker (to be used for data exchange between the server
    +
    * and the client after the connection between them was established) */
    +
    ret = init_worker(ucp_context, &ucp_data_worker);
    +
    if (ret != 0) {
    +
    goto err;
    +
    }
    +
    +
    if (send_recv_type == CLIENT_SERVER_SEND_RECV_AM) {
    +
    /* Initialize Active Message data handler */
    + + + +
    param.id = TEST_AM_ID;
    +
    param.cb = ucp_am_data_cb;
    +
    param.arg = ucp_data_worker; /* not used in our callback */
    +
    status = ucp_worker_set_am_recv_handler(ucp_data_worker,
    +
    &param);
    +
    if (status != UCS_OK) {
    +
    ret = -1;
    +
    goto err_worker;
    +
    }
    +
    }
    +
    +
    /* Initialize the server's context. */
    +
    context.conn_request = NULL;
    +
    +
    /* Create a listener on the worker created at first. The 'connection
    +
    * worker' - used for connection establishment between client and server.
    +
    * This listener will stay open for listening to incoming connection
    +
    * requests from the client */
    +
    status = start_server(ucp_worker, &context, &context.listener, listen_addr);
    +
    if (status != UCS_OK) {
    +
    ret = -1;
    +
    goto err_worker;
    +
    }
    +
    +
    /* Server is always up listening */
    +
    while (1) {
    +
    /* Wait for the server to receive a connection request from the client.
    +
    * If there are multiple clients for which the server's connection request
    +
    * callback is invoked, i.e. several clients are trying to connect in
    +
    * parallel, the server will handle only the first one and reject the rest */
    +
    while (context.conn_request == NULL) {
    +
    ucp_worker_progress(ucp_worker);
    +
    }
    +
    +
    /* Server creates an ep to the client on the data worker.
    +
    * This is not the worker the listener was created on.
    +
    * The client side should have initiated the connection, leading
    +
    * to this ep's creation */
    +
    status = server_create_ep(ucp_data_worker, context.conn_request,
    +
    &server_ep);
    +
    if (status != UCS_OK) {
    +
    ret = -1;
    +
    goto err_listener;
    +
    }
    +
    +
    /* The server waits for all the iterations to complete before moving on
    +
    * to the next client */
    +
    ret = client_server_do_work(ucp_data_worker, server_ep, send_recv_type,
    +
    1);
    +
    if (ret != 0) {
    +
    goto err_ep;
    +
    }
    +
    +
    /* Close the endpoint to the client */
    +
    ep_close(ucp_data_worker, server_ep, UCP_EP_CLOSE_MODE_FORCE);
    +
    +
    /* Reinitialize the server's context to be used for the next client */
    +
    context.conn_request = NULL;
    +
    +
    printf("Waiting for connection...\n");
    +
    }
    +
    +
    err_ep:
    +
    ep_close(ucp_data_worker, server_ep, UCP_EP_CLOSE_MODE_FORCE);
    +
    err_listener:
    +
    ucp_listener_destroy(context.listener);
    +
    err_worker:
    +
    ucp_worker_destroy(ucp_data_worker);
    +
    err:
    +
    return ret;
    +
    }
    +
    +
    static int run_client(ucp_worker_h ucp_worker, char *server_addr,
    +
    send_recv_type_t send_recv_type)
    +
    {
    +
    ucp_ep_h client_ep;
    +
    ucs_status_t status;
    +
    int ret;
    +
    +
    status = start_client(ucp_worker, server_addr, &client_ep);
    +
    if (status != UCS_OK) {
    +
    fprintf(stderr, "failed to start client (%s)\n", ucs_status_string(status));
    +
    ret = -1;
    +
    goto out;
    +
    }
    +
    +
    ret = client_server_do_work(ucp_worker, client_ep, send_recv_type, 0);
    +
    +
    /* Close the endpoint to the server */
    +
    ep_close(ucp_worker, client_ep, UCP_EP_CLOSE_MODE_FORCE);
    +
    +
    out:
    +
    return ret;
    +
    }
    +
    +
    static int init_context(ucp_context_h *ucp_context, ucp_worker_h *ucp_worker,
    +
    send_recv_type_t send_recv_type)
    +
    {
    +
    /* UCP objects */
    + +
    ucs_status_t status;
    +
    int ret = 0;
    +
    +
    memset(&ucp_params, 0, sizeof(ucp_params));
    +
    +
    /* UCP initialization */
    + +
    +
    if (send_recv_type == CLIENT_SERVER_SEND_RECV_STREAM) {
    + +
    } else if (send_recv_type == CLIENT_SERVER_SEND_RECV_TAG) {
    + +
    } else {
    + +
    }
    +
    +
    status = ucp_init(&ucp_params, NULL, ucp_context);
    +
    if (status != UCS_OK) {
    +
    fprintf(stderr, "failed to ucp_init (%s)\n", ucs_status_string(status));
    +
    ret = -1;
    +
    goto err;
    +
    }
    +
    +
    ret = init_worker(*ucp_context, ucp_worker);
    +
    if (ret != 0) {
    +
    goto err_cleanup;
    +
    }
    +
    +
    return ret;
    +
    +
    err_cleanup:
    +
    ucp_cleanup(*ucp_context);
    +
    err:
    +
    return ret;
    +
    }
    +
    +
    +
    int main(int argc, char **argv)
    +
    {
    +
    send_recv_type_t send_recv_type = CLIENT_SERVER_SEND_RECV_DEFAULT;
    +
    char *server_addr = NULL;
    +
    char *listen_addr = NULL;
    +
    int ret;
    +
    +
    /* UCP objects */
    +
    ucp_context_h ucp_context;
    +
    ucp_worker_h ucp_worker;
    +
    +
    ret = parse_cmd(argc, argv, &server_addr, &listen_addr, &send_recv_type);
    +
    if (ret != 0) {
    +
    goto err;
    +
    }
    +
    +
    /* Initialize the UCX required objects */
    +
    ret = init_context(&ucp_context, &ucp_worker, send_recv_type);
    +
    if (ret != 0) {
    +
    goto err;
    +
    }
    +
    +
    /* Client-Server initialization */
    +
    if (server_addr == NULL) {
    +
    /* Server side */
    +
    ret = run_server(ucp_context, ucp_worker, listen_addr, send_recv_type);
    +
    } else {
    +
    /* Client side */
    +
    ret = run_client(ucp_worker, server_addr, send_recv_type);
    +
    }
    +
    +
    ucp_worker_destroy(ucp_worker);
    +
    ucp_cleanup(ucp_context);
    +
    err:
    +
    return ret;
    +
    }
    +
    +
    +
    @ UCP_AM_HANDLER_PARAM_FIELD_CB
    Definition: ucp.h:789
    +
    uint64_t field_mask
    Definition: ucp.h:1424
    +
    @ UCP_EP_PARAM_FIELD_SOCK_ADDR
    Definition: ucp.h:248
    +
    ucp_conn_request_h conn_request
    Definition: ucp_def.h:743
    +
    void * arg
    Definition: ucp.h:1805
    +
    struct sockaddr_storage sockaddr
    Definition: ucp.h:1406
    +
    ucp_am_recv_callback_t cb
    Definition: ucp.h:1799
    +
    @ UCP_EP_PARAM_FIELD_CONN_REQUEST
    Definition: ucp.h:251
    +
    ucp_err_handler_t err_handler
    Definition: ucp_def.h:709
    +
    union ucp_request_param_t::@2 cb
    +
    @ UCP_FEATURE_TAG
    Definition: ucp.h:141
    +
    Tuning parameters for UCP library.
    Definition: ucp.h:976
    +
    unsigned id
    Definition: ucp.h:1788
    +
    ucs_status_t ucp_ep_create(ucp_worker_h worker, const ucp_ep_params_t *params, ucp_ep_h *ep_p)
    Create and connect an endpoint.
    +
    uint64_t recv_attr
    Definition: ucp.h:1819
    +
    #define ucp_dt_make_contig(_elem_size)
    Generate an identifier for contiguous data type.
    Definition: ucp.h:811
    +
    @ UCP_EP_CLOSE_MODE_FORCE
    Definition: ucp.h:331
    +
    uint64_t features
    Definition: ucp.h:990
    +
    @ UCS_MEMORY_TYPE_LAST
    Definition: memory_type.h:43
    +
    ucs_status_ptr_t ucp_am_recv_data_nbx(ucp_worker_h worker, void *data_desc, void *buffer, size_t count, const ucp_request_param_t *param)
    Receive Active Message as defined by provided data descriptor.
    +
    @ UCP_LISTENER_PARAM_FIELD_SOCK_ADDR
    Definition: ucp.h:203
    +
    void ucp_listener_destroy(ucp_listener_h listener)
    Stop accepting connections on a local address of the worker object.
    +
    struct ucp_listener * ucp_listener_h
    UCP listen handle.
    Definition: ucp_def.h:177
    +
    ucp_err_handler_cb_t cb
    Definition: ucp_def.h:367
    +
    @ UCP_PARAM_FIELD_FEATURES
    Definition: ucp.h:120
    +
    @ UCP_OP_ATTR_FIELD_USER_DATA
    Definition: ucp.h:694
    +
    Active Message handler parameters passed to ucp_worker_set_am_recv_handler routine.
    Definition: ucp.h:1777
    +
    @ UCP_WORKER_PARAM_FIELD_THREAD_MODE
    Definition: ucp.h:165
    +
    Parameters for a UCP listener object.
    Definition: ucp.h:1447
    +
    @ UCP_OP_ATTR_FIELD_CALLBACK
    Definition: ucp.h:693
    +
    void * arg
    Definition: ucp_def.h:369
    +
    @ UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ADDR
    Definition: ucp.h:492
    +
    void(* ucp_send_nbx_callback_t)(void *request, ucs_status_t status, void *user_data)
    Completion callback for non-blocking sends.
    Definition: ucp_def.h:340
    +
    void ucp_worker_destroy(ucp_worker_h worker)
    Destroy a worker object.
    +
    @ UCS_ERR_UNSUPPORTED
    Definition: status.h:74
    +
    Structure for scatter-gather I/O.
    Definition: ucp.h:842
    +
    @ UCP_DATATYPE_IOV
    Definition: ucp.h:506
    +
    Operation parameters passed to ucp_tag_send_nbx, ucp_tag_send_sync_nbx, ucp_tag_recv_nbx,...
    Definition: ucp.h:1650
    +
    UCP receive information descriptor.
    Definition: ucp.h:1602
    +
    @ UCS_OK
    Definition: status.h:47
    +
    const struct sockaddr * addr
    Definition: types.h:138
    +
    ucp_datatype_t datatype
    Definition: ucp.h:1685
    +
    @ UCP_EP_PARAM_FIELD_ERR_HANDLING_MODE
    Definition: ucp.h:243
    +
    uint32_t flags
    Definition: ucp.h:1659
    +
    ucs_status_ptr_t ucp_tag_send_nbx(ucp_ep_h ep, const void *buffer, size_t count, ucp_tag_t tag, const ucp_request_param_t *param)
    Non-blocking tagged-send operation.
    +
    static ucs_status_t ucp_init(const ucp_params_t *params, const ucp_config_t *config, ucp_context_h *context_p)
    UCP context initialization.
    Definition: ucp.h:1993
    +
    struct ucp_context * ucp_context_h
    UCP Application Context.
    Definition: ucp_def.h:60
    +
    Tuning parameters for the UCP endpoint.
    Definition: ucp_def.h:683
    +
    @ UCP_EP_PARAM_FIELD_ERR_HANDLER
    Definition: ucp.h:245
    +
    @ UCP_AM_RECV_ATTR_FLAG_RNDV
    Definition: ucp.h:766
    +
    ucs_status_t ucp_listener_reject(ucp_listener_h listener, ucp_conn_request_h conn_request)
    Reject an incoming connection request.
    +
    size_t length
    Definition: ucp.h:844
    +
    @ UCP_AM_HANDLER_PARAM_FIELD_ID
    Definition: ucp.h:781
    +
    UCP listener attributes.
    Definition: ucp.h:1393
    +
    struct ucp_worker * ucp_worker_h
    UCP Worker.
    Definition: ucp_def.h:246
    +
    uint64_t field_mask
    Definition: ucp_def.h:690
    +
    ucs_status_ptr_t ucp_am_send_nbx(ucp_ep_h ep, unsigned id, const void *header, size_t header_length, const void *buffer, size_t count, const ucp_request_param_t *param)
    Send Active Message.
    +
    ucs_thread_mode_t thread_mode
    Definition: ucp.h:1236
    +
    unsigned ucp_worker_progress(ucp_worker_h worker)
    Progress all communications on a specific worker.
    +
    @ UCP_ERR_HANDLING_MODE_PEER
    Definition: ucp_def.h:130
    +
    ucs_status_ptr_t ucp_stream_send_nbx(ucp_ep_h ep, const void *buffer, size_t count, const ucp_request_param_t *param)
    Non-blocking stream send operation.
    +
    @ UCS_INPROGRESS
    Definition: status.h:50
    +
    @ UCP_OP_ATTR_FIELD_DATATYPE
    Definition: ucp.h:695
    +
    @ UCP_LISTENER_PARAM_FIELD_CONN_HANDLER
    Definition: ucp.h:212
    +
    ucs_status_t
    Status codes.
    Definition: status.h:45
    +
    @ UCP_FEATURE_STREAM
    Definition: ucp.h:151
    +
    uint32_t op_attr_mask
    Definition: ucp.h:1656
    +
    @ UCS_THREAD_MODE_SINGLE
    Definition: thread_mode.h:20
    +
    uint64_t field_mask
    Definition: ucp.h:1222
    +
    @ UCP_STREAM_RECV_FLAG_WAITALL
    Definition: ucp.h:674
    +
    void * buffer
    Definition: ucp.h:843
    +
    struct ucp_conn_request * ucp_conn_request_h
    UCP connection request.
    Definition: ucp_def.h:102
    +
    unsigned flags
    Definition: ucp_def.h:724
    +
    Operation parameters provided in ucp_am_recv_callback_t callback.
    Definition: ucp.h:1813
    +
    uint64_t field_mask
    Definition: ucp.h:1783
    +
    socklen_t addrlen
    Definition: types.h:139
    +
    struct ucp_ep * ucp_ep_h
    UCP Endpoint.
    Definition: ucp_def.h:92
    +
    @ UCP_OP_ATTR_FIELD_FLAGS
    Definition: ucp.h:696
    +
    @ UCP_EP_PARAM_FIELD_FLAGS
    Definition: ucp.h:249
    +
    ucs_status_ptr_t ucp_tag_recv_nbx(ucp_worker_h worker, void *buffer, size_t count, ucp_tag_t tag, ucp_tag_t tag_mask, const ucp_request_param_t *param)
    Non-blocking tagged-receive operation.
    +
    void * user_data
    Definition: ucp.h:1690
    +
    ucs_status_ptr_t ucp_stream_recv_nbx(ucp_ep_h ep, void *buffer, size_t count, size_t *length, const ucp_request_param_t *param)
    Non-blocking stream receive operation of structured data into a user-supplied buffer.
    +
    ucs_status_t ucp_conn_request_query(ucp_conn_request_h conn_request, ucp_conn_request_attr_t *attr)
    Get attributes specific to a particular connection request received on the server side.
    +
    @ UCP_FEATURE_AM
    Definition: ucp.h:152
    +
    UCP listener's connection request attributes.
    Definition: ucp.h:1417
    +
    ucs_status_t ucp_worker_create(ucp_context_h context, const ucp_worker_params_t *params, ucp_worker_h *worker_p)
    Create a worker object.
    +
    ucs_status_t ucp_worker_set_am_recv_handler(ucp_worker_h worker, const ucp_am_handler_param_t *param)
    Add user defined callback for Active Message.
    +
    @ UCP_LISTENER_ATTR_FIELD_SOCKADDR
    Definition: ucp.h:480
    +
    ucs_sock_addr_t sockaddr
    Definition: ucp_def.h:733
    +
    ucs_status_t ucp_listener_query(ucp_listener_h listener, ucp_listener_attr_t *attr)
    Get attributes specific to a particular listener.
    +
    ucs_status_t ucp_listener_create(ucp_worker_h worker, const ucp_listener_params_t *params, ucp_listener_h *listener_p)
    Create a listener to accept connections on. Connection requests on the listener will arrive at a loca...
    +
    ucs_status_t ucp_request_check_status(void *request)
    Check the status of non-blocking request.
    +
    uint64_t field_mask
    Definition: ucp.h:982
    +
    void ucp_cleanup(ucp_context_h context_p)
    Release UCP application context.
    +
    @ UCP_OP_ATTR_FLAG_NO_IMM_CMPL
    Definition: ucp.h:702
    +
    uint64_t field_mask
    Definition: ucp.h:1400
    +
    struct sockaddr_storage client_address
    Definition: ucp.h:1430
    +
    void ucp_request_free(void *request)
    Release a communications request.
    +
    @ UCP_EP_PARAMS_FLAGS_CLIENT_SERVER
    Definition: ucp.h:265
    +
    Tuning parameters for the UCP worker.
    Definition: ucp.h:1216
    +
    @ UCP_AM_HANDLER_PARAM_FIELD_ARG
    Definition: ucp.h:793
    +
    ucp_err_handling_mode_t err_mode
    Definition: ucp_def.h:704
    + + + + diff --git a/api/v1.13/html/ucp_hello_world_8c-example.html b/api/v1.13/html/ucp_hello_world_8c-example.html new file mode 100644 index 00000000000..de1ac1e5ae6 --- /dev/null +++ b/api/v1.13/html/ucp_hello_world_8c-example.html @@ -0,0 +1,918 @@ + + + + + + + +UCX: ucp_hello_world.c + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    ucp_hello_world.c
    +
    +
    +

    UCP hello world client / server example utility.

    +
    +
    #ifndef HAVE_CONFIG_H
    +
    # define HAVE_CONFIG_H /* Force using config.h, so test would fail if header
    +
    actually tries to use it */
    +
    #endif
    +
    +
    /*
    +
    * UCP hello world client / server example utility
    +
    * -----------------------------------------------
    +
    *
    +
    * Server side:
    +
    *
    +
    * ./ucp_hello_world
    +
    *
    +
    * Client side:
    +
    *
    +
    * ./ucp_hello_world -n <server host name>
    +
    *
    +
    * Notes:
    +
    *
    +
    * - Client acquires Server UCX address via TCP socket
    +
    *
    +
    *
    +
    * Author:
    +
    *
    +
    * Ilya Nelkenbaum <ilya@nelkenbaum.com>
    +
    * Sergey Shalnov <sergeysh@mellanox.com> 7-June-2016
    +
    */
    +
    +
    #include "hello_world_util.h"
    +
    #include "ucp_util.h"
    +
    +
    #include <ucp/api/ucp.h>
    +
    +
    #include <sys/socket.h>
    +
    #include <sys/types.h>
    +
    #include <sys/epoll.h>
    +
    #include <netinet/in.h>
    +
    #include <assert.h>
    +
    #include <netdb.h>
    +
    #include <stdio.h>
    +
    #include <stdlib.h>
    +
    #include <string.h>
    +
    #include <unistd.h> /* getopt */
    +
    #include <pthread.h> /* pthread_self */
    +
    #include <errno.h> /* errno */
    +
    #include <time.h>
    +
    #include <signal.h> /* raise */
    +
    +
    struct msg {
    +
    uint64_t data_len;
    +
    };
    +
    +
    struct ucx_context {
    +
    int completed;
    +
    };
    +
    +
    enum ucp_test_mode_t {
    +
    TEST_MODE_PROBE,
    +
    TEST_MODE_WAIT,
    +
    TEST_MODE_EVENTFD
    +
    } ucp_test_mode = TEST_MODE_PROBE;
    +
    +
    typedef enum {
    +
    FAILURE_MODE_NONE,
    +
    FAILURE_MODE_SEND, /* fail send operation on server */
    +
    FAILURE_MODE_RECV, /* fail receive operation on client */
    +
    FAILURE_MODE_KEEPALIVE /* fail without communication on client */
    +
    } failure_mode_t;
    +
    +
    static struct err_handling {
    + +
    failure_mode_t failure_mode;
    +
    } err_handling_opt;
    +
    +
    static ucs_status_t ep_status = UCS_OK;
    +
    static uint16_t server_port = 13337;
    +
    static sa_family_t ai_family = AF_INET;
    +
    static long test_string_length = 16;
    +
    static const ucp_tag_t tag = 0x1337a880u;
    +
    static const ucp_tag_t tag_mask = UINT64_MAX;
    +
    static const char *addr_msg_str = "UCX address message";
    +
    static const char *data_msg_str = "UCX data message";
    +
    static int print_config = 0;
    +
    static ucp_address_t *local_addr;
    +
    static ucp_address_t *peer_addr;
    +
    +
    static size_t local_addr_len;
    +
    static size_t peer_addr_len;
    +
    +
    static ucs_status_t parse_cmd(int argc, char * const argv[], char **server_name);
    +
    +
    static void set_msg_data_len(struct msg *msg, uint64_t data_len)
    +
    {
    +
    mem_type_memcpy(&msg->data_len, &data_len, sizeof(data_len));
    +
    }
    +
    +
    static void request_init(void *request)
    +
    {
    +
    struct ucx_context *contex = (struct ucx_context *)request;
    +
    +
    contex->completed = 0;
    +
    }
    +
    +
    static void send_handler(void *request, ucs_status_t status, void *ctx)
    +
    {
    +
    struct ucx_context *context = (struct ucx_context *)request;
    +
    const char *str = (const char *)ctx;
    +
    +
    context->completed = 1;
    +
    +
    printf("[0x%x] send handler called for \"%s\" with status %d (%s)\n",
    +
    (unsigned int)pthread_self(), str, status,
    +
    ucs_status_string(status));
    +
    }
    +
    +
    static void failure_handler(void *arg, ucp_ep_h ep, ucs_status_t status)
    +
    {
    +
    ucs_status_t *arg_status = (ucs_status_t *)arg;
    +
    +
    printf("[0x%x] failure handler called with status %d (%s)\n",
    +
    (unsigned int)pthread_self(), status, ucs_status_string(status));
    +
    +
    *arg_status = status;
    +
    }
    +
    +
    static void recv_handler(void *request, ucs_status_t status,
    + +
    {
    +
    struct ucx_context *context = (struct ucx_context *)request;
    +
    +
    context->completed = 1;
    +
    +
    printf("[0x%x] receive handler called with status %d (%s), length %lu\n",
    +
    (unsigned int)pthread_self(), status, ucs_status_string(status),
    +
    info->length);
    +
    }
    +
    +
    static ucs_status_t ucx_wait(ucp_worker_h ucp_worker, struct ucx_context *request,
    +
    const char *op_str, const char *data_str)
    +
    {
    +
    ucs_status_t status;
    +
    +
    if (UCS_PTR_IS_ERR(request)) {
    +
    status = UCS_PTR_STATUS(request);
    +
    } else if (UCS_PTR_IS_PTR(request)) {
    +
    while (!request->completed) {
    +
    ucp_worker_progress(ucp_worker);
    +
    }
    +
    +
    request->completed = 0;
    +
    status = ucp_request_check_status(request);
    +
    ucp_request_free(request);
    +
    } else {
    +
    status = UCS_OK;
    +
    }
    +
    +
    if (status != UCS_OK) {
    +
    fprintf(stderr, "unable to %s %s (%s)\n", op_str, data_str,
    +
    ucs_status_string(status));
    +
    } else {
    +
    printf("finish to %s %s\n", op_str, data_str);
    +
    }
    +
    +
    return status;
    +
    }
    +
    +
    static ucs_status_t test_poll_wait(ucp_worker_h ucp_worker)
    +
    {
    +
    int err = 0;
    + +
    int epoll_fd_local = 0;
    +
    int epoll_fd = 0;
    +
    ucs_status_t status;
    +
    struct epoll_event ev;
    +
    ev.data.u64 = 0;
    +
    +
    status = ucp_worker_get_efd(ucp_worker, &epoll_fd);
    +
    CHKERR_JUMP(UCS_OK != status, "ucp_worker_get_efd", err);
    +
    +
    /* It is recommended to copy original fd */
    +
    epoll_fd_local = epoll_create(1);
    +
    +
    ev.data.fd = epoll_fd;
    +
    ev.events = EPOLLIN;
    +
    err = epoll_ctl(epoll_fd_local, EPOLL_CTL_ADD, epoll_fd, &ev);
    +
    CHKERR_JUMP(err < 0, "add original socket to the new epoll\n", err_fd);
    +
    +
    /* Need to prepare ucp_worker before epoll_wait */
    +
    status = ucp_worker_arm(ucp_worker);
    +
    if (status == UCS_ERR_BUSY) { /* some events are arrived already */
    +
    ret = UCS_OK;
    +
    goto err_fd;
    +
    }
    +
    CHKERR_JUMP(status != UCS_OK, "ucp_worker_arm\n", err_fd);
    +
    +
    do {
    +
    err = epoll_wait(epoll_fd_local, &ev, 1, -1);
    +
    } while ((err == -1) && (errno == EINTR));
    +
    +
    ret = UCS_OK;
    +
    +
    err_fd:
    +
    close(epoll_fd_local);
    +
    +
    err:
    +
    return ret;
    +
    }
    +
    +
    static void ep_close_err_mode(ucp_worker_h ucp_worker, ucp_ep_h ucp_ep)
    +
    {
    +
    uint64_t ep_close_flags;
    +
    +
    if (err_handling_opt.ucp_err_mode == UCP_ERR_HANDLING_MODE_PEER) {
    +
    ep_close_flags = UCP_EP_CLOSE_FLAG_FORCE;
    +
    } else {
    +
    ep_close_flags = 0;
    +
    }
    +
    +
    ep_close(ucp_worker, ucp_ep, ep_close_flags);
    +
    }
    +
    +
    static int run_ucx_client(ucp_worker_h ucp_worker)
    +
    {
    +
    struct msg *msg = NULL;
    +
    size_t msg_len = 0;
    +
    int ret = -1;
    +
    ucp_request_param_t send_param;
    + + +
    ucs_status_t status;
    +
    ucp_ep_h server_ep;
    +
    ucp_ep_params_t ep_params;
    +
    struct ucx_context *request;
    +
    char *str;
    +
    +
    /* Send client UCX address to server */
    + + + + +
    ep_params.address = peer_addr;
    +
    ep_params.err_mode = err_handling_opt.ucp_err_mode;
    +
    ep_params.err_handler.cb = failure_handler;
    +
    ep_params.err_handler.arg = NULL;
    +
    ep_params.user_data = &ep_status;
    +
    +
    status = ucp_ep_create(ucp_worker, &ep_params, &server_ep);
    +
    CHKERR_JUMP(status != UCS_OK, "ucp_ep_create\n", err);
    +
    +
    msg_len = sizeof(*msg) + local_addr_len;
    +
    msg = malloc(msg_len);
    +
    CHKERR_JUMP(msg == NULL, "allocate memory\n", err_ep);
    +
    memset(msg, 0, msg_len);
    +
    +
    msg->data_len = local_addr_len;
    +
    memcpy(msg + 1, local_addr, local_addr_len);
    +
    + + +
    send_param.cb.send = send_handler;
    +
    send_param.user_data = (void*)addr_msg_str;
    +
    request = ucp_tag_send_nbx(server_ep, msg, msg_len, tag,
    +
    &send_param);
    +
    status = ucx_wait(ucp_worker, request, "send",
    +
    addr_msg_str);
    +
    if (status != UCS_OK) {
    +
    free(msg);
    +
    goto err_ep;
    +
    }
    +
    +
    free(msg);
    +
    +
    if (err_handling_opt.failure_mode == FAILURE_MODE_RECV) {
    +
    fprintf(stderr, "Emulating failure before receive operation on client side\n");
    +
    raise(SIGKILL);
    +
    }
    +
    +
    /* Receive test string from server */
    +
    for (;;) {
    +
    CHKERR_JUMP(ep_status != UCS_OK, "receive data: EP disconnected\n", err_ep);
    +
    /* Probing incoming events in non-block mode */
    +
    msg_tag = ucp_tag_probe_nb(ucp_worker, tag, tag_mask, 1, &info_tag);
    +
    if (msg_tag != NULL) {
    +
    /* Message arrived */
    +
    break;
    +
    } else if (ucp_worker_progress(ucp_worker)) {
    +
    /* Some events were polled; try again without going to sleep */
    +
    continue;
    +
    }
    +
    +
    /* If we got here, ucp_worker_progress() returned 0, so we can sleep.
    +
    * Following blocked methods used to polling internal file descriptor
    +
    * to make CPU idle and don't spin loop
    +
    */
    +
    if (ucp_test_mode == TEST_MODE_WAIT) {
    +
    /* Polling incoming events*/
    +
    status = ucp_worker_wait(ucp_worker);
    +
    CHKERR_JUMP(status != UCS_OK, "ucp_worker_wait\n", err_ep);
    +
    } else if (ucp_test_mode == TEST_MODE_EVENTFD) {
    +
    status = test_poll_wait(ucp_worker);
    +
    CHKERR_JUMP(status != UCS_OK, "test_poll_wait\n", err_ep);
    +
    }
    +
    }
    +
    +
    if (err_handling_opt.failure_mode == FAILURE_MODE_KEEPALIVE) {
    +
    fprintf(stderr, "Emulating unexpected failure after receive completion "
    +
    "on client side, server should detect error by "
    +
    "keepalive mechanism\n");
    +
    raise(SIGKILL);
    +
    }
    +
    +
    msg = mem_type_malloc(info_tag.length);
    +
    CHKERR_JUMP(msg == NULL, "allocate memory\n", err_ep);
    +
    +
    request = ucp_tag_msg_recv_nb(ucp_worker, msg, info_tag.length,
    +
    ucp_dt_make_contig(1), msg_tag,
    +
    recv_handler);
    +
    status = ucx_wait(ucp_worker, request, "receive", data_msg_str);
    +
    if (status != UCS_OK) {
    +
    mem_type_free(msg);
    +
    goto err_ep;
    +
    }
    +
    +
    str = calloc(1, test_string_length);
    +
    if (str == NULL) {
    +
    fprintf(stderr, "Memory allocation failed\n");
    +
    ret = -1;
    +
    goto err_msg;
    +
    }
    +
    +
    mem_type_memcpy(str, msg + 1, test_string_length);
    +
    printf("\n\n----- UCP TEST SUCCESS ----\n\n");
    +
    printf("%s", str);
    +
    printf("\n\n---------------------------\n\n");
    +
    free(str);
    +
    ret = 0;
    +
    +
    err_msg:
    +
    mem_type_free(msg);
    +
    err_ep:
    +
    ep_close_err_mode(ucp_worker, server_ep);
    +
    err:
    +
    return ret;
    +
    }
    +
    +
    static void flush_callback(void *request, ucs_status_t status, void *user_data)
    +
    {
    +
    }
    +
    +
    static ucs_status_t flush_ep(ucp_worker_h worker, ucp_ep_h ep)
    +
    {
    + +
    void *request;
    +
    + +
    param.cb.send = flush_callback;
    +
    request = ucp_ep_flush_nbx(ep, &param);
    +
    if (request == NULL) {
    +
    return UCS_OK;
    +
    } else if (UCS_PTR_IS_ERR(request)) {
    +
    return UCS_PTR_STATUS(request);
    +
    } else {
    +
    ucs_status_t status;
    +
    do {
    + +
    status = ucp_request_check_status(request);
    +
    } while (status == UCS_INPROGRESS);
    +
    ucp_request_free(request);
    +
    return status;
    +
    }
    +
    }
    +
    +
    static int run_ucx_server(ucp_worker_h ucp_worker)
    +
    {
    +
    struct msg *msg = NULL;
    +
    struct ucx_context *request = NULL;
    +
    size_t msg_len = 0;
    +
    ucp_request_param_t send_param;
    + + +
    ucs_status_t status;
    +
    ucp_ep_h client_ep;
    +
    ucp_ep_params_t ep_params;
    +
    int ret;
    +
    +
    /* Receive client UCX address */
    +
    do {
    +
    /* Progressing before probe to update the state */
    +
    ucp_worker_progress(ucp_worker);
    +
    +
    /* Probing incoming events in non-block mode */
    +
    msg_tag = ucp_tag_probe_nb(ucp_worker, tag, tag_mask, 1, &info_tag);
    +
    } while (msg_tag == NULL);
    +
    +
    msg = malloc(info_tag.length);
    +
    CHKERR_ACTION(msg == NULL, "allocate memory\n", ret = -1; goto err);
    +
    request = ucp_tag_msg_recv_nb(ucp_worker, msg, info_tag.length,
    +
    ucp_dt_make_contig(1), msg_tag, recv_handler);
    +
    status = ucx_wait(ucp_worker, request, "receive", addr_msg_str);
    +
    if (status != UCS_OK) {
    +
    free(msg);
    +
    ret = -1;
    +
    goto err;
    +
    }
    +
    +
    if (err_handling_opt.failure_mode == FAILURE_MODE_SEND) {
    +
    fprintf(stderr, "Emulating unexpected failure on server side, client "
    +
    "should detect error by keepalive mechanism\n");
    +
    free(msg);
    +
    raise(SIGKILL);
    +
    exit(1);
    +
    }
    +
    +
    peer_addr_len = msg->data_len;
    +
    peer_addr = malloc(peer_addr_len);
    +
    if (peer_addr == NULL) {
    +
    fprintf(stderr, "unable to allocate memory for peer address\n");
    +
    free(msg);
    +
    ret = -1;
    +
    goto err;
    +
    }
    +
    +
    memcpy(peer_addr, msg + 1, peer_addr_len);
    +
    +
    free(msg);
    +
    +
    /* Send test string to client */
    + + + + +
    ep_params.address = peer_addr;
    +
    ep_params.err_mode = err_handling_opt.ucp_err_mode;
    +
    ep_params.err_handler.cb = failure_handler;
    +
    ep_params.err_handler.arg = NULL;
    +
    ep_params.user_data = &ep_status;
    +
    +
    status = ucp_ep_create(ucp_worker, &ep_params, &client_ep);
    +
    /* If peer failure testing was requested, it could be possible that UCP EP
    +
    * couldn't be created; in this case set `ret = 0` to report success */
    +
    ret = (err_handling_opt.failure_mode != FAILURE_MODE_NONE) ? 0 : -1;
    +
    CHKERR_ACTION(status != UCS_OK, "ucp_ep_create\n", goto err);
    +
    +
    msg_len = sizeof(*msg) + test_string_length;
    +
    msg = mem_type_malloc(msg_len);
    +
    CHKERR_ACTION(msg == NULL, "allocate memory\n", ret = -1; goto err_ep);
    +
    mem_type_memset(msg, 0, msg_len);
    +
    +
    set_msg_data_len(msg, msg_len - sizeof(*msg));
    +
    ret = generate_test_string((char *)(msg + 1), test_string_length);
    +
    CHKERR_JUMP(ret < 0, "generate test string", err_free_mem_type_msg);
    +
    +
    if (err_handling_opt.failure_mode == FAILURE_MODE_RECV) {
    +
    /* Sleep for small amount of time to ensure that client was killed
    +
    * and peer failure handling is covered */
    +
    sleep(5);
    +
    }
    +
    +
    ucp_worker_progress(ucp_worker);
    +
    + + + +
    send_param.cb.send = send_handler;
    +
    send_param.user_data = (void*)data_msg_str;
    +
    send_param.memory_type = test_mem_type;
    +
    request = ucp_tag_send_nbx(client_ep, msg, msg_len, tag,
    +
    &send_param);
    +
    status = ucx_wait(ucp_worker, request, "send",
    +
    data_msg_str);
    +
    if (status != UCS_OK) {
    +
    if (err_handling_opt.failure_mode != FAILURE_MODE_NONE) {
    +
    ret = -1;
    +
    } else {
    +
    /* If peer failure testing was requested, set `ret = 0` to report
    +
    * success from the application */
    +
    ret = 0;
    +
    +
    /* Make sure that failure_handler was called */
    +
    while (ep_status == UCS_OK) {
    +
    ucp_worker_progress(ucp_worker);
    +
    }
    +
    }
    +
    goto err_free_mem_type_msg;
    +
    }
    +
    +
    if (err_handling_opt.failure_mode == FAILURE_MODE_KEEPALIVE) {
    +
    fprintf(stderr, "Waiting for client is terminated\n");
    +
    while (ep_status == UCS_OK) {
    +
    ucp_worker_progress(ucp_worker);
    +
    }
    +
    }
    +
    +
    status = flush_ep(ucp_worker, client_ep);
    +
    printf("flush_ep completed with status %d (%s)\n",
    +
    status, ucs_status_string(status));
    +
    +
    ret = 0;
    +
    +
    err_free_mem_type_msg:
    +
    mem_type_free(msg);
    +
    err_ep:
    +
    ep_close_err_mode(ucp_worker, client_ep);
    +
    err:
    +
    return ret;
    +
    }
    +
    +
    static int run_test(const char *client_target_name, ucp_worker_h ucp_worker)
    +
    {
    +
    if (client_target_name != NULL) {
    +
    return run_ucx_client(ucp_worker);
    +
    } else {
    +
    return run_ucx_server(ucp_worker);
    +
    }
    +
    }
    +
    +
    static void progress_worker(void *arg)
    +
    {
    + +
    }
    +
    +
    int main(int argc, char **argv)
    +
    {
    +
    /* UCP temporary vars */
    + +
    ucp_worker_params_t worker_params;
    +
    ucp_config_t *config;
    +
    ucs_status_t status;
    +
    +
    /* UCP handler objects */
    +
    ucp_context_h ucp_context;
    +
    ucp_worker_h ucp_worker;
    +
    +
    /* OOB connection vars */
    +
    uint64_t addr_len = 0;
    +
    char *client_target_name = NULL;
    +
    int oob_sock = -1;
    +
    int ret = -1;
    +
    +
    memset(&ucp_params, 0, sizeof(ucp_params));
    +
    memset(&worker_params, 0, sizeof(worker_params));
    +
    +
    /* Parse the command line */
    +
    status = parse_cmd(argc, argv, &client_target_name);
    +
    CHKERR_JUMP(status != UCS_OK, "parse_cmd\n", err);
    +
    +
    /* UCP initialization */
    +
    status = ucp_config_read(NULL, NULL, &config);
    +
    CHKERR_JUMP(status != UCS_OK, "ucp_config_read\n", err);
    +
    + + + + +
    if (ucp_test_mode == TEST_MODE_WAIT || ucp_test_mode == TEST_MODE_EVENTFD) {
    + +
    }
    +
    ucp_params.request_size = sizeof(struct ucx_context);
    +
    ucp_params.request_init = request_init;
    +
    +
    status = ucp_init(&ucp_params, config, &ucp_context);
    +
    +
    if (print_config) {
    +
    ucp_config_print(config, stdout, NULL, UCS_CONFIG_PRINT_CONFIG);
    +
    }
    +
    + +
    CHKERR_JUMP(status != UCS_OK, "ucp_init\n", err);
    +
    + + +
    +
    status = ucp_worker_create(ucp_context, &worker_params, &ucp_worker);
    +
    CHKERR_JUMP(status != UCS_OK, "ucp_worker_create\n", err_cleanup);
    +
    +
    status = ucp_worker_get_address(ucp_worker, &local_addr, &local_addr_len);
    +
    CHKERR_JUMP(status != UCS_OK, "ucp_worker_get_address\n", err_worker);
    +
    +
    printf("[0x%x] local address length: %lu\n",
    +
    (unsigned int)pthread_self(), local_addr_len);
    +
    +
    /* OOB connection establishment */
    +
    if (client_target_name) {
    +
    peer_addr_len = local_addr_len;
    +
    +
    oob_sock = connect_common(client_target_name, server_port, ai_family);
    +
    CHKERR_JUMP(oob_sock < 0, "client_connect\n", err_addr);
    +
    +
    ret = recv(oob_sock, &addr_len, sizeof(addr_len), MSG_WAITALL);
    +
    CHKERR_JUMP_RETVAL(ret != (int)sizeof(addr_len),
    +
    "receive address length\n", err_addr, ret);
    +
    +
    peer_addr_len = addr_len;
    +
    peer_addr = malloc(peer_addr_len);
    +
    CHKERR_JUMP(!peer_addr, "allocate memory\n", err_addr);
    +
    +
    ret = recv(oob_sock, peer_addr, peer_addr_len, MSG_WAITALL);
    +
    CHKERR_JUMP_RETVAL(ret != (int)peer_addr_len,
    +
    "receive address\n", err_peer_addr, ret);
    +
    } else {
    +
    oob_sock = connect_common(NULL, server_port, ai_family);
    +
    CHKERR_JUMP(oob_sock < 0, "server_connect\n", err_peer_addr);
    +
    +
    addr_len = local_addr_len;
    +
    ret = send(oob_sock, &addr_len, sizeof(addr_len), 0);
    +
    CHKERR_JUMP_RETVAL(ret != (int)sizeof(addr_len),
    +
    "send address length\n", err_peer_addr, ret);
    +
    +
    ret = send(oob_sock, local_addr, local_addr_len, 0);
    +
    CHKERR_JUMP_RETVAL(ret != (int)local_addr_len, "send address\n",
    +
    err_peer_addr, ret);
    +
    }
    +
    +
    ret = run_test(client_target_name, ucp_worker);
    +
    +
    if (!ret && (err_handling_opt.failure_mode == FAILURE_MODE_NONE)) {
    +
    /* Make sure remote is disconnected before destroying local worker */
    +
    ret = barrier(oob_sock, progress_worker, ucp_worker);
    +
    }
    +
    close(oob_sock);
    +
    +
    err_peer_addr:
    +
    free(peer_addr);
    +
    +
    err_addr:
    +
    ucp_worker_release_address(ucp_worker, local_addr);
    +
    +
    err_worker:
    +
    ucp_worker_destroy(ucp_worker);
    +
    +
    err_cleanup:
    +
    ucp_cleanup(ucp_context);
    +
    +
    err:
    +
    return ret;
    +
    }
    +
    +
    static void print_usage()
    +
    {
    +
    fprintf(stderr, "Usage: ucp_hello_world [parameters]\n");
    +
    fprintf(stderr, "UCP hello world client/server example utility\n");
    +
    fprintf(stderr, "\nParameters are:\n");
    +
    fprintf(stderr, " -w Select test mode \"wait\" to test "
    +
    "ucp_worker_wait function\n");
    +
    fprintf(stderr, " -f Select test mode \"event fd\" to test "
    +
    "ucp_worker_get_efd function with later poll\n");
    +
    fprintf(stderr, " -b Select test mode \"busy polling\" to test "
    +
    "ucp_tag_probe_nb and ucp_worker_progress (default)\n");
    +
    fprintf(stderr, " -n <name> Set node name or IP address "
    +
    "of the server (required for client and should be ignored "
    +
    "for server)\n");
    +
    fprintf(stderr, " -e <type> Emulate unexpected failure and handle an "
    +
    "error with enabled UCP_ERR_HANDLING_MODE_PEER\n");
    +
    fprintf(stderr, " send - send failure on server side "
    +
    "before send initiated\n");
    +
    fprintf(stderr, " recv - receive failure on client side "
    +
    "before receive completed\n");
    +
    fprintf(stderr, " keepalive - keepalive failure on client side "
    +
    "after communication completed\n");
    +
    fprintf(stderr, " -c Print UCP configuration\n");
    +
    print_common_help();
    +
    fprintf(stderr, "\n");
    +
    }
    +
    +
    ucs_status_t parse_cmd(int argc, char * const argv[], char **server_name)
    +
    {
    +
    int c = 0, idx = 0;
    +
    +
    err_handling_opt.ucp_err_mode = UCP_ERR_HANDLING_MODE_NONE;
    +
    err_handling_opt.failure_mode = FAILURE_MODE_NONE;
    +
    +
    while ((c = getopt(argc, argv, "wfb6e:n:p:s:m:ch")) != -1) {
    +
    switch (c) {
    +
    case 'w':
    +
    ucp_test_mode = TEST_MODE_WAIT;
    +
    break;
    +
    case 'f':
    +
    ucp_test_mode = TEST_MODE_EVENTFD;
    +
    break;
    +
    case 'b':
    +
    ucp_test_mode = TEST_MODE_PROBE;
    +
    break;
    +
    case 'e':
    +
    err_handling_opt.ucp_err_mode = UCP_ERR_HANDLING_MODE_PEER;
    +
    if (!strcmp(optarg, "recv")) {
    +
    err_handling_opt.failure_mode = FAILURE_MODE_RECV;
    +
    } else if (!strcmp(optarg, "send")) {
    +
    err_handling_opt.failure_mode = FAILURE_MODE_SEND;
    +
    } else if (!strcmp(optarg, "keepalive")) {
    +
    err_handling_opt.failure_mode = FAILURE_MODE_KEEPALIVE;
    +
    } else {
    +
    print_usage();
    + +
    }
    +
    break;
    +
    case 'n':
    +
    *server_name = optarg;
    +
    break;
    +
    case '6':
    +
    ai_family = AF_INET6;
    +
    break;
    +
    case 'p':
    +
    server_port = atoi(optarg);
    +
    if (server_port <= 0) {
    +
    fprintf(stderr, "Wrong server port number %d\n", server_port);
    + +
    }
    +
    break;
    +
    case 's':
    +
    test_string_length = atol(optarg);
    +
    if (test_string_length < 0) {
    +
    fprintf(stderr, "Wrong string size %ld\n", test_string_length);
    + +
    }
    +
    break;
    +
    case 'm':
    +
    test_mem_type = parse_mem_type(optarg);
    +
    if (test_mem_type == UCS_MEMORY_TYPE_LAST) {
    + +
    }
    +
    break;
    +
    case 'c':
    +
    print_config = 1;
    +
    break;
    +
    case 'h':
    +
    default:
    +
    print_usage();
    + +
    }
    +
    }
    +
    fprintf(stderr, "INFO: UCP_HELLO_WORLD mode = %d server = %s port = %d, pid = %d\n",
    +
    ucp_test_mode, *server_name, server_port, getpid());
    +
    +
    for (idx = optind; idx < argc; idx++) {
    +
    fprintf(stderr, "WARNING: Non-option argument %s\n", argv[idx]);
    +
    }
    +
    return UCS_OK;
    +
    }
    +
    +
    +
    void * user_data
    Definition: ucp_def.h:715
    +
    @ UCP_EP_PARAM_FIELD_REMOTE_ADDRESS
    Definition: ucp.h:241
    +
    const ucp_address_t * address
    Definition: ucp_def.h:698
    +
    @ UCS_ERR_NO_MESSAGE
    Definition: status.h:53
    +
    ucs_memory_type_t memory_type
    Definition: ucp.h:1705
    +
    ucp_err_handler_t err_handler
    Definition: ucp_def.h:709
    +
    union ucp_request_param_t::@2 cb
    +
    @ UCP_FEATURE_TAG
    Definition: ucp.h:141
    +
    Tuning parameters for UCP library.
    Definition: ucp.h:976
    +
    @ UCP_ERR_HANDLING_MODE_NONE
    Definition: ucp_def.h:122
    +
    ucs_status_t ucp_ep_create(ucp_worker_h worker, const ucp_ep_params_t *params, ucp_ep_h *ep_p)
    Create and connect an endpoint.
    +
    #define ucp_dt_make_contig(_elem_size)
    Generate an identifier for contiguous data type.
    Definition: ucp.h:811
    +
    ucs_status_t ucp_worker_get_address(ucp_worker_h worker, ucp_address_t **address_p, size_t *address_length_p)
    Get the address of the worker object.
    +
    uint64_t features
    Definition: ucp.h:990
    +
    @ UCS_MEMORY_TYPE_LAST
    Definition: memory_type.h:43
    +
    struct ucp_config ucp_config_t
    UCP configuration descriptor.
    Definition: ucp_def.h:77
    +
    @ UCS_ERR_BUSY
    Definition: status.h:67
    +
    struct ucp_address ucp_address_t
    UCP worker address.
    Definition: ucp_def.h:112
    +
    ucp_err_handler_cb_t cb
    Definition: ucp_def.h:367
    +
    @ UCP_PARAM_FIELD_FEATURES
    Definition: ucp.h:120
    +
    void ucp_worker_release_address(ucp_worker_h worker, ucp_address_t *address)
    Release an address of the worker object.
    +
    ucs_status_ptr_t ucp_tag_msg_recv_nb(ucp_worker_h worker, void *buffer, size_t count, ucp_datatype_t datatype, ucp_tag_message_h message, ucp_tag_recv_callback_t cb)
    Non-blocking receive operation for a probed message.
    +
    @ UCP_OP_ATTR_FIELD_USER_DATA
    Definition: ucp.h:694
    +
    ucs_status_t ucp_worker_wait(ucp_worker_h worker)
    Wait for an event of the worker.
    +
    @ UCP_WORKER_PARAM_FIELD_THREAD_MODE
    Definition: ucp.h:165
    +
    ucp_tag_message_h ucp_tag_probe_nb(ucp_worker_h worker, ucp_tag_t tag, ucp_tag_t tag_mask, int remove, ucp_tag_recv_info_t *info)
    Non-blocking probe and return a message.
    +
    struct ucp_recv_desc * ucp_tag_message_h
    UCP Message descriptor.
    Definition: ucp_def.h:268
    +
    @ UCP_OP_ATTR_FIELD_CALLBACK
    Definition: ucp.h:693
    +
    ucs_status_t ucp_worker_arm(ucp_worker_h worker)
    Turn on event notification for the next event.
    +
    void * arg
    Definition: ucp_def.h:369
    +
    void ucp_worker_destroy(ucp_worker_h worker)
    Destroy a worker object.
    +
    @ UCS_ERR_UNSUPPORTED
    Definition: status.h:74
    +
    ucp_err_handling_mode_t
    Error handling mode for the UCP endpoint.
    Definition: ucp_def.h:121
    +
    size_t length
    Definition: ucp.h:1606
    +
    Operation parameters passed to ucp_tag_send_nbx, ucp_tag_send_sync_nbx, ucp_tag_recv_nbx,...
    Definition: ucp.h:1650
    +
    UCP receive information descriptor.
    Definition: ucp.h:1602
    +
    @ UCS_OK
    Definition: status.h:47
    +
    @ UCP_EP_PARAM_FIELD_ERR_HANDLING_MODE
    Definition: ucp.h:243
    +
    ucs_status_ptr_t ucp_tag_send_nbx(ucp_ep_h ep, const void *buffer, size_t count, ucp_tag_t tag, const ucp_request_param_t *param)
    Non-blocking tagged-send operation.
    +
    static ucs_status_t ucp_init(const ucp_params_t *params, const ucp_config_t *config, ucp_context_h *context_p)
    UCP context initialization.
    Definition: ucp.h:1993
    +
    ucs_status_t ucp_config_read(const char *env_prefix, const char *filename, ucp_config_t **config_p)
    Read UCP configuration descriptor.
    +
    size_t request_size
    Definition: ucp.h:1000
    +
    struct ucp_context * ucp_context_h
    UCP Application Context.
    Definition: ucp_def.h:60
    +
    Tuning parameters for the UCP endpoint.
    Definition: ucp_def.h:683
    +
    @ UCP_EP_PARAM_FIELD_ERR_HANDLER
    Definition: ucp.h:245
    +
    void ucp_config_print(const ucp_config_t *config, FILE *stream, const char *title, ucs_config_print_flags_t print_flags)
    Print configuration information.
    +
    struct ucp_worker * ucp_worker_h
    UCP Worker.
    Definition: ucp_def.h:246
    +
    uint64_t field_mask
    Definition: ucp_def.h:690
    +
    ucs_thread_mode_t thread_mode
    Definition: ucp.h:1236
    +
    unsigned ucp_worker_progress(ucp_worker_h worker)
    Progress all communications on a specific worker.
    +
    @ UCP_ERR_HANDLING_MODE_PEER
    Definition: ucp_def.h:130
    +
    @ UCS_INPROGRESS
    Definition: status.h:50
    +
    ucs_status_t
    Status codes.
    Definition: status.h:45
    +
    uint32_t op_attr_mask
    Definition: ucp.h:1656
    +
    @ UCP_PARAM_FIELD_REQUEST_SIZE
    Definition: ucp.h:121
    +
    @ UCS_THREAD_MODE_SINGLE
    Definition: thread_mode.h:20
    +
    uint64_t field_mask
    Definition: ucp.h:1222
    +
    @ UCP_PARAM_FIELD_REQUEST_INIT
    Definition: ucp.h:122
    +
    ucs_status_ptr_t ucp_ep_flush_nbx(ucp_ep_h ep, const ucp_request_param_t *param)
    Non-blocking flush of outstanding AMO and RMA operations on the endpoint.
    +
    ucs_status_t ucp_worker_get_efd(ucp_worker_h worker, int *fd)
    Obtain an event file descriptor for event notification.
    +
    struct ucp_ep * ucp_ep_h
    UCP Endpoint.
    Definition: ucp_def.h:92
    +
    void ucp_config_release(ucp_config_t *config)
    Release configuration descriptor.
    +
    void * user_data
    Definition: ucp.h:1690
    +
    @ UCP_FEATURE_WAKEUP
    Definition: ucp.h:149
    +
    @ UCP_EP_PARAM_FIELD_USER_DATA
    Definition: ucp.h:247
    +
    ucs_status_t ucp_worker_create(ucp_context_h context, const ucp_worker_params_t *params, ucp_worker_h *worker_p)
    Create a worker object.
    +
    ucs_status_t ucp_request_check_status(void *request)
    Check the status of non-blocking request.
    +
    uint64_t ucp_tag_t
    UCP Tag Identifier.
    Definition: ucp_def.h:257
    +
    uint64_t field_mask
    Definition: ucp.h:982
    +
    @ UCP_OP_ATTR_FIELD_MEMORY_TYPE
    Definition: ucp.h:698
    +
    @ UCP_EP_CLOSE_FLAG_FORCE
    Definition: ucp.h:300
    +
    void ucp_cleanup(ucp_context_h context_p)
    Release UCP application context.
    +
    ucp_request_init_callback_t request_init
    Definition: ucp.h:1012
    +
    void ucp_request_free(void *request)
    Release a communications request.
    +
    Tuning parameters for the UCP worker.
    Definition: ucp.h:1216
    +
    ucp_err_handling_mode_t err_mode
    Definition: ucp_def.h:704
    + + + + diff --git a/api/v1.13/html/uct_8h_source.html b/api/v1.13/html/uct_8h_source.html new file mode 100644 index 00000000000..19c98e9e0dc --- /dev/null +++ b/api/v1.13/html/uct_8h_source.html @@ -0,0 +1,1701 @@ + + + + + + + +UCX: uct.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    uct.h
    +
    +
    +
    1 
    +
    11 #ifndef UCT_H_
    +
    12 #define UCT_H_
    +
    13 
    +
    14 #include <uct/api/uct_def.h>
    +
    15 #include <uct/api/tl.h>
    +
    16 #include <uct/api/version.h>
    +
    17 #include <ucs/async/async_fwd.h>
    +
    18 #include <ucs/datastruct/callbackq.h>
    +
    19 #include <ucs/datastruct/linear_func.h>
    +
    20 #include <ucs/memory/memory_type.h>
    +
    21 #include <ucs/type/status.h>
    +
    22 #include <ucs/type/thread_mode.h>
    +
    23 #include <ucs/type/cpu_set.h>
    +
    24 #include <ucs/stats/stats_fwd.h>
    +
    25 #include <ucs/sys/compiler_def.h>
    +
    26 #include <ucs/sys/topo/base/topo.h>
    +
    27 
    +
    28 #include <sys/socket.h>
    +
    29 #include <stdio.h>
    +
    30 #include <sched.h>
    +
    31 
    +
    32 BEGIN_C_DECLS
    +
    33 
    +
    218 typedef struct uct_md_resource_desc {
    +
    219  char md_name[UCT_MD_NAME_MAX];
    + +
    221 
    +
    222 
    + + + + + +
    235 };
    +
    236 
    +
    237 
    +
    245 typedef struct uct_component_attr {
    +
    252  uint64_t field_mask;
    +
    253 
    +
    255  char name[UCT_COMPONENT_NAME_MAX];
    +
    256 
    + +
    259 
    + +
    274 
    +
    278  uint64_t flags;
    + +
    280 
    +
    281 
    +
    289 enum {
    + +
    295 };
    +
    296 
    +
    297 
    +
    302 typedef enum {
    + + + + + + +
    309 
    +
    310 
    +
    322 typedef struct uct_tl_resource_desc {
    +
    323  char tl_name[UCT_TL_NAME_MAX];
    +
    324  char dev_name[UCT_DEVICE_NAME_MAX];
    + +
    327  ucs_sys_device_t sys_device;
    + +
    330 
    +
    331 #define UCT_TL_RESOURCE_DESC_FMT "%s/%s"
    +
    332 #define UCT_TL_RESOURCE_DESC_ARG(_resource) (_resource)->tl_name, (_resource)->dev_name
    +
    333 
    +
    334 
    +
    342 typedef enum uct_atomic_op {
    +
    343  UCT_ATOMIC_OP_ADD,
    +
    344  UCT_ATOMIC_OP_AND,
    +
    345  UCT_ATOMIC_OP_OR,
    +
    346  UCT_ATOMIC_OP_XOR,
    +
    347  UCT_ATOMIC_OP_SWAP,
    +
    348  UCT_ATOMIC_OP_CSWAP,
    +
    349  UCT_ATOMIC_OP_LAST
    +
    350 } uct_atomic_op_t;
    +
    351 
    +
    352 
    +
    363  /* Active message capabilities */
    +
    364 #define UCT_IFACE_FLAG_AM_SHORT UCS_BIT(0)
    +
    365 #define UCT_IFACE_FLAG_AM_BCOPY UCS_BIT(1)
    +
    366 #define UCT_IFACE_FLAG_AM_ZCOPY UCS_BIT(2)
    +
    368 #define UCT_IFACE_FLAG_PENDING UCS_BIT(3)
    +
    370  /* PUT capabilities */
    +
    371 #define UCT_IFACE_FLAG_PUT_SHORT UCS_BIT(4)
    +
    372 #define UCT_IFACE_FLAG_PUT_BCOPY UCS_BIT(5)
    +
    373 #define UCT_IFACE_FLAG_PUT_ZCOPY UCS_BIT(6)
    +
    375  /* GET capabilities */
    +
    376 #define UCT_IFACE_FLAG_GET_SHORT UCS_BIT(8)
    +
    377 #define UCT_IFACE_FLAG_GET_BCOPY UCS_BIT(9)
    +
    378 #define UCT_IFACE_FLAG_GET_ZCOPY UCS_BIT(10)
    +
    380  /* Atomic operations domain */
    +
    381 #define UCT_IFACE_FLAG_ATOMIC_CPU UCS_BIT(30)
    +
    383 #define UCT_IFACE_FLAG_ATOMIC_DEVICE UCS_BIT(31)
    +
    387  /* Error handling capabilities */
    +
    388 #define UCT_IFACE_FLAG_ERRHANDLE_SHORT_BUF UCS_BIT(32)
    +
    389 #define UCT_IFACE_FLAG_ERRHANDLE_BCOPY_BUF UCS_BIT(33)
    +
    390 #define UCT_IFACE_FLAG_ERRHANDLE_ZCOPY_BUF UCS_BIT(34)
    +
    391 #define UCT_IFACE_FLAG_ERRHANDLE_AM_ID UCS_BIT(35)
    +
    392 #define UCT_IFACE_FLAG_ERRHANDLE_REMOTE_MEM UCS_BIT(36)
    +
    393 #define UCT_IFACE_FLAG_ERRHANDLE_BCOPY_LEN UCS_BIT(37)
    +
    394 #define UCT_IFACE_FLAG_ERRHANDLE_PEER_FAILURE UCS_BIT(38)
    +
    396 #define UCT_IFACE_FLAG_EP_CHECK UCS_BIT(39)
    +
    398  /* Connection establishment */
    +
    399 #define UCT_IFACE_FLAG_CONNECT_TO_IFACE UCS_BIT(40)
    +
    400 #define UCT_IFACE_FLAG_CONNECT_TO_EP UCS_BIT(41)
    +
    401 #define UCT_IFACE_FLAG_CONNECT_TO_SOCKADDR UCS_BIT(42)
    +
    403  /* Special transport flags */
    +
    404 #define UCT_IFACE_FLAG_AM_DUP UCS_BIT(43)
    +
    408  /* Callback invocation */
    +
    409 #define UCT_IFACE_FLAG_CB_SYNC UCS_BIT(44)
    +
    412 #define UCT_IFACE_FLAG_CB_ASYNC UCS_BIT(45)
    +
    419  /* Keepalive */
    +
    420 #define UCT_IFACE_FLAG_EP_KEEPALIVE UCS_BIT(46)
    +
    426  /* Tag matching operations */
    +
    427 #define UCT_IFACE_FLAG_TAG_EAGER_SHORT UCS_BIT(50)
    +
    428 #define UCT_IFACE_FLAG_TAG_EAGER_BCOPY UCS_BIT(51)
    +
    429 #define UCT_IFACE_FLAG_TAG_EAGER_ZCOPY UCS_BIT(52)
    +
    430 #define UCT_IFACE_FLAG_TAG_RNDV_ZCOPY UCS_BIT(53)
    +
    446  /* Event types */
    +
    447 #define UCT_IFACE_FLAG_EVENT_SEND_COMP UCS_BIT(0)
    +
    449 #define UCT_IFACE_FLAG_EVENT_RECV UCS_BIT(1)
    +
    451 #define UCT_IFACE_FLAG_EVENT_RECV_SIG UCS_BIT(2)
    +
    453  /* Event notification mechanisms */
    +
    454 #define UCT_IFACE_FLAG_EVENT_FD UCS_BIT(3)
    +
    456 #define UCT_IFACE_FLAG_EVENT_ASYNC_CB UCS_BIT(4)
    +
    467 typedef enum {
    + + + + + + + + +
    477 
    +
    478 
    + +
    491  UCT_EVENT_SEND_COMP = UCS_BIT(0),
    +
    492  UCT_EVENT_RECV = UCS_BIT(1),
    +
    493  UCT_EVENT_RECV_SIG = UCS_BIT(2)
    +
    495 };
    +
    496 
    +
    497 
    + + +
    507  UCT_FLUSH_FLAG_CANCEL = UCS_BIT(0)
    +
    522 };
    +
    523 
    +
    524 
    + +
    530  UCT_PROGRESS_SEND = UCS_BIT(0),
    +
    531  UCT_PROGRESS_RECV = UCS_BIT(1),
    + +
    535 };
    +
    536 
    +
    537 
    + +
    543  UCT_SEND_FLAG_SIGNALED = UCS_BIT(0),
    + +
    556 };
    +
    557 
    +
    558 
    + +
    566  UCT_CB_FLAG_RESERVED = UCS_BIT(1),
    +
    567  UCT_CB_FLAG_ASYNC = UCS_BIT(2)
    +
    582 };
    +
    583 
    +
    584 
    + + +
    592 
    + +
    596 
    + +
    600 };
    +
    601 
    +
    602 
    + + +
    613 
    + +
    616 
    + +
    620 
    + +
    624 
    + +
    627 
    + +
    630 
    + +
    633 
    + +
    636 
    + +
    639 
    + +
    642 
    + +
    645 
    + +
    648 
    + +
    651 
    + +
    654 
    + +
    657 
    + +
    660 
    + +
    663 
    + +
    666 
    + +
    669 };
    +
    670 
    +
    675 typedef enum {
    + + + +
    683 
    +
    684 
    +
    689 enum {
    +
    690  UCT_MD_FLAG_ALLOC = UCS_BIT(0),
    +
    691  UCT_MD_FLAG_REG = UCS_BIT(1),
    +
    692  UCT_MD_FLAG_NEED_MEMH = UCS_BIT(2),
    +
    694  UCT_MD_FLAG_NEED_RKEY = UCS_BIT(3),
    +
    697  UCT_MD_FLAG_ADVISE = UCS_BIT(4),
    +
    698  UCT_MD_FLAG_FIXED = UCS_BIT(5),
    +
    700  UCT_MD_FLAG_RKEY_PTR = UCS_BIT(6),
    +
    703  UCT_MD_FLAG_SOCKADDR = UCS_BIT(7),
    + +
    707 };
    +
    708 
    + + +
    719  UCT_MD_MEM_FLAG_FIXED = UCS_BIT(1),
    +
    721  UCT_MD_MEM_FLAG_LOCK = UCS_BIT(2),
    + +
    730  /* memory access flags */
    + + + + + + + + + + +
    743 
    + + + + +
    749 };
    +
    750 
    +
    751 
    +
    756 typedef enum {
    + + + +
    763 
    +
    764 
    + + +
    775 };
    +
    776 
    +
    777 
    + + +
    788 };
    +
    789 
    +
    790 
    + + +
    801 
    + +
    804 
    + +
    807 };
    +
    808 
    +
    809 
    + + +
    820 
    + +
    823 
    + +
    826 
    + +
    829 
    + +
    832 
    + +
    835 
    + +
    838 
    +
    840  UCT_EP_PARAM_FIELD_CM = UCS_BIT(7),
    +
    841 
    + +
    844 
    + +
    847 
    + +
    850 
    + +
    853 
    + +
    856 
    + +
    859 
    + +
    862 
    + +
    865 
    + +
    868 };
    +
    869 
    +
    870 
    + + +
    881 
    + +
    884 };
    +
    885 
    +
    886 
    + +
    896  UCT_IFACE_FEATURE_AM = UCS_BIT(0),
    +
    897  UCT_IFACE_FEATURE_PUT = UCS_BIT(1),
    +
    898  UCT_IFACE_FEATURE_GET = UCS_BIT(2),
    +
    899  UCT_IFACE_FEATURE_AMO32 = UCS_BIT(3),
    +
    901  UCT_IFACE_FEATURE_AMO64 = UCS_BIT(4),
    +
    903  UCT_IFACE_FEATURE_TAG = UCS_BIT(5),
    + +
    906 };
    +
    907 
    +
    908 /*
    +
    909  * @ingroup UCT_RESOURCE
    +
    910  * @brief Process Per Node (PPN) bandwidth specification: f(ppn) = dedicated + shared / ppn
    +
    911  *
    +
    912  * This structure specifies a function which is used as basis for bandwidth
    +
    913  * estimation of various UCT operations. This information can be used to select
    +
    914  * the best performing combination of UCT operations.
    +
    915  */
    +
    916 typedef struct uct_ppn_bandwidth {
    +
    917  double dedicated;
    +
    918  double shared;
    + +
    920 
    +
    921 
    + +
    927  struct {
    +
    928  struct {
    +
    929  size_t max_short;
    +
    930  size_t max_bcopy;
    +
    931  size_t min_zcopy;
    +
    934  size_t max_zcopy;
    +
    937  size_t opt_zcopy_align;
    +
    939  size_t align_mtu;
    +
    940  size_t max_iov;
    +
    943  } put;
    +
    945  struct {
    +
    946  size_t max_short;
    +
    947  size_t max_bcopy;
    +
    948  size_t min_zcopy;
    +
    951  size_t max_zcopy;
    +
    954  size_t opt_zcopy_align;
    +
    956  size_t align_mtu;
    +
    957  size_t max_iov;
    +
    960  } get;
    +
    962  struct {
    +
    963  size_t max_short;
    +
    965  size_t max_bcopy;
    +
    966  size_t min_zcopy;
    +
    969  size_t max_zcopy;
    +
    972  size_t opt_zcopy_align;
    +
    974  size_t align_mtu;
    +
    975  size_t max_hdr;
    +
    976  size_t max_iov;
    +
    979  } am;
    +
    981  struct {
    +
    982  struct {
    +
    983  size_t min_recv;
    +
    984  size_t max_zcopy;
    +
    986  size_t max_iov;
    +
    989  size_t max_outstanding;
    +
    991  } recv;
    +
    992 
    +
    993  struct {
    +
    994  size_t max_short;
    +
    996  size_t max_bcopy;
    +
    998  size_t max_zcopy;
    +
    1000  size_t max_iov;
    +
    1002  } eager;
    +
    1004  struct {
    +
    1005  size_t max_zcopy;
    +
    1007  size_t max_hdr;
    +
    1010  size_t max_iov;
    +
    1012  } rndv;
    +
    1013  } tag;
    +
    1015  struct {
    +
    1016  uint64_t op_flags;
    +
    1017  uint64_t fop_flags;
    +
    1018  } atomic32, atomic64;
    +
    1020  uint64_t flags;
    +
    1021  uint64_t event_flags;
    +
    1022  } cap;
    + + +
    1026  size_t ep_addr_len;
    +
    1027  size_t max_conn_priv;
    +
    1030  struct sockaddr_storage listen_sockaddr;
    +
    1032  /*
    +
    1033  * The following fields define expected performance of the communication
    +
    1034  * interface, this would usually be a combination of device and system
    +
    1035  * characteristics and determined at run time.
    +
    1036  */
    +
    1037  double overhead;
    + +
    1039  ucs_linear_func_t latency;
    +
    1041  uint8_t priority;
    +
    1042  size_t max_num_eps;
    +
    1043  unsigned dev_num_paths;
    +
    1052 };
    +
    1053 
    +
    1054 
    + +
    1066  uint64_t field_mask;
    +
    1068  ucs_cpu_set_t cpu_mask;
    +
    1070  uint64_t open_mode;
    +
    1072  union {
    +
    1079  struct {
    +
    1080  const char *tl_name;
    +
    1081  const char *dev_name;
    +
    1082  } device;
    +
    1090  struct {
    +
    1091  ucs_sock_addr_t listen_sockaddr;
    +
    1093  void *conn_request_arg;
    +
    1095  uct_sockaddr_conn_request_callback_t conn_request_cb;
    +
    1098  uint32_t cb_flags;
    +
    1099  } sockaddr;
    +
    1100  } mode;
    +
    1101 
    +
    1104  ucs_stats_node_t *stats_root;
    +
    1106  size_t rx_headroom;
    +
    1107 
    + + + +
    1115 
    +
    1117  void *eager_arg;
    + +
    1120  void *rndv_arg;
    + +
    1123 
    + + +
    1130 
    +
    1131  /* Time period between keepalive rounds */
    + +
    1133 
    + +
    1142 
    + +
    1160 
    +
    1165  uint64_t features;
    +
    1166 };
    +
    1167 
    +
    1168 
    + +
    1179  uint64_t field_mask;
    +
    1180 
    + +
    1186 
    +
    1190  void *user_data;
    +
    1191 
    + +
    1198 
    + +
    1205 
    + +
    1214 
    + +
    1224 
    + +
    1236 
    + +
    1242 
    + +
    1251 
    + +
    1257 
    + +
    1263 
    + +
    1268 
    +
    1273  unsigned path_index;
    +
    1274 
    + +
    1283 
    +
    1290  const void *private_data;
    +
    1291 
    + +
    1297 
    + +
    1305 };
    +
    1306 
    +
    1307 
    + +
    1318  uint64_t field_mask;
    +
    1319 
    +
    1323  const void *private_data;
    +
    1324 
    + +
    1330 };
    +
    1331 
    +
    1336 struct uct_cm_attr {
    +
    1342  uint64_t field_mask;
    +
    1343 
    + +
    1349 };
    +
    1350 
    +
    1351 
    + +
    1362  uint64_t field_mask;
    +
    1363 
    +
    1367  struct sockaddr_storage sockaddr;
    +
    1368 };
    +
    1369 
    +
    1370 
    + +
    1382  uint64_t field_mask;
    +
    1383 
    +
    1389  int backlog;
    +
    1390 
    + +
    1395 
    +
    1399  void *user_data;
    +
    1400 };
    +
    1401 
    +
    1402 
    +
    1412 struct uct_md_attr {
    +
    1413  struct {
    +
    1414  uint64_t max_alloc;
    +
    1415  size_t max_reg;
    +
    1416  uint64_t flags;
    +
    1417  uint64_t reg_mem_types;
    +
    1418  uint64_t detect_mem_types;
    +
    1419  uint64_t alloc_mem_types;
    +
    1420  uint64_t access_mem_types;
    +
    1421  } cap;
    +
    1422 
    +
    1423  ucs_linear_func_t reg_cost;
    +
    1427  char component_name[UCT_COMPONENT_NAME_MAX];
    + +
    1429  ucs_cpu_set_t local_cpus;
    +
    1430 };
    +
    1431 
    +
    1432 
    + + + + + + +
    1454 
    +
    1455 
    +
    1464 typedef struct uct_md_mem_attr {
    +
    1469  uint64_t field_mask;
    +
    1470 
    + +
    1477 
    +
    1483  ucs_sys_device_t sys_dev;
    +
    1484 
    + +
    1491 
    + + +
    1499 
    +
    1500 
    +
    1521 ucs_status_t uct_md_mem_query(uct_md_h md, const void *address, size_t length,
    +
    1522  uct_md_mem_attr_t *mem_attr);
    +
    1523 
    +
    1524 
    +
    1533 typedef struct uct_allocated_memory {
    +
    1534  void *address;
    +
    1535  size_t length;
    + + + + + +
    1541 
    +
    1542 
    +
    1550 typedef struct uct_rkey_bundle {
    + +
    1552  void *handle;
    +
    1553  void *type;
    + +
    1555 
    +
    1556 
    + + +
    1577  int count;
    + +
    1581 };
    +
    1582 
    +
    1583 
    + + +
    1593  char priv[UCT_PENDING_REQ_PRIV_LEN];
    +
    1594 };
    +
    1595 
    +
    1596 
    + + +
    1612 
    +
    1632  void (*completed_cb)(uct_tag_context_t *self, uct_tag_t stag, uint64_t imm,
    +
    1633  size_t length, void *inline_data, ucs_status_t status);
    +
    1634 
    +
    1647  void (*rndv_cb)(uct_tag_context_t *self, uct_tag_t stag, const void *header,
    +
    1648  unsigned header_length, ucs_status_t status, unsigned flags);
    +
    1649 
    +
    1651  char priv[UCT_TAG_PRIV_LEN];
    +
    1652 };
    +
    1653 
    +
    1654 
    +
    1659 enum {
    +
    1660  /* If set, header points to inline data, otherwise it is user buffer. */
    + +
    1662 };
    +
    1663 
    +
    1664 
    +
    1665 extern const char *uct_alloc_method_names[];
    +
    1666 extern const char *uct_device_type_names[];
    +
    1667 
    +
    1668 
    + +
    1683  unsigned *num_components_p);
    +
    1684 
    + +
    1695 
    +
    1696 
    + +
    1710  uct_component_attr_t *component_attr);
    +
    1711 
    +
    1712 
    +
    1732 ucs_status_t uct_md_open(uct_component_h component, const char *md_name,
    +
    1733  const uct_md_config_t *config, uct_md_h *md_p);
    +
    1734 
    +
    1741 void uct_md_close(uct_md_h md);
    +
    1742 
    +
    1743 
    + +
    1759  uct_tl_resource_desc_t **resources_p,
    +
    1760  unsigned *num_resources_p);
    +
    1761 
    +
    1762 
    + +
    1773 
    +
    1774 
    +
    1789 ucs_status_t uct_worker_create(ucs_async_context_t *async,
    +
    1790  ucs_thread_mode_t thread_mode,
    +
    1791  uct_worker_h *worker_p);
    +
    1792 
    +
    1793 
    +
    1800 void uct_worker_destroy(uct_worker_h worker);
    +
    1801 
    +
    1802 
    +
    1826 void uct_worker_progress_register_safe(uct_worker_h worker, ucs_callback_t func,
    +
    1827  void *arg, unsigned flags,
    +
    1828  uct_worker_cb_id_t *id_p);
    +
    1829 
    +
    1830 
    + +
    1852  uct_worker_cb_id_t *id_p);
    +
    1853 
    +
    1854 
    +
    1882 ucs_status_t uct_md_iface_config_read(uct_md_h md, const char *tl_name,
    +
    1883  const char *env_prefix, const char *filename,
    +
    1884  uct_iface_config_t **config_p);
    +
    1885 
    +
    1886 
    +
    1894 void uct_config_release(void *config);
    +
    1895 
    +
    1896 
    +
    1912 ucs_status_t uct_config_get(void *config, const char *name, char *value,
    +
    1913  size_t max);
    +
    1914 
    +
    1915 
    +
    1928 ucs_status_t uct_config_modify(void *config, const char *name, const char *value);
    +
    1929 
    +
    1930 
    + +
    1947  const uct_iface_params_t *params,
    +
    1948  const uct_iface_config_t *config,
    +
    1949  uct_iface_h *iface_p);
    +
    1950 
    +
    1951 
    +
    1958 void uct_iface_close(uct_iface_h iface);
    +
    1959 
    +
    1960 
    + +
    1969 
    +
    1970 
    + +
    1983 
    +
    1984 
    + +
    1996 
    +
    1997 
    +
    2016 int uct_iface_is_reachable(const uct_iface_h iface, const uct_device_addr_t *dev_addr,
    +
    2017  const uct_iface_addr_t *iface_addr);
    +
    2018 
    +
    2019 
    +
    2037 ucs_status_t uct_ep_check(const uct_ep_h ep, unsigned flags,
    +
    2038  uct_completion_t *comp);
    +
    2039 
    +
    2040 
    + +
    2054 
    +
    2055 
    +
    2075 ucs_status_t uct_iface_event_arm(uct_iface_h iface, unsigned events);
    +
    2076 
    +
    2077 
    +
    2093 ucs_status_t uct_iface_mem_alloc(uct_iface_h iface, size_t length, unsigned flags,
    +
    2094  const char *name, uct_allocated_memory_t *mem);
    +
    2095 
    +
    2096 
    + +
    2104 
    +
    2105 
    + +
    2124  uct_am_callback_t cb, void *arg, uint32_t flags);
    +
    2125 
    +
    2126 
    + +
    2141  void *arg);
    +
    2142 
    +
    2143 
    + +
    2156  uct_conn_request_h conn_request);
    +
    2157 
    +
    2158 
    + +
    2172  uct_conn_request_h conn_request);
    +
    2173 
    +
    2174 
    +
    2209 ucs_status_t uct_ep_create(const uct_ep_params_t *params, uct_ep_h *ep_p);
    +
    2210 
    +
    2211 
    + +
    2227 
    +
    2228 
    +
    2261 ucs_status_t uct_ep_disconnect(uct_ep_h ep, unsigned flags);
    +
    2262 
    +
    2263 
    +
    2270 void uct_ep_destroy(uct_ep_h ep);
    +
    2271 
    +
    2272 
    + +
    2282 
    +
    2283 
    + +
    2295  const uct_ep_addr_t *ep_addr);
    +
    2296 
    +
    2297 
    + +
    2306 
    +
    2307 
    +
    2315 typedef enum {
    + +
    2318 
    + +
    2321 
    + +
    2324 
    + +
    2327 
    + + +
    2331 
    +
    2332 
    +
    2337 typedef struct {
    +
    2343  uint64_t field_mask;
    +
    2344 
    +
    2351  unsigned flags;
    +
    2352 
    +
    2363  void *address;
    +
    2364 
    + +
    2369 
    +
    2370  struct {
    +
    2375  const uct_md_h *mds;
    +
    2376 
    +
    2382  unsigned count;
    +
    2383  } mds;
    +
    2384 
    +
    2391  const char *name;
    + +
    2393 
    +
    2394 
    +
    2412 ucs_status_t uct_md_mem_advise(uct_md_h md, uct_mem_h memh, void *addr,
    +
    2413  size_t length, uct_mem_advice_t advice);
    +
    2414 
    +
    2415 
    +
    2429 ucs_status_t uct_md_mem_reg(uct_md_h md, void *address, size_t length,
    +
    2430  unsigned flags, uct_mem_h *memh_p);
    +
    2431 
    +
    2432 
    + +
    2441 
    +
    2442 
    +
    2455 ucs_status_t uct_md_detect_memory_type(uct_md_h md, const void *addr,
    +
    2456  size_t length,
    +
    2457  ucs_memory_type_t *mem_type_p);
    +
    2458 
    +
    2459 
    +
    2484 ucs_status_t uct_mem_alloc(size_t length, const uct_alloc_method_t *methods,
    +
    2485  unsigned num_methods,
    +
    2486  const uct_mem_alloc_params_t *params,
    +
    2487  uct_allocated_memory_t *mem);
    +
    2488 
    +
    2489 
    + +
    2500 
    + +
    2516  const char *env_prefix, const char *filename,
    +
    2517  uct_md_config_t **config_p);
    +
    2518 
    +
    2519 
    + + +
    2542 
    +
    2543 
    +
    2555 ucs_status_t uct_md_mkey_pack(uct_md_h md, uct_mem_h memh, void *rkey_buffer);
    +
    2556 
    +
    2557 
    +
    2577 ucs_status_t uct_rkey_unpack(uct_component_h component, const void *rkey_buffer,
    +
    2578  uct_rkey_bundle_t *rkey_ob);
    +
    2579 
    +
    2580 
    + +
    2607  uint64_t remote_addr, void **addr_p);
    +
    2608 
    +
    2609 
    + +
    2619  const uct_rkey_bundle_t *rkey_ob);
    +
    2620 
    +
    2621 
    +
    2636 UCT_INLINE_API unsigned uct_worker_progress(uct_worker_h worker)
    +
    2637 {
    +
    2638  return ucs_callbackq_dispatch(&worker->progress_q);
    +
    2639 }
    +
    2640 
    +
    2641 
    +
    2670 UCT_INLINE_API ucs_status_t uct_iface_flush(uct_iface_h iface, unsigned flags,
    +
    2671  uct_completion_t *comp)
    +
    2672 {
    +
    2673  return iface->ops.iface_flush(iface, flags, comp);
    +
    2674 }
    +
    2675 
    +
    2689 UCT_INLINE_API ucs_status_t uct_iface_fence(uct_iface_h iface, unsigned flags)
    +
    2690 {
    +
    2691  return iface->ops.iface_fence(iface, flags);
    +
    2692 }
    +
    2693 
    +
    2703 UCT_INLINE_API void uct_iface_release_desc(void *desc)
    +
    2704 {
    +
    2705  uct_recv_desc_t *release_desc = uct_recv_desc(desc);
    +
    2706  release_desc->cb(release_desc, desc);
    +
    2707 }
    +
    2708 
    +
    2709 
    +
    2714 UCT_INLINE_API ucs_status_t uct_ep_put_short(uct_ep_h ep, const void *buffer, unsigned length,
    +
    2715  uint64_t remote_addr, uct_rkey_t rkey)
    +
    2716 {
    +
    2717  return ep->iface->ops.ep_put_short(ep, buffer, length, remote_addr, rkey);
    +
    2718 }
    +
    2719 
    +
    2720 
    +
    2725 UCT_INLINE_API ssize_t uct_ep_put_bcopy(uct_ep_h ep, uct_pack_callback_t pack_cb,
    +
    2726  void *arg, uint64_t remote_addr,
    +
    2727  uct_rkey_t rkey)
    +
    2728 {
    +
    2729  return ep->iface->ops.ep_put_bcopy(ep, pack_cb, arg, remote_addr, rkey);
    +
    2730 }
    +
    2731 
    +
    2732 
    + +
    2763  const uct_iov_t *iov, size_t iovcnt,
    +
    2764  uint64_t remote_addr, uct_rkey_t rkey,
    +
    2765  uct_completion_t *comp)
    +
    2766 {
    +
    2767  return ep->iface->ops.ep_put_zcopy(ep, iov, iovcnt, remote_addr, rkey, comp);
    +
    2768 }
    +
    2769 
    +
    2770 
    +
    2775 UCT_INLINE_API ucs_status_t uct_ep_get_short(uct_ep_h ep, void *buffer, unsigned length,
    +
    2776  uint64_t remote_addr, uct_rkey_t rkey)
    +
    2777 {
    +
    2778  return ep->iface->ops.ep_get_short(ep, buffer, length, remote_addr, rkey);
    +
    2779 }
    +
    2780 
    +
    2781 
    + +
    2787  void *arg, size_t length,
    +
    2788  uint64_t remote_addr, uct_rkey_t rkey,
    +
    2789  uct_completion_t *comp)
    +
    2790 {
    +
    2791  return ep->iface->ops.ep_get_bcopy(ep, unpack_cb, arg, length, remote_addr,
    +
    2792  rkey, comp);
    +
    2793 }
    +
    2794 
    +
    2795 
    + +
    2826  const uct_iov_t *iov, size_t iovcnt,
    +
    2827  uint64_t remote_addr, uct_rkey_t rkey,
    +
    2828  uct_completion_t *comp)
    +
    2829 {
    +
    2830  return ep->iface->ops.ep_get_zcopy(ep, iov, iovcnt, remote_addr, rkey, comp);
    +
    2831 }
    +
    2832 
    +
    2833 
    +
    2838 UCT_INLINE_API ucs_status_t uct_ep_am_short(uct_ep_h ep, uint8_t id, uint64_t header,
    +
    2839  const void *payload, unsigned length)
    +
    2840 {
    +
    2841  return ep->iface->ops.ep_am_short(ep, id, header, payload, length);
    +
    2842 }
    +
    2843 
    +
    2844 
    +
    2875 UCT_INLINE_API ucs_status_t uct_ep_am_short_iov(uct_ep_h ep, uint8_t id,
    +
    2876  const uct_iov_t *iov, size_t iovcnt)
    +
    2877 {
    +
    2878  return ep->iface->ops.ep_am_short_iov(ep, id, iov, iovcnt);
    +
    2879 }
    +
    2880 
    +
    2881 
    +
    2886 UCT_INLINE_API ssize_t uct_ep_am_bcopy(uct_ep_h ep, uint8_t id,
    +
    2887  uct_pack_callback_t pack_cb, void *arg,
    +
    2888  unsigned flags)
    +
    2889 {
    +
    2890  return ep->iface->ops.ep_am_bcopy(ep, id, pack_cb, arg, flags);
    +
    2891 }
    +
    2892 
    +
    2893 
    +
    2931 UCT_INLINE_API ucs_status_t uct_ep_am_zcopy(uct_ep_h ep, uint8_t id,
    +
    2932  const void *header,
    +
    2933  unsigned header_length,
    +
    2934  const uct_iov_t *iov, size_t iovcnt,
    +
    2935  unsigned flags,
    +
    2936  uct_completion_t *comp)
    +
    2937 {
    +
    2938  return ep->iface->ops.ep_am_zcopy(ep, id, header, header_length, iov, iovcnt,
    +
    2939  flags, comp);
    +
    2940 }
    +
    2941 
    +
    2946 UCT_INLINE_API ucs_status_t uct_ep_atomic_cswap64(uct_ep_h ep, uint64_t compare, uint64_t swap,
    +
    2947  uint64_t remote_addr, uct_rkey_t rkey,
    +
    2948  uint64_t *result, uct_completion_t *comp)
    +
    2949 {
    +
    2950  return ep->iface->ops.ep_atomic_cswap64(ep, compare, swap, remote_addr, rkey, result, comp);
    +
    2951 }
    +
    2952 
    +
    2953 
    +
    2958 UCT_INLINE_API ucs_status_t uct_ep_atomic_cswap32(uct_ep_h ep, uint32_t compare, uint32_t swap,
    +
    2959  uint64_t remote_addr, uct_rkey_t rkey,
    +
    2960  uint32_t *result, uct_completion_t *comp)
    +
    2961 {
    +
    2962  return ep->iface->ops.ep_atomic_cswap32(ep, compare, swap, remote_addr, rkey, result, comp);
    +
    2963 }
    +
    2964 
    +
    2965 
    +
    2970 UCT_INLINE_API ucs_status_t uct_ep_atomic32_post(uct_ep_h ep, uct_atomic_op_t opcode,
    +
    2971  uint32_t value, uint64_t remote_addr,
    +
    2972  uct_rkey_t rkey)
    +
    2973 {
    +
    2974  return ep->iface->ops.ep_atomic32_post(ep, opcode, value, remote_addr, rkey);
    +
    2975 }
    +
    2976 
    +
    2977 
    +
    2982 UCT_INLINE_API ucs_status_t uct_ep_atomic64_post(uct_ep_h ep, uct_atomic_op_t opcode,
    +
    2983  uint64_t value, uint64_t remote_addr,
    +
    2984  uct_rkey_t rkey)
    +
    2985 {
    +
    2986  return ep->iface->ops.ep_atomic64_post(ep, opcode, value, remote_addr, rkey);
    +
    2987 }
    +
    2988 
    +
    2989 
    +
    2994 UCT_INLINE_API ucs_status_t uct_ep_atomic32_fetch(uct_ep_h ep, uct_atomic_op_t opcode,
    +
    2995  uint32_t value, uint32_t *result,
    +
    2996  uint64_t remote_addr, uct_rkey_t rkey,
    +
    2997  uct_completion_t *comp)
    +
    2998 {
    +
    2999  return ep->iface->ops.ep_atomic32_fetch(ep, opcode, value, result,
    +
    3000  remote_addr, rkey, comp);
    +
    3001 }
    +
    3002 
    +
    3003 
    +
    3008 UCT_INLINE_API ucs_status_t uct_ep_atomic64_fetch(uct_ep_h ep, uct_atomic_op_t opcode,
    +
    3009  uint64_t value, uint64_t *result,
    +
    3010  uint64_t remote_addr, uct_rkey_t rkey,
    +
    3011  uct_completion_t *comp)
    +
    3012 {
    +
    3013  return ep->iface->ops.ep_atomic64_fetch(ep, opcode, value, result,
    +
    3014  remote_addr, rkey, comp);
    +
    3015 }
    +
    3016 
    +
    3017 
    + +
    3039  uct_pending_req_t *req,
    +
    3040  unsigned flags)
    +
    3041 {
    +
    3042  return ep->iface->ops.ep_pending_add(ep, req, flags);
    +
    3043 }
    +
    3044 
    +
    3045 
    +
    3057 UCT_INLINE_API void uct_ep_pending_purge(uct_ep_h ep,
    + +
    3059  void *arg)
    +
    3060 {
    +
    3061  ep->iface->ops.ep_pending_purge(ep, cb, arg);
    +
    3062 }
    +
    3063 
    +
    3064 
    +
    3093 UCT_INLINE_API ucs_status_t uct_ep_flush(uct_ep_h ep, unsigned flags,
    +
    3094  uct_completion_t *comp)
    +
    3095 {
    +
    3096  return ep->iface->ops.ep_flush(ep, flags, comp);
    +
    3097 }
    +
    3098 
    +
    3099 
    +
    3112 UCT_INLINE_API ucs_status_t uct_ep_fence(uct_ep_h ep, unsigned flags)
    +
    3113 {
    +
    3114  return ep->iface->ops.ep_fence(ep, flags);
    +
    3115 }
    +
    3116 
    +
    3117 
    + +
    3141  const void *data, size_t length)
    +
    3142 {
    +
    3143  return ep->iface->ops.ep_tag_eager_short(ep, tag, data, length);
    +
    3144 }
    +
    3145 
    +
    3146 
    +
    3170 UCT_INLINE_API ssize_t uct_ep_tag_eager_bcopy(uct_ep_h ep, uct_tag_t tag,
    +
    3171  uint64_t imm,
    +
    3172  uct_pack_callback_t pack_cb,
    +
    3173  void *arg, unsigned flags)
    +
    3174 {
    +
    3175  return ep->iface->ops.ep_tag_eager_bcopy(ep, tag, imm, pack_cb, arg, flags);
    +
    3176 }
    +
    3177 
    +
    3178 
    + +
    3217  uint64_t imm,
    +
    3218  const uct_iov_t *iov,
    +
    3219  size_t iovcnt,
    +
    3220  unsigned flags,
    +
    3221  uct_completion_t *comp)
    +
    3222 {
    +
    3223  return ep->iface->ops.ep_tag_eager_zcopy(ep, tag, imm, iov, iovcnt, flags,
    +
    3224  comp);
    +
    3225 }
    +
    3226 
    +
    3227 
    + +
    3265  const void *header,
    +
    3266  unsigned header_length,
    +
    3267  const uct_iov_t *iov,
    +
    3268  size_t iovcnt,
    +
    3269  unsigned flags,
    +
    3270  uct_completion_t *comp)
    +
    3271 {
    +
    3272  return ep->iface->ops.ep_tag_rndv_zcopy(ep, tag, header, header_length,
    +
    3273  iov, iovcnt, flags, comp);
    +
    3274 }
    +
    3275 
    +
    3276 
    +
    3295 UCT_INLINE_API ucs_status_t uct_ep_tag_rndv_cancel(uct_ep_h ep, void *op)
    +
    3296 {
    +
    3297  return ep->iface->ops.ep_tag_rndv_cancel(ep, op);
    +
    3298 }
    +
    3299 
    +
    3300 
    + +
    3321  const void* header,
    +
    3322  unsigned header_length,
    +
    3323  unsigned flags)
    +
    3324 {
    +
    3325  return ep->iface->ops.ep_tag_rndv_request(ep, tag, header, header_length,
    +
    3326  flags);
    +
    3327 }
    +
    3328 
    +
    3329 
    + +
    3361  uct_tag_t tag,
    +
    3362  uct_tag_t tag_mask,
    +
    3363  const uct_iov_t *iov,
    +
    3364  size_t iovcnt,
    +
    3365  uct_tag_context_t *ctx)
    +
    3366 {
    +
    3367  return iface->ops.iface_tag_recv_zcopy(iface, tag, tag_mask, iov, iovcnt, ctx);
    +
    3368 }
    +
    3369 
    +
    3370 
    + +
    3394  uct_tag_context_t *ctx,
    +
    3395  int force)
    +
    3396 {
    +
    3397  return iface->ops.iface_tag_recv_cancel(iface, ctx, force);
    +
    3398 }
    +
    3399 
    +
    3400 
    +
    3419 UCT_INLINE_API void uct_iface_progress_enable(uct_iface_h iface, unsigned flags)
    +
    3420 {
    +
    3421  iface->ops.iface_progress_enable(iface, flags);
    +
    3422 }
    +
    3423 
    +
    3424 
    +
    3444 UCT_INLINE_API void uct_iface_progress_disable(uct_iface_h iface, unsigned flags)
    +
    3445 {
    +
    3446  iface->ops.iface_progress_disable(iface, flags);
    +
    3447 }
    +
    3448 
    +
    3449 
    +
    3454 UCT_INLINE_API unsigned uct_iface_progress(uct_iface_h iface)
    +
    3455 {
    +
    3456  return iface->ops.iface_progress(iface);
    +
    3457 }
    +
    3458 
    +
    3459 
    + +
    3483  const uct_cm_config_t *config, uct_cm_h *cm_p);
    +
    3484 
    +
    3485 
    +
    3492 void uct_cm_close(uct_cm_h cm);
    +
    3493 
    +
    3494 
    + +
    3506 
    +
    3507 
    + +
    3525  const char *env_prefix, const char *filename,
    +
    3526  uct_cm_config_t **config_p);
    +
    3527 
    +
    3528 
    + +
    3542 
    +
    3543 
    +
    3562 ucs_status_t uct_listener_create(uct_cm_h cm, const struct sockaddr *saddr,
    +
    3563  socklen_t socklen,
    +
    3564  const uct_listener_params_t *params,
    +
    3565  uct_listener_h *listener_p);
    +
    3566 
    +
    3567 
    +
    3574 void uct_listener_destroy(uct_listener_h listener);
    +
    3575 
    +
    3576 
    + +
    3593  uct_conn_request_h conn_request);
    +
    3594 
    +
    3595 
    + +
    3609  uct_listener_attr_t *listener_attr);
    +
    3610 
    +
    3611 
    +
    3619 static UCS_F_ALWAYS_INLINE
    + +
    3621 {
    +
    3622  if (ucs_unlikely(status != UCS_OK) && (comp->status == UCS_OK)) {
    +
    3623  /* store first failure status */
    +
    3624  comp->status = status;
    +
    3625  }
    +
    3626 }
    +
    3627 
    +
    3628 
    +
    3634 END_C_DECLS
    +
    3635 
    +
    3636 #endif
    +
    +
    +
    @ UCT_EP_PARAM_FIELD_CM
    Definition: uct.h:840
    +
    unsigned uct_worker_progress(uct_worker_h worker)
    Explicit progress for UCT worker.
    Definition: uct.h:2636
    +
    @ UCT_EP_PARAM_FIELD_IFACE_ADDR
    Definition: uct.h:828
    +
    uct_listener_attr_field
    UCT listener attributes field mask.
    Definition: uct.h:785
    +
    uct_mem_alloc_params_field_t
    UCT allocation parameters specification field mask.
    Definition: uct.h:2315
    +
    uct_cm_ep_priv_data_pack_callback_t sockaddr_pack_cb
    Definition: uct.h:1235
    +
    @ UCT_DEVICE_TYPE_ACC
    Definition: uct.h:305
    +
    @ UCT_IFACE_PARAM_FIELD_DEVICE
    Definition: uct.h:619
    +
    @ UCT_DEVICE_TYPE_LAST
    Definition: uct.h:307
    +
    ucs_status_t uct_ep_create(const uct_ep_params_t *params, uct_ep_h *ep_p)
    Create new endpoint.
    +
    @ UCT_EP_PARAM_FIELD_SOCKADDR_CB_FLAGS
    Definition: uct.h:834
    +
    @ UCT_ALLOC_METHOD_MD
    Definition: uct.h:470
    +
    int uct_md_is_sockaddr_accessible(uct_md_h md, const ucs_sock_addr_t *sockaddr, uct_sockaddr_accessibility_t mode)
    Check if remote sock address is accessible from the memory domain.
    +
    @ UCT_MD_MEM_ACCESS_REMOTE_GET
    Definition: uct.h:732
    +
    uct_ppn_bandwidth_t bandwidth
    Definition: uct.h:1038
    +
    ucs_status_ptr_t uct_ep_tag_rndv_zcopy(uct_ep_h ep, uct_tag_t tag, const void *header, unsigned header_length, const uct_iov_t *iov, size_t iovcnt, unsigned flags, uct_completion_t *comp)
    Rendezvous tagged-send operation.
    Definition: uct.h:3264
    +
    struct uct_iface_config uct_iface_config_t
    Definition: uct_def.h:78
    +
    ucs_status_t uct_ep_check(const uct_ep_h ep, unsigned flags, uct_completion_t *comp)
    check if the destination endpoint is alive in respect to UCT library
    +
    @ UCT_IFACE_PARAM_FIELD_STATS_ROOT
    Definition: uct.h:626
    +
    ucs_status_t uct_listener_query(uct_listener_h listener, uct_listener_attr_t *listener_attr)
    Get attributes specific to a particular listener.
    +
    @ UCT_EP_PARAM_FIELD_CONN_REQUEST
    Definition: uct.h:843
    +
    ucs_status_t uct_ep_am_short(uct_ep_h ep, uint8_t id, uint64_t header, const void *payload, unsigned length)
    Definition: uct.h:2838
    +
    @ UCT_MD_FLAG_NEED_MEMH
    Definition: uct.h:692
    +
    Parameters for creating a listener object uct_listener_h by uct_listener_create.
    Definition: uct.h:1376
    +
    Remote key with its type.
    Definition: uct.h:1550
    +
    void * address
    Definition: uct.h:2363
    +
    ucs_status_t uct_worker_create(ucs_async_context_t *async, ucs_thread_mode_t thread_mode, uct_worker_h *worker_p)
    Create a worker object.
    +
    @ UCT_MD_FLAG_NEED_RKEY
    Definition: uct.h:694
    +
    UCT component attributes.
    Definition: uct.h:245
    +
    @ UCT_MD_MEM_ACCESS_REMOTE_PUT
    Definition: uct.h:731
    +
    double overhead
    Definition: uct.h:1037
    +
    uct_sockaddr_accessibility_t
    Socket address accessibility type.
    Definition: uct.h:675
    +
    uct_error_handler_t err_handler
    Definition: uct.h:1111
    +
    @ UCT_MEM_ALLOC_PARAM_FIELD_ADDRESS
    Definition: uct.h:2320
    +
    @ UCT_MD_MEM_FLAG_LOCK
    Definition: uct.h:721
    +
    uct_component_attr_field
    UCT component attributes field mask.
    Definition: uct.h:230
    +
    @ UCT_EVENT_RECV_SIG
    Definition: uct.h:493
    +
    uct_device_type_t
    List of UCX device types.
    Definition: uct.h:302
    +
    @ UCT_MD_MEM_ATTR_FIELD_SYS_DEV
    Definition: uct.h:1443
    +
    char dev_name[UCT_DEVICE_NAME_MAX]
    Definition: uct.h:324
    +
    @ UCT_MD_MEM_ACCESS_ALL
    Definition: uct.h:738
    +
    Memory domain attributes.
    Definition: uct.h:1464
    +
    @ UCT_MD_MEM_ACCESS_LOCAL_READ
    Definition: uct.h:734
    +
    @ UCT_MEM_ALLOC_PARAM_FIELD_MDS
    Definition: uct.h:2326
    +
    ssize_t(* uct_cm_ep_priv_data_pack_callback_t)(void *arg, const uct_cm_ep_priv_data_pack_args_t *pack_args, void *priv_data)
    Callback to fill the user's private data in a client-server flow.
    Definition: uct_def.h:769
    +
    @ UCT_IFACE_FEATURE_GET
    Definition: uct.h:898
    +
    @ UCT_ALLOC_METHOD_MMAP
    Definition: uct.h:472
    +
    const uct_device_addr_t * dev_addr
    Definition: uct.h:1197
    +
    void(* tag_consumed_cb)(uct_tag_context_t *self)
    Definition: uct.h:1611
    +
    uint64_t field_mask
    Definition: uct.h:1382
    +
    ucs_status_t uct_ep_connect_to_ep(uct_ep_h ep, const uct_device_addr_t *dev_addr, const uct_ep_addr_t *ep_addr)
    Connect endpoint to a remote endpoint.
    +
    Interface attributes: capabilities and limitations.
    Definition: uct.h:926
    +
    ucs_status_t uct_iface_tag_recv_cancel(uct_iface_h iface, uct_tag_context_t *ctx, int force)
    Cancel a posted tag.
    Definition: uct.h:3393
    +
    size_t length
    Definition: uct.h:1535
    +
    UCT listener attributes, capabilities and limitations.
    Definition: uct.h:1356
    +
    @ UCT_SOCKADDR_ACC_REMOTE
    Definition: uct.h:679
    +
    uct_async_event_cb_t async_event_cb
    Definition: uct.h:1129
    +
    ucs_status_t uct_iface_set_am_tracer(uct_iface_h iface, uct_am_tracer_t tracer, void *arg)
    Set active message tracer for the interface.
    +
    void * uct_conn_request_h
    Definition: uct_def.h:110
    +
    @ UCT_EP_PARAM_FIELD_PATH_INDEX
    Definition: uct.h:855
    +
    ucs_status_t uct_iface_flush(uct_iface_h iface, unsigned flags, uct_completion_t *comp)
    Flush outstanding communication operations on an interface.
    Definition: uct.h:2670
    +
    ucs_status_t uct_md_mkey_pack(uct_md_h md, uct_mem_h memh, void *rkey_buffer)
    Pack a remote key.
    +
    unsigned path_index
    Definition: uct.h:1273
    +
    uint64_t field_mask
    Definition: uct.h:1362
    +
    uct_iface_event_types
    Asynchronous event types.
    Definition: uct.h:490
    +
    @ UCT_EP_PARAM_FIELD_SOCKADDR_DISCONNECT_CB
    Definition: uct.h:852
    +
    uct_iface_params_field
    UCT interface created by uct_iface_open parameters field mask.
    Definition: uct.h:610
    +
    Definition: types.h:137
    +
    ucs_status_t uct_ep_fence(uct_ep_h ep, unsigned flags)
    Ensures ordering of outstanding communications on the endpoint. Operations issued on the endpoint pri...
    Definition: uct.h:3112
    +
    @ UCT_MD_FLAG_REG
    Definition: uct.h:691
    +
    ucs_status_t uct_cm_query(uct_cm_h cm, uct_cm_attr_t *cm_attr)
    Get connection manager attributes.
    +
    Definition: uct.h:916
    +
    Posted tag context.
    Definition: uct.h:1604
    +
    enum uct_md_mem_attr_field uct_md_mem_attr_field_t
    UCT MD memory attributes field mask.
    +
    @ UCT_PROGRESS_THREAD_SAFE
    Definition: uct.h:532
    +
    void uct_md_close(uct_md_h md)
    Close a memory domain.
    +
    uct_device_type_t dev_type
    Definition: uct.h:325
    +
    ucs_status_t uct_mem_free(const uct_allocated_memory_t *mem)
    Release allocated memory.
    +
    ucs_status_t uct_md_mem_advise(uct_md_h md, uct_mem_h memh, void *addr, size_t length, uct_mem_advice_t advice)
    Give advice about the use of memory.
    +
    @ UCT_SOCKADDR_ACC_LOCAL
    Definition: uct.h:676
    +
    void * type
    Definition: uct.h:1553
    +
    struct uct_iface * uct_iface_h
    Definition: uct_def.h:77
    +
    @ UCT_IFACE_OPEN_MODE_SOCKADDR_CLIENT
    Definition: uct.h:599
    +
    void(* uct_am_tracer_t)(void *arg, uct_am_trace_type_t type, uint8_t id, const void *data, size_t length, char *buffer, size_t max)
    Callback to trace active messages.
    Definition: uct_def.h:522
    +
    @ UCT_EP_PARAM_FIELD_IFACE
    Definition: uct.h:819
    +
    ssize_t uct_ep_tag_eager_bcopy(uct_ep_h ep, uct_tag_t tag, uint64_t imm, uct_pack_callback_t pack_cb, void *arg, unsigned flags)
    Bcopy eager tagged-send operation.
    Definition: uct.h:3170
    +
    void * handle
    Definition: uct.h:1552
    +
    void uct_iface_progress_disable(uct_iface_h iface, unsigned flags)
    Disable synchronous progress for the interface.
    Definition: uct.h:3444
    +
    ucs_sys_device_t sys_device
    Definition: uct.h:327
    +
    @ UCT_EP_PARAM_FIELD_CM_RESOLVE_CB
    Definition: uct.h:858
    +
    uct_conn_request_h conn_request
    Definition: uct.h:1250
    +
    ucs_status_t uct_iface_get_device_address(uct_iface_h iface, uct_device_addr_t *addr)
    Get address of the device the interface is using.
    +
    void uct_iface_mem_free(const uct_allocated_memory_t *mem)
    Release memory allocated with uct_iface_mem_alloc().
    +
    @ UCT_EP_PARAM_FIELD_SOCKADDR_NOTIFY_CB_SERVER
    Definition: uct.h:849
    +
    @ UCT_ALLOC_METHOD_LAST
    Definition: uct.h:474
    +
    @ UCT_EP_PARAM_FIELD_SOCKADDR
    Definition: uct.h:831
    +
    void(* uct_cm_listener_conn_request_callback_t)(uct_listener_h listener, void *arg, const uct_cm_listener_conn_request_args_t *conn_req_args)
    Callback to process an incoming connection request on the server side listener in a connection manage...
    Definition: uct_def.h:665
    +
    uct_listener_params_field
    UCT listener created by uct_listener_create parameters field mask.
    Definition: uct.h:798
    +
    uct_iface_open_mode
    Mode in which to open the interface.
    Definition: uct.h:589
    +
    void(* uct_sockaddr_conn_request_callback_t)(uct_iface_h iface, void *arg, uct_conn_request_h conn_request, const void *conn_priv_data, size_t length)
    Callback to process an incoming connection request on the server side.
    Definition: uct_def.h:640
    +
    size_t ep_addr_len
    Definition: uct.h:1026
    +
    ucs_memory_type_t mem_type
    Definition: uct.h:1537
    +
    @ UCT_IFACE_PARAM_FIELD_HW_TM_RNDV_ARG
    Definition: uct.h:647
    +
    ucs_status_t uct_ep_put_zcopy(uct_ep_h ep, const uct_iov_t *iov, size_t iovcnt, uint64_t remote_addr, uct_rkey_t rkey, uct_completion_t *comp)
    Write data to remote memory while avoiding local memory copy.
    Definition: uct.h:2762
    +
    ucs_status_t uct_rkey_unpack(uct_component_h component, const void *rkey_buffer, uct_rkey_bundle_t *rkey_ob)
    Unpack a remote key.
    +
    ucs_status_t uct_md_mem_reg(uct_md_h md, void *address, size_t length, unsigned flags, uct_mem_h *memh_p)
    Register memory for zero-copy sends and remote access.
    +
    size_t(* uct_pack_callback_t)(void *dest, void *arg)
    Callback for producing data.
    Definition: uct_def.h:596
    +
    @ UCT_IFACE_FEATURE_AMO64
    Definition: uct.h:901
    +
    uct_cm_ep_resolve_callback_t cm_resolve_cb
    Definition: uct.h:1282
    +
    ucs_status_t uct_iface_event_fd_get(uct_iface_h iface, int *fd_p)
    Obtain a notification file descriptor for polling.
    +
    uct_pending_callback_t func
    Definition: uct.h:1592
    +
    Memory domain attributes.
    Definition: uct.h:1412
    +
    @ UCT_IFACE_PARAM_FIELD_ASYNC_EVENT_ARG
    Definition: uct.h:653
    +
    ucs_status_t uct_rkey_release(uct_component_h component, const uct_rkey_bundle_t *rkey_ob)
    Release a remote key.
    +
    uct_cm_h cm
    Definition: uct.h:1241
    +
    @ UCT_MD_MEM_ACCESS_REMOTE_ATOMIC
    Definition: uct.h:733
    +
    ucs_status_t uct_listener_reject(uct_listener_h listener, uct_conn_request_h conn_request)
    Reject a connection request.
    +
    ucs_status_t uct_cm_config_read(uct_component_h component, const char *env_prefix, const char *filename, uct_cm_config_t **config_p)
    Read the configuration for a connection manager.
    +
    ucs_status_t uct_ep_atomic_cswap64(uct_ep_h ep, uint64_t compare, uint64_t swap, uint64_t remote_addr, uct_rkey_t rkey, uint64_t *result, uct_completion_t *comp)
    Definition: uct.h:2946
    +
    size_t iface_addr_len
    Definition: uct.h:1025
    +
    uct_msg_flags
    Flags for active message send operation.
    Definition: uct.h:542
    +
    uint64_t field_mask
    Definition: uct.h:252
    +
    struct uct_device_addr uct_device_addr_t
    Definition: uct_def.h:96
    +
    ucs_status_t uct_ep_put_short(uct_ep_h ep, const void *buffer, unsigned length, uint64_t remote_addr, uct_rkey_t rkey)
    Definition: uct.h:2714
    +
    @ UCT_IFACE_PARAM_FIELD_SOCKADDR
    Definition: uct.h:623
    +
    @ UCT_MD_FLAG_ALLOC
    Definition: uct.h:690
    +
    struct uct_ep * uct_ep_h
    Definition: uct_def.h:81
    +
    void uct_listener_destroy(uct_listener_h listener)
    Destroy a transport listener.
    +
    ucs_status_t uct_ep_pending_add(uct_ep_h ep, uct_pending_req_t *req, unsigned flags)
    Add a pending request to an endpoint.
    Definition: uct.h:3038
    +
    @ UCT_DEVICE_TYPE_NET
    Definition: uct.h:303
    +
    @ UCT_ALLOC_METHOD_HUGE
    Definition: uct.h:473
    +
    ucs_thread_mode_t
    Thread sharing mode.
    Definition: thread_mode.h:19
    +
    @ UCT_EP_CONNECT_PARAM_FIELD_PRIVATE_DATA
    Definition: uct.h:880
    +
    @ UCT_CB_FLAG_ASYNC
    Definition: uct.h:567
    +
    uct_cm_ep_server_conn_notify_callback_t sockaddr_cb_server
    Definition: uct.h:1262
    +
    uint64_t flags
    Definition: uct.h:278
    +
    unsigned long ucs_time_t
    Definition: time_def.h:23
    +
    ucs_status_t uct_cm_client_ep_conn_notify(uct_ep_h ep)
    Notify the server about client-side connection establishment.
    +
    uct_progress_types
    UCT progress types.
    Definition: uct.h:529
    +
    uct_iface_h iface
    Definition: uct.h:1185
    +
    @ UCT_COMPONENT_ATTR_FIELD_NAME
    Definition: uct.h:231
    +
    @ UCT_MD_MEM_FLAG_HIDE_ERRORS
    Definition: uct.h:725
    +
    uct_ep_disconnect_cb_t disconnect_cb
    Definition: uct.h:1267
    +
    const uct_iface_addr_t * iface_addr
    Definition: uct.h:1204
    +
    struct uct_iface_addr uct_iface_addr_t
    Definition: uct_def.h:97
    +
    int uct_worker_cb_id_t
    Definition: uct_def.h:109
    +
    @ UCT_MD_FLAG_INVALIDATE
    Definition: uct.h:706
    +
    ucs_status_t uct_ep_tag_rndv_cancel(uct_ep_h ep, void *op)
    Cancel outstanding rendezvous operation.
    Definition: uct.h:3295
    +
    @ UCT_MADV_WILLNEED
    Definition: uct.h:758
    +
    ucs_status_t uct_ep_get_short(uct_ep_h ep, void *buffer, unsigned length, uint64_t remote_addr, uct_rkey_t rkey)
    Definition: uct.h:2775
    +
    uint8_t priority
    Definition: uct.h:1041
    +
    uint64_t uct_tag_t
    Definition: uct_def.h:108
    +
    void uct_worker_destroy(uct_worker_h worker)
    Destroy a worker object.
    +
    @ UCT_SEND_FLAG_SIGNALED
    Definition: uct.h:543
    +
    struct uct_md * uct_md_h
    Memory domain handler.
    Definition: uct_def.h:84
    +
    ucs_status_t(* uct_cm_ep_resolve_callback_t)(void *user_data, const uct_cm_ep_resolve_args_t *resolve_args)
    Callback to notify that the client side endpoint is bound to a local device.
    Definition: uct_def.h:793
    +
    ucs_status_t uct_md_iface_config_read(uct_md_h md, const char *tl_name, const char *env_prefix, const char *filename, uct_iface_config_t **config_p)
    Read transport-specific interface configuration.
    +
    uct_ep_connect_params_field
    UCT endpoint connected by uct_ep_connect parameters field mask.
    Definition: uct.h:878
    +
    @ UCT_EP_CONNECT_PARAM_FIELD_PRIVATE_DATA_LENGTH
    Definition: uct.h:883
    +
    @ UCT_SEND_FLAG_PEER_CHECK
    Definition: uct.h:549
    +
    @ UCT_COMPONENT_ATTR_FIELD_MD_RESOURCES
    Definition: uct.h:233
    +
    ucs_memory_type_t mem_type
    Definition: uct.h:2368
    +
    ucs_status_t(* uct_am_callback_t)(void *arg, void *data, size_t length, unsigned flags)
    Callback to process incoming active message.
    Definition: uct_def.h:504
    +
    ucs_status_t uct_ep_get_zcopy(uct_ep_h ep, const uct_iov_t *iov, size_t iovcnt, uint64_t remote_addr, uct_rkey_t rkey, uct_completion_t *comp)
    Read data from remote memory while avoiding local memory copy.
    Definition: uct.h:2825
    +
    ucs_linear_func_t latency
    Definition: uct.h:1039
    +
    void(* uct_cm_ep_server_conn_notify_callback_t)(uct_ep_h ep, void *arg, const uct_cm_ep_server_conn_notify_args_t *connect_args)
    Callback to process an incoming connection establishment acknowledgment on the server side listener,...
    Definition: uct_def.h:695
    +
    void uct_iface_release_desc(void *desc)
    Release AM descriptor.
    Definition: uct.h:2703
    +
    @ UCT_FLUSH_FLAG_CANCEL
    Definition: uct.h:507
    +
    void * user_data
    Definition: uct.h:1399
    +
    struct uct_component * uct_component_h
    Definition: uct_def.h:76
    +
    @ UCT_IFACE_PARAM_FIELD_RX_HEADROOM
    Definition: uct.h:629
    +
    int uct_iface_is_reachable(const uct_iface_h iface, const uct_device_addr_t *dev_addr, const uct_iface_addr_t *iface_addr)
    Check if remote iface address is reachable.
    +
    @ UCT_PROGRESS_RECV
    Definition: uct.h:531
    +
    @ UCT_COMPONENT_ATTR_FIELD_MD_RESOURCE_COUNT
    Definition: uct.h:232
    +
    uct_ep_params_field
    UCT endpoint created by uct_ep_create parameters field mask.
    Definition: uct.h:817
    +
    uint64_t field_mask
    Definition: uct.h:1179
    +
    @ UCT_DEVICE_TYPE_SHM
    Definition: uct.h:304
    +
    void uct_iface_close(uct_iface_h iface)
    Close and destroy an interface.
    +
    @ UCT_IFACE_PARAM_FIELD_HW_TM_EAGER_CB
    Definition: uct.h:644
    +
    @ UCT_LISTENER_ATTR_FIELD_SOCKADDR
    Definition: uct.h:787
    +
    @ UCT_EP_PARAM_FIELD_SOCKADDR_CONNECT_CB_CLIENT
    Definition: uct.h:846
    +
    uint64_t field_mask
    Definition: uct.h:2343
    +
    @ UCT_MD_FLAG_FIXED
    Definition: uct.h:698
    +
    struct uct_md_mem_attr uct_md_mem_attr_t
    Memory domain attributes.
    +
    @ UCT_PROGRESS_SEND
    Definition: uct.h:530
    +
    size_t device_addr_len
    Definition: uct.h:1024
    +
    Parameters for connecting a UCT endpoint by uct_ep_connect.
    Definition: uct.h:1312
    +
    @ UCT_MD_MEM_FLAG_NONBLOCK
    Definition: uct.h:714
    +
    void uct_config_release(void *config)
    Release configuration memory returned from uct_md_iface_config_read(), uct_md_config_read(),...
    +
    Parameters used for interface creation.
    Definition: uct.h:1062
    +
    @ UCT_COMPONENT_FLAG_CM
    Definition: uct.h:294
    +
    void * ucs_status_ptr_t
    Status pointer.
    Definition: status.h:106
    +
    @ UCT_IFACE_FEATURE_AM
    Definition: uct.h:896
    +
    @ UCT_EVENT_RECV
    Definition: uct.h:492
    +
    uct_rkey_t rkey
    Definition: uct.h:1551
    +
    int backlog
    Definition: uct.h:1389
    +
    ucs_status_t(* uct_tag_unexp_rndv_cb_t)(void *arg, unsigned flags, uint64_t stag, const void *header, unsigned header_length, uint64_t remote_addr, size_t length, const void *rkey_buf)
    Callback to process unexpected rendezvous tagged message.
    Definition: uct_def.h:880
    +
    ucs_status_t uct_ep_tag_eager_short(uct_ep_h ep, uct_tag_t tag, const void *data, size_t length)
    Short eager tagged-send operation.
    Definition: uct.h:3140
    +
    @ UCT_IFACE_PARAM_FIELD_AM_ALIGN_OFFSET
    Definition: uct.h:665
    +
    @ UCS_OK
    Definition: status.h:47
    +
    ucs_status_t uct_ep_get_address(uct_ep_h ep, uct_ep_addr_t *addr)
    Get endpoint address.
    +
    @ UCT_IFACE_PARAM_FIELD_ASYNC_EVENT_CB
    Definition: uct.h:656
    +
    @ UCT_IFACE_PARAM_FIELD_HW_TM_EAGER_ARG
    Definition: uct.h:641
    +
    ucs_status_t uct_component_query(uct_component_h component, uct_component_attr_t *component_attr)
    Get component attributes.
    +
    @ UCT_MD_FLAG_SOCKADDR
    Definition: uct.h:703
    +
    uct_completion_callback_t func
    Definition: uct.h:1576
    +
    struct uct_allocated_memory uct_allocated_memory_t
    Describes a memory allocated by UCT.
    +
    size_t alloc_length
    Definition: uct.h:1497
    +
    ucs_status_t uct_ep_atomic64_post(uct_ep_h ep, uct_atomic_op_t opcode, uint64_t value, uint64_t remote_addr, uct_rkey_t rkey)
    Definition: uct.h:2982
    +
    uint64_t field_mask
    Definition: uct.h:1318
    +
    void(* uct_pending_purge_callback_t)(uct_pending_req_t *self, void *arg)
    Callback to purge pending requests.
    Definition: uct_def.h:584
    +
    void uct_iface_progress_enable(uct_iface_h iface, unsigned flags)
    Enable synchronous progress for the interface.
    Definition: uct.h:3419
    +
    ucs_status_t(* uct_error_handler_t)(void *arg, uct_ep_h ep, ucs_status_t status)
    Callback to process peer failure.
    Definition: uct_def.h:572
    +
    void uct_cm_close(uct_cm_h cm)
    Close a connection manager.
    +
    unsigned md_resource_count
    Definition: uct.h:258
    +
    ucs_status_t uct_config_modify(void *config, const char *name, const char *value)
    Modify interface configuration (uct_iface_config_t), memory domain configuration (uct_md_config_t) or...
    +
    @ UCT_CB_FLAG_RESERVED
    Definition: uct.h:566
    +
    Parameters for allocating memory using uct_mem_alloc.
    Definition: uct.h:2337
    +
    ucs_status_t uct_iface_reject(uct_iface_h iface, uct_conn_request_h conn_request)
    Reject connection request. Will invoke an error handler uct_error_handler_t on the remote transport i...
    +
    uct_cm_attr_field
    UCT connection manager attributes field mask.
    Definition: uct.h:772
    +
    ucs_status_t uct_md_query_tl_resources(uct_md_h md, uct_tl_resource_desc_t **resources_p, unsigned *num_resources_p)
    Query for transport resources.
    +
    Pending request.
    Definition: uct.h:1591
    +
    ucs_status_t uct_ep_am_zcopy(uct_ep_h ep, uint8_t id, const void *header, unsigned header_length, const uct_iov_t *iov, size_t iovcnt, unsigned flags, uct_completion_t *comp)
    Send active message while avoiding local memory copy.
    Definition: uct.h:2931
    +
    void(* uct_cm_ep_client_connect_callback_t)(uct_ep_h ep, void *arg, const uct_cm_ep_client_connect_args_t *connect_args)
    Callback to process an incoming connection response on the client side from the server or handle a lo...
    Definition: uct_def.h:719
    +
    ucs_status_t uct_ep_connect(uct_ep_h ep, const uct_ep_connect_params_t *params)
    Connect a client side endpoint after it is bound to a local network device, i.e. uct_ep_params_t::cm_...
    +
    @ UCT_IFACE_OPEN_MODE_DEVICE
    Definition: uct.h:591
    +
    ucs_status_t uct_iface_query(uct_iface_h iface, uct_iface_attr_t *iface_attr)
    Get interface attributes.
    +
    void * uct_mem_h
    Definition: uct_def.h:82
    +
    Communication resource descriptor.
    Definition: uct.h:322
    +
    ucs_status_t uct_iface_event_arm(uct_iface_h iface, unsigned events)
    Turn on event notification for the next event.
    +
    @ UCT_MD_MEM_ATTR_FIELD_BASE_ADDRESS
    Definition: uct.h:1447
    +
    ucs_cpu_set_t local_cpus
    Definition: uct.h:1429
    +
    @ UCT_IFACE_PARAM_FIELD_ERR_HANDLER_ARG
    Definition: uct.h:632
    +
    void(* uct_unpack_callback_t)(void *arg, const void *data, size_t length)
    Callback for consuming data.
    Definition: uct_def.h:609
    +
    struct uct_rkey_bundle uct_rkey_bundle_t
    Remote key with its type.
    +
    void * user_data
    Definition: uct.h:1190
    +
    uct_tag_unexp_eager_cb_t eager_cb
    Definition: uct.h:1119
    +
    void * address
    Definition: uct.h:1534
    +
    @ UCT_IFACE_OPEN_MODE_SOCKADDR_SERVER
    Definition: uct.h:595
    +
    @ UCT_EVENT_SEND_COMP
    Definition: uct.h:491
    +
    ucs_status_t uct_ep_flush(uct_ep_h ep, unsigned flags, uct_completion_t *comp)
    Flush outstanding communication operations on an endpoint.
    Definition: uct.h:3093
    +
    size_t max_conn_priv
    Definition: uct.h:1348
    +
    ucs_status_t uct_iface_mem_alloc(uct_iface_h iface, size_t length, unsigned flags, const char *name, uct_allocated_memory_t *mem)
    Allocate memory which can be used for zero-copy communications.
    +
    struct sockaddr_storage listen_sockaddr
    Definition: uct.h:1030
    +
    uct_alloc_method_t
    Memory allocation methods.
    Definition: uct.h:467
    +
    @ UCT_EP_PARAM_FIELD_DEV_ADDR
    Definition: uct.h:825
    +
    ucs_status_t uct_md_query(uct_md_h md, uct_md_attr_t *md_attr)
    Query for memory domain attributes.
    +
    @ UCT_LISTENER_PARAM_FIELD_BACKLOG
    Definition: uct.h:800
    +
    uct_md_mem_flags
    Memory allocation/registration flags.
    Definition: uct.h:713
    +
    @ UCT_COMPONENT_ATTR_FIELD_FLAGS
    Definition: uct.h:234
    +
    ucs_status_t uct_md_mem_query(uct_md_h md, const void *address, size_t length, uct_md_mem_attr_t *mem_attr)
    Query attributes of a given pointer.
    +
    char md_name[UCT_MD_NAME_MAX]
    Definition: uct.h:219
    +
    @ UCT_MADV_NORMAL
    Definition: uct.h:757
    +
    uct_md_h md
    Definition: uct.h:1538
    +
    @ UCT_MD_MEM_FLAG_FIXED
    Definition: uct.h:719
    +
    @ UCT_IFACE_PARAM_FIELD_HW_TM_RNDV_CB
    Definition: uct.h:650
    +
    ucs_status_t uct_ep_disconnect(uct_ep_h ep, unsigned flags)
    Initiate a disconnection of an endpoint connected to a sockaddr by a connection manager uct_cm_h.
    +
    struct uct_ep_addr uct_ep_addr_t
    Definition: uct_def.h:98
    +
    uct_cm_ep_client_connect_callback_t sockaddr_cb_client
    Definition: uct.h:1256
    +
    @ UCT_LISTENER_PARAM_FIELD_USER_DATA
    Definition: uct.h:806
    +
    uct_cb_flags
    Callback flags.
    Definition: uct.h:565
    +
    void uct_worker_progress_unregister_safe(uct_worker_h worker, uct_worker_cb_id_t *id_p)
    Remove a slow path callback function from worker's progress.
    +
    @ UCT_MD_MEM_ATTR_FIELD_MEM_TYPE
    Definition: uct.h:1441
    +
    size_t max_conn_priv
    Definition: uct.h:1027
    +
    uint64_t field_mask
    Definition: uct.h:1066
    +
    char component_name[UCT_COMPONENT_NAME_MAX]
    Definition: uct.h:1427
    +
    ucs_status_t uct_iface_get_address(uct_iface_h iface, uct_iface_addr_t *addr)
    Get interface address.
    +
    size_t am_align_offset
    Definition: uct.h:1159
    +
    ucs_status_t uct_mem_alloc(size_t length, const uct_alloc_method_t *methods, unsigned num_methods, const uct_mem_alloc_params_t *params, uct_allocated_memory_t *mem)
    Allocate memory for zero-copy communications and remote access.
    +
    ucs_status_t uct_md_detect_memory_type(uct_md_h md, const void *addr, size_t length, ucs_memory_type_t *mem_type_p)
    Detect memory type.
    +
    double dedicated
    Definition: uct.h:917
    +
    @ UCT_EP_PARAM_FIELD_LOCAL_SOCKADDR
    Definition: uct.h:867
    +
    uct_mem_advice_t
    list of UCT memory use advice
    Definition: uct.h:756
    +
    @ UCT_IFACE_FEATURE_TAG
    Definition: uct.h:903
    +
    uint64_t open_mode
    Definition: uct.h:1070
    +
    @ UCT_FLUSH_FLAG_LOCAL
    Definition: uct.h:503
    +
    @ UCT_MD_MEM_ATTR_FIELD_ALLOC_LENGTH
    Definition: uct.h:1450
    +
    void(* uct_async_event_cb_t)(void *arg, unsigned flags)
    Callback to process asynchronous events.
    Definition: uct_def.h:895
    +
    ucs_status_t uct_ep_am_short_iov(uct_ep_h ep, uint8_t id, const uct_iov_t *iov, size_t iovcnt)
    Short io-vector send operation.
    Definition: uct.h:2875
    +
    Connection manager attributes, capabilities and limitations.
    Definition: uct.h:1336
    +
    ucs_status_t uct_rkey_ptr(uct_component_h component, uct_rkey_bundle_t *rkey_ob, uint64_t remote_addr, void **addr_p)
    Get a local pointer to remote memory.
    +
    ucs_status_t uct_cm_open(uct_component_h component, uct_worker_h worker, const uct_cm_config_t *config, uct_cm_h *cm_p)
    Open a connection manager.
    +
    unsigned flags
    Definition: uct.h:2351
    +
    @ UCT_EP_PARAM_FIELD_PRIV_DATA
    Definition: uct.h:861
    +
    ucs_status_t uct_md_mem_dereg(uct_md_h md, uct_mem_h memh)
    Undo the operation of uct_md_mem_reg().
    +
    const ucs_sock_addr_t * sockaddr
    Definition: uct.h:1213
    +
    ucs_status_t uct_md_config_read(uct_component_h component, const char *env_prefix, const char *filename, uct_md_config_t **config_p)
    Read the configuration for a memory domain.
    +
    @ UCT_IFACE_PARAM_FIELD_ERR_HANDLER
    Definition: uct.h:635
    +
    void uct_release_component_list(uct_component_h *components)
    Release the list of components returned from uct_query_components.
    +
    @ UCT_LISTENER_PARAM_FIELD_CONN_REQUEST_CB
    Definition: uct.h:803
    +
    struct uct_listener * uct_listener_h
    Definition: uct_def.h:105
    +
    ucs_status_t
    Status codes.
    Definition: status.h:45
    +
    @ UCT_EP_PARAM_FIELD_SOCKADDR_PACK_CB
    Definition: uct.h:837
    +
    @ UCT_MEM_ALLOC_PARAM_FIELD_FLAGS
    Definition: uct.h:2317
    +
    ucs_status_t uct_ep_tag_rndv_request(uct_ep_h ep, uct_tag_t tag, const void *header, unsigned header_length, unsigned flags)
    Send software rendezvous request.
    Definition: uct.h:3320
    +
    struct sockaddr_storage sockaddr
    Definition: uct.h:1367
    +
    void(* uct_completion_callback_t)(uct_completion_t *self)
    Callback to process send completion.
    Definition: uct_def.h:534
    +
    @ UCT_MEM_ALLOC_PARAM_FIELD_MEM_TYPE
    Definition: uct.h:2323
    +
    ucs_status_t uct_iface_set_am_handler(uct_iface_h iface, uint8_t id, uct_am_callback_t cb, void *arg, uint32_t flags)
    Set active message handler for the interface.
    +
    @ UCT_MD_FLAG_RKEY_PTR
    Definition: uct.h:700
    +
    ucs_status_t uct_ep_atomic64_fetch(uct_ep_h ep, uct_atomic_op_t opcode, uint64_t value, uint64_t *result, uint64_t remote_addr, uct_rkey_t rkey, uct_completion_t *comp)
    Definition: uct.h:3008
    +
    ucs_memory_type_t mem_type
    Definition: uct.h:1476
    +
    uint64_t field_mask
    Definition: uct.h:1342
    +
    @ UCT_MD_FLAG_ADVISE
    Definition: uct.h:697
    +
    uint32_t err_handler_flags
    Definition: uct.h:1114
    +
    void uct_release_tl_resource_list(uct_tl_resource_desc_t *resources)
    Release the list of resources returned from uct_md_query_tl_resources.
    +
    @ UCT_IFACE_PARAM_FIELD_OPEN_MODE
    Definition: uct.h:615
    +
    void uct_ep_pending_purge(uct_ep_h ep, uct_pending_purge_callback_t cb, void *arg)
    Remove all pending requests from an endpoint.
    Definition: uct.h:3057
    +
    uct_iface_feature
    UCT interface configuration features.
    Definition: uct.h:895
    +
    @ UCT_MD_MEM_ACCESS_RMA
    Definition: uct.h:745
    +
    ucs_status_t uct_iface_accept(uct_iface_h iface, uct_conn_request_h conn_request)
    Accept connection request.
    +
    uct_md_mem_attr_field
    UCT MD memory attributes field mask.
    Definition: uct.h:1440
    +
    Completion handle.
    Definition: uct.h:1575
    +
    @ UCT_IFACE_PARAM_FIELD_ERR_HANDLER_FLAGS
    Definition: uct.h:638
    +
    @ UCT_IFACE_PARAM_FIELD_AM_ALIGNMENT
    Definition: uct.h:662
    +
    @ UCT_CM_ATTR_FIELD_MAX_CONN_PRIV
    Definition: uct.h:774
    +
    uct_cm_listener_conn_request_callback_t conn_request_cb
    Definition: uct.h:1394
    +
    ucs_status_t uct_query_components(uct_component_h **components_p, unsigned *num_components_p)
    Query for list of components.
    +
    size_t max_num_eps
    Definition: uct.h:1042
    +
    struct uct_md_config uct_md_config_t
    Definition: uct_def.h:79
    +
    void * async_event_arg
    Definition: uct.h:1124
    +
    @ UCT_IFACE_PARAM_FIELD_FEATURES
    Definition: uct.h:668
    +
    void * rndv_arg
    Definition: uct.h:1120
    +
    ucs_status_t uct_listener_create(uct_cm_h cm, const struct sockaddr *saddr, socklen_t socklen, const uct_listener_params_t *params, uct_listener_h *listener_p)
    Create a new transport listener object.
    +
    ssize_t uct_ep_am_bcopy(uct_ep_h ep, uint8_t id, uct_pack_callback_t pack_cb, void *arg, unsigned flags)
    Definition: uct.h:2886
    +
    const void * private_data
    Definition: uct.h:1290
    +
    @ UCT_EP_PARAM_FIELD_PRIV_DATA_LENGTH
    Definition: uct.h:864
    +
    char tl_name[UCT_TL_NAME_MAX]
    Definition: uct.h:323
    +
    unsigned uct_iface_progress(uct_iface_h iface)
    Perform a progress on an interface.
    Definition: uct.h:3454
    +
    void(* completed_cb)(uct_tag_context_t *self, uct_tag_t stag, uint64_t imm, size_t length, void *inline_data, ucs_status_t status)
    Definition: uct.h:1632
    +
    void(* uct_ep_disconnect_cb_t)(uct_ep_h ep, void *arg)
    Callback to handle the disconnection of the remote peer.
    Definition: uct_def.h:741
    +
    const void * private_data
    Definition: uct.h:1323
    +
    Structure for scatter-gather I/O.
    Definition: uct_def.h:145
    +
    struct uct_iface_attr::@7 cap
    +
    ucs_status_t uct_md_open(uct_component_h component, const char *md_name, const uct_md_config_t *config, uct_md_h *md_p)
    Open a memory domain.
    +
    void(* rndv_cb)(uct_tag_context_t *self, uct_tag_t stag, const void *header, unsigned header_length, ucs_status_t status, unsigned flags)
    Definition: uct.h:1647
    +
    ucs_cpu_set_t cpu_mask
    Definition: uct.h:1068
    +
    ucs_status_t status
    Definition: uct.h:1578
    +
    ucs_status_t uct_ep_atomic_cswap32(uct_ep_h ep, uint32_t compare, uint32_t swap, uint64_t remote_addr, uct_rkey_t rkey, uint32_t *result, uct_completion_t *comp)
    Definition: uct.h:2958
    +
    int count
    Definition: uct.h:1577
    +
    ucs_status_t uct_iface_open(uct_md_h md, uct_worker_h worker, const uct_iface_params_t *params, const uct_iface_config_t *config, uct_iface_h *iface_p)
    Open a communication interface.
    +
    @ UCT_IFACE_PARAM_FIELD_KEEPALIVE_INTERVAL
    Definition: uct.h:659
    +
    struct uct_md_attr::@19 cap
    +
    uint32_t sockaddr_cb_flags
    Definition: uct.h:1223
    +
    ucs_status_t uct_ep_atomic32_fetch(uct_ep_h ep, uct_atomic_op_t opcode, uint32_t value, uint32_t *result, uint64_t remote_addr, uct_rkey_t rkey, uct_completion_t *comp)
    Definition: uct.h:2994
    +
    void * base_address
    Definition: uct.h:1490
    +
    uct_cm_t * uct_cm_h
    Definition: uct_def.h:103
    +
    uct_md_resource_desc_t * md_resources
    Definition: uct.h:273
    +
    Parameters for creating a UCT endpoint by uct_ep_create.
    Definition: uct.h:1173
    +
    unsigned dev_num_paths
    Definition: uct.h:1043
    +
    Memory domain resource descriptor.
    Definition: uct.h:218
    +
    void uct_ep_destroy(uct_ep_h ep)
    Destroy an endpoint.
    +
    void * eager_arg
    Definition: uct.h:1117
    +
    @ UCT_IFACE_FEATURE_AMO32
    Definition: uct.h:899
    +
    size_t private_data_length
    Definition: uct.h:1296
    +
    @ UCT_ALLOC_METHOD_THP
    Definition: uct.h:468
    +
    @ UCT_DEVICE_TYPE_SELF
    Definition: uct.h:306
    +
    struct uct_md_resource_desc uct_md_resource_desc_t
    Memory domain resource descriptor.
    +
    char name[UCT_COMPONENT_NAME_MAX]
    Definition: uct.h:255
    +
    struct uct_component_attr uct_component_attr_t
    UCT component attributes.
    +
    @ UCT_MEM_ALLOC_PARAM_FIELD_NAME
    Definition: uct.h:2329
    +
    double shared
    Definition: uct.h:918
    +
    const char * name
    Definition: uct.h:2391
    +
    ssize_t uct_ep_put_bcopy(uct_ep_h ep, uct_pack_callback_t pack_cb, void *arg, uint64_t remote_addr, uct_rkey_t rkey)
    Definition: uct.h:2725
    +
    struct uct_worker * uct_worker_h
    Definition: uct_def.h:93
    +
    uct_mem_h memh
    Definition: uct.h:1539
    +
    @ UCT_EP_PARAM_FIELD_USER_DATA
    Definition: uct.h:822
    +
    size_t rx_headroom
    Definition: uct.h:1106
    +
    ucs_status_t uct_config_get(void *config, const char *name, char *value, size_t max)
    Get value by name from interface configuration (uct_iface_config_t), memory domain configuration (uct...
    +
    ucs_status_t(* uct_pending_callback_t)(uct_pending_req_t *self)
    Callback to process pending requests.
    Definition: uct_def.h:551
    +
    ucs_status_t uct_ep_atomic32_post(uct_ep_h ep, uct_atomic_op_t opcode, uint32_t value, uint64_t remote_addr, uct_rkey_t rkey)
    Definition: uct.h:2970
    +
    char priv[UCT_TAG_PRIV_LEN]
    Definition: uct.h:1651
    +
    struct uct_cm_config uct_cm_config_t
    Definition: uct_def.h:80
    +
    size_t am_alignment
    Definition: uct.h:1141
    +
    @ UCT_MD_MEM_ACCESS_LOCAL_WRITE
    Definition: uct.h:735
    +
    size_t rkey_packed_size
    Definition: uct.h:1428
    +
    ucs_status_t(* uct_tag_unexp_eager_cb_t)(void *arg, void *data, size_t length, unsigned flags, uct_tag_t stag, uint64_t imm, void **context)
    Callback to process unexpected eager tagged message.
    Definition: uct_def.h:843
    +
    ucs_sys_device_t sys_dev
    Definition: uct.h:1483
    +
    ucs_time_t keepalive_interval
    Definition: uct.h:1132
    +
    @ UCT_IFACE_FEATURE_PUT
    Definition: uct.h:897
    +
    const ucs_sock_addr_t * local_sockaddr
    Definition: uct.h:1304
    +
    uint64_t features
    Definition: uct.h:1165
    +
    uint64_t field_mask
    Definition: uct.h:1469
    +
    ucs_stats_node_t * stats_root
    Definition: uct.h:1104
    +
    @ UCT_ALLOC_METHOD_HEAP
    Definition: uct.h:471
    +
    void * err_handler_arg
    Definition: uct.h:1109
    +
    uct_alloc_method_t method
    Definition: uct.h:1536
    +
    uct_tag_unexp_rndv_cb_t rndv_cb
    Definition: uct.h:1122
    +
    @ UCT_IFACE_FEATURE_LAST
    Definition: uct.h:904
    +
    size_t private_data_length
    Definition: uct.h:1329
    +
    Describes a memory allocated by UCT.
    Definition: uct.h:1533
    +
    ucs_status_t uct_ep_get_bcopy(uct_ep_h ep, uct_unpack_callback_t unpack_cb, void *arg, size_t length, uint64_t remote_addr, uct_rkey_t rkey, uct_completion_t *comp)
    Definition: uct.h:2786
    +
    @ UCT_ALLOC_METHOD_DEFAULT
    Definition: uct.h:475
    +
    ucs_status_t uct_ep_tag_eager_zcopy(uct_ep_h ep, uct_tag_t tag, uint64_t imm, const uct_iov_t *iov, size_t iovcnt, unsigned flags, uct_completion_t *comp)
    Zcopy eager tagged-send operation.
    Definition: uct.h:3216
    +
    uintptr_t uct_rkey_t
    Definition: uct_def.h:83
    +
    char priv[UCT_PENDING_REQ_PRIV_LEN]
    Definition: uct.h:1593
    +
    union uct_iface_params::@16 mode
    +
    static UCS_F_ALWAYS_INLINE void uct_completion_update_status(uct_completion_t *comp, ucs_status_t status)
    Update status of UCT completion handle.
    Definition: uct.h:3620
    +
    ucs_status_t uct_iface_fence(uct_iface_h iface, unsigned flags)
    Ensures ordering of outstanding communications on the interface. Operations issued on the interface p...
    Definition: uct.h:2689
    +
    struct uct_tl_resource_desc uct_tl_resource_desc_t
    Communication resource descriptor.
    +
    @ UCT_IFACE_PARAM_FIELD_CPU_MASK
    Definition: uct.h:612
    +
    @ UCT_TAG_RECV_CB_INLINE_DATA
    Definition: uct.h:1661
    +
    ucs_status_t uct_iface_tag_recv_zcopy(uct_iface_h iface, uct_tag_t tag, uct_tag_t tag_mask, const uct_iov_t *iov, size_t iovcnt, uct_tag_context_t *ctx)
    Post a tag to a transport interface.
    Definition: uct.h:3360
    +
    ucs_linear_func_t reg_cost
    Definition: uct.h:1423
    +
    uct_flush_flags
    Flush modifiers.
    Definition: uct.h:502
    +
    enum ucs_memory_type ucs_memory_type_t
    Memory types.
    +
    void uct_worker_progress_register_safe(uct_worker_h worker, ucs_callback_t func, void *arg, unsigned flags, uct_worker_cb_id_t *id_p)
    Add a slow path callback function to a worker progress.
    + + + + diff --git a/api/v1.13/html/uct__def_8h_source.html b/api/v1.13/html/uct__def_8h_source.html new file mode 100644 index 00000000000..0ab6f1b3435 --- /dev/null +++ b/api/v1.13/html/uct__def_8h_source.html @@ -0,0 +1,498 @@ + + + + + + + +UCX: uct_def.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    uct_def.h
    +
    +
    +
    1 
    +
    7 #ifndef UCT_DEF_H_
    +
    8 #define UCT_DEF_H_
    +
    9 
    +
    10 #include <ucs/config/types.h>
    +
    11 #include <ucs/type/status.h>
    +
    12 
    +
    13 #include <stddef.h>
    +
    14 #include <stdint.h>
    +
    15 #include <sys/types.h>
    +
    16 
    +
    17 
    +
    18 #define UCT_COMPONENT_NAME_MAX 16
    +
    19 #define UCT_TL_NAME_MAX 10
    +
    20 #define UCT_MD_NAME_MAX 16
    +
    21 #define UCT_DEVICE_NAME_MAX 32
    +
    22 #define UCT_PENDING_REQ_PRIV_LEN 40
    +
    23 #define UCT_TAG_PRIV_LEN 32
    +
    24 #define UCT_AM_ID_BITS 5
    +
    25 #define UCT_AM_ID_MAX UCS_BIT(UCT_AM_ID_BITS)
    +
    26 #define UCT_MEM_HANDLE_NULL NULL
    +
    27 #define UCT_INVALID_RKEY ((uintptr_t)(-1))
    +
    28 #define UCT_INLINE_API static UCS_F_ALWAYS_INLINE
    +
    29 
    +
    30 
    + + + + + + +
    41 };
    +
    42 
    +
    43 
    + +
    67  UCT_CB_PARAM_FLAG_DESC = UCS_BIT(0),
    + + +
    70 };
    +
    71 
    +
    76 typedef struct uct_component *uct_component_h;
    +
    77 typedef struct uct_iface *uct_iface_h;
    +
    78 typedef struct uct_iface_config uct_iface_config_t;
    +
    79 typedef struct uct_md_config uct_md_config_t;
    +
    80 typedef struct uct_cm_config uct_cm_config_t;
    +
    81 typedef struct uct_ep *uct_ep_h;
    +
    82 typedef void * uct_mem_h;
    +
    83 typedef uintptr_t uct_rkey_t;
    +
    84 typedef struct uct_md *uct_md_h;
    +
    85 typedef struct uct_md_ops uct_md_ops_t;
    +
    86 typedef void *uct_rkey_ctx_h;
    + + +
    89 typedef struct uct_ep_attr uct_ep_attr_t;
    +
    90 typedef struct uct_md_attr uct_md_attr_t;
    + + +
    93 typedef struct uct_worker *uct_worker_h;
    +
    94 typedef struct uct_md uct_md_t;
    + +
    96 typedef struct uct_device_addr uct_device_addr_t;
    +
    97 typedef struct uct_iface_addr uct_iface_addr_t;
    +
    98 typedef struct uct_ep_addr uct_ep_addr_t;
    + + +
    101 typedef struct uct_cm_attr uct_cm_attr_t;
    +
    102 typedef struct uct_cm uct_cm_t;
    + + +
    105 typedef struct uct_listener *uct_listener_h;
    + + +
    108 typedef uint64_t uct_tag_t; /* tag type - 64 bit */
    +
    109 typedef int uct_worker_cb_id_t;
    +
    110 typedef void* uct_conn_request_h;
    +
    111 
    +
    145 typedef struct uct_iov {
    +
    146  void *buffer;
    +
    147  size_t length;
    + +
    149  size_t stride;
    +
    151  unsigned count;
    +
    152 } uct_iov_t;
    +
    153 
    +
    154 
    + + +
    169 };
    +
    170 
    +
    171 
    + + +
    184 
    + +
    189 };
    +
    190 
    +
    191 
    + +
    204  uint64_t field_mask;
    +
    205 
    +
    212  char dev_name[UCT_DEVICE_NAME_MAX];
    + +
    214 
    +
    215 
    +
    222 typedef struct uct_cm_ep_resolve_args {
    +
    228  uint64_t field_mask;
    +
    229 
    +
    236  char dev_name[UCT_DEVICE_NAME_MAX];
    +
    237 
    + + +
    248 
    +
    249 
    + + +
    260 
    + +
    263 
    + +
    266 
    + +
    269 };
    +
    270 
    +
    271 
    +
    279 typedef struct uct_cm_remote_data {
    +
    285  uint64_t field_mask;
    +
    286 
    + +
    291 
    + +
    296 
    +
    301  const void *conn_priv_data;
    +
    302 
    + + +
    308 
    +
    309 
    + + +
    324 
    + +
    330 
    + +
    336 
    + +
    342 };
    +
    343 
    +
    344 
    + +
    358  uint64_t field_mask;
    +
    359 
    +
    363  char dev_name[UCT_DEVICE_NAME_MAX];
    +
    364 
    + +
    371 
    + +
    376 
    + + +
    382 
    +
    383 
    + + +
    395 
    + +
    398 };
    +
    399 
    +
    400 
    + +
    413  uint64_t field_mask;
    +
    414 
    + +
    419 
    + + +
    431 
    +
    432 
    + + +
    447 };
    +
    448 
    +
    449 
    + +
    462  uint64_t field_mask;
    +
    463 
    + + +
    476 
    +
    477 
    +
    504 typedef ucs_status_t (*uct_am_callback_t)(void *arg, void *data, size_t length,
    +
    505  unsigned flags);
    +
    506 
    +
    507 
    +
    522 typedef void (*uct_am_tracer_t)(void *arg, uct_am_trace_type_t type, uint8_t id,
    +
    523  const void *data, size_t length, char *buffer,
    +
    524  size_t max);
    +
    525 
    +
    526 
    + +
    535 
    +
    536 
    + +
    552 
    +
    553 
    +
    572 typedef ucs_status_t (*uct_error_handler_t)(void *arg, uct_ep_h ep,
    +
    573  ucs_status_t status);
    +
    574 
    +
    575 
    + +
    585  void *arg);
    +
    586 
    +
    596 typedef size_t (*uct_pack_callback_t)(void *dest, void *arg);
    +
    597 
    +
    598 
    +
    609 typedef void (*uct_unpack_callback_t)(void *arg, const void *data, size_t length);
    +
    610 
    +
    611 
    +
    639 typedef void
    + +
    641  uct_conn_request_h conn_request,
    +
    642  const void *conn_priv_data,
    +
    643  size_t length);
    +
    644 
    +
    645 
    +
    664 typedef void
    + + +
    667  *conn_req_args);
    +
    668 
    +
    669 
    + +
    695  (uct_ep_h ep, void *arg,
    +
    696  const uct_cm_ep_server_conn_notify_args_t *connect_args);
    +
    697 
    +
    698 
    +
    719 typedef void (*uct_cm_ep_client_connect_callback_t)(uct_ep_h ep, void *arg,
    + +
    721  *connect_args);
    +
    722 
    +
    723 
    +
    741 typedef void (*uct_ep_disconnect_cb_t)(uct_ep_h ep, void *arg);
    +
    742 
    +
    743 
    +
    768 typedef ssize_t
    + + +
    771  *pack_args, void *priv_data);
    +
    772 
    +
    773 
    +
    792 typedef ucs_status_t
    +
    793 (*uct_cm_ep_resolve_callback_t)(void *user_data,
    +
    794  const uct_cm_ep_resolve_args_t *resolve_args);
    +
    795 
    +
    796 
    +
    843 typedef ucs_status_t (*uct_tag_unexp_eager_cb_t)(void *arg, void *data,
    +
    844  size_t length, unsigned flags,
    +
    845  uct_tag_t stag, uint64_t imm,
    +
    846  void **context);
    +
    847 
    +
    848 
    +
    880 typedef ucs_status_t (*uct_tag_unexp_rndv_cb_t)(void *arg, unsigned flags,
    +
    881  uint64_t stag, const void *header,
    +
    882  unsigned header_length,
    +
    883  uint64_t remote_addr, size_t length,
    +
    884  const void *rkey_buf);
    +
    885 
    +
    886 
    +
    895 typedef void (*uct_async_event_cb_t)(void *arg, unsigned flags);
    +
    896 
    +
    897 
    +
    898 #endif
    +
    +
    +
    unsigned count
    Definition: uct_def.h:151
    +
    uct_conn_request_h conn_request
    Definition: uct_def.h:370
    +
    struct uct_iface_config uct_iface_config_t
    Definition: uct_def.h:78
    +
    @ UCT_CB_PARAM_FLAG_MORE
    Definition: uct_def.h:69
    +
    @ UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_CONN_REQUEST
    Definition: uct_def.h:329
    +
    Parameters for creating a listener object uct_listener_h by uct_listener_create.
    Definition: uct.h:1376
    +
    uct_cm_ep_server_conn_notify_args_field
    Field mask flags for server-side connection established notification callback.
    Definition: uct_def.h:442
    +
    uint64_t field_mask
    Definition: uct_def.h:228
    +
    void * buffer
    Definition: uct_def.h:146
    +
    struct uct_cm_ep_priv_data_pack_args uct_cm_ep_priv_data_pack_args_t
    Arguments to the client-server private data pack callback.
    +
    @ UCT_CM_EP_CLIENT_CONNECT_ARGS_FIELD_STATUS
    Definition: uct_def.h:397
    +
    char dev_name[UCT_DEVICE_NAME_MAX]
    Definition: uct_def.h:212
    +
    const uct_cm_remote_data_t * remote_data
    Definition: uct_def.h:418
    +
    struct uct_cm uct_cm_t
    Definition: uct_def.h:102
    +
    ssize_t(* uct_cm_ep_priv_data_pack_callback_t)(void *arg, const uct_cm_ep_priv_data_pack_args_t *pack_args, void *priv_data)
    Callback to fill the user's private data in a client-server flow.
    Definition: uct_def.h:769
    +
    ucs_status_t status
    Definition: uct_def.h:429
    +
    Interface attributes: capabilities and limitations.
    Definition: uct.h:926
    +
    UCT listener attributes, capabilities and limitations.
    Definition: uct.h:1356
    +
    void * uct_conn_request_h
    Definition: uct_def.h:110
    +
    struct uct_md_ops uct_md_ops_t
    Definition: uct_def.h:85
    +
    @ UCT_CB_PARAM_FLAG_DESC
    Definition: uct_def.h:67
    +
    Definition: types.h:137
    +
    Posted tag context.
    Definition: uct.h:1604
    +
    struct uct_iface * uct_iface_h
    Definition: uct_def.h:77
    +
    uct_cm_ep_client_connect_args_field
    Field mask flags for client-side connection established callback.
    Definition: uct_def.h:392
    +
    void(* uct_am_tracer_t)(void *arg, uct_am_trace_type_t type, uint8_t id, const void *data, size_t length, char *buffer, size_t max)
    Callback to trace active messages.
    Definition: uct_def.h:522
    +
    @ UCT_AM_TRACE_TYPE_RECV_DROP
    Definition: uct_def.h:39
    +
    uct_cm_remote_data_field
    Remote data attributes field mask.
    Definition: uct_def.h:257
    +
    Arguments to the client-server resolved callback.
    Definition: uct_def.h:222
    +
    void(* uct_cm_listener_conn_request_callback_t)(uct_listener_h listener, void *arg, const uct_cm_listener_conn_request_args_t *conn_req_args)
    Callback to process an incoming connection request on the server side listener in a connection manage...
    Definition: uct_def.h:665
    +
    void(* uct_sockaddr_conn_request_callback_t)(uct_iface_h iface, void *arg, uct_conn_request_h conn_request, const void *conn_priv_data, size_t length)
    Callback to process an incoming connection request on the server side.
    Definition: uct_def.h:640
    +
    size_t(* uct_pack_callback_t)(void *dest, void *arg)
    Callback for producing data.
    Definition: uct_def.h:596
    +
    @ UCT_CM_REMOTE_DATA_FIELD_CONN_PRIV_DATA
    Definition: uct_def.h:265
    +
    Memory domain attributes.
    Definition: uct.h:1412
    +
    uct_cm_ep_resolve_args_field
    Client-Server resolve callback arguments field mask.
    Definition: uct_def.h:179
    +
    struct uct_device_addr uct_device_addr_t
    Definition: uct_def.h:96
    +
    uint64_t field_mask
    Definition: uct_def.h:358
    +
    struct uct_ep * uct_ep_h
    Definition: uct_def.h:81
    +
    uint64_t field_mask
    Definition: uct_def.h:204
    +
    char dev_name[UCT_DEVICE_NAME_MAX]
    Definition: uct_def.h:236
    +
    ucs_status_t status
    Definition: uct_def.h:246
    +
    uct_cm_ep_priv_data_pack_args_field
    Client-Server private data pack callback arguments field mask.
    Definition: uct_def.h:163
    +
    struct uct_iface_addr uct_iface_addr_t
    Definition: uct_def.h:97
    +
    int uct_worker_cb_id_t
    Definition: uct_def.h:109
    +
    uint64_t uct_tag_t
    Definition: uct_def.h:108
    +
    struct uct_md * uct_md_h
    Memory domain handler.
    Definition: uct_def.h:84
    +
    ucs_status_t(* uct_cm_ep_resolve_callback_t)(void *user_data, const uct_cm_ep_resolve_args_t *resolve_args)
    Callback to notify that the client side endpoint is bound to a local device.
    Definition: uct_def.h:793
    +
    void * uct_rkey_ctx_h
    Definition: uct_def.h:86
    +
    ucs_status_t(* uct_am_callback_t)(void *arg, void *data, size_t length, unsigned flags)
    Callback to process incoming active message.
    Definition: uct_def.h:504
    +
    void(* uct_cm_ep_server_conn_notify_callback_t)(uct_ep_h ep, void *arg, const uct_cm_ep_server_conn_notify_args_t *connect_args)
    Callback to process an incoming connection establishment acknowledgment on the server side listener,...
    Definition: uct_def.h:695
    +
    struct uct_component * uct_component_h
    Definition: uct_def.h:76
    +
    @ UCT_AM_TRACE_TYPE_SEND
    Definition: uct_def.h:36
    +
    Parameters for connecting a UCT endpoint by uct_ep_connect.
    Definition: uct.h:1312
    +
    Parameters used for interface creation.
    Definition: uct.h:1062
    +
    uct_mem_h memh
    Definition: uct_def.h:148
    +
    ucs_status_t(* uct_tag_unexp_rndv_cb_t)(void *arg, unsigned flags, uint64_t stag, const void *header, unsigned header_length, uint64_t remote_addr, size_t length, const void *rkey_buf)
    Callback to process unexpected rendezvous tagged message.
    Definition: uct_def.h:880
    +
    @ UCT_AM_TRACE_TYPE_SEND_DROP
    Definition: uct_def.h:38
    +
    struct uct_cm_ep_server_conn_notify_args uct_cm_ep_server_conn_notify_args_t
    Arguments to the server's notify callback.
    +
    size_t stride
    Definition: uct_def.h:149
    +
    @ UCT_CM_EP_SERVER_CONN_NOTIFY_ARGS_FIELD_STATUS
    Definition: uct_def.h:446
    +
    enum uct_am_trace_type uct_am_trace_type_t
    Definition: uct_def.h:95
    +
    @ UCT_CM_REMOTE_DATA_FIELD_DEV_ADDR
    Definition: uct_def.h:259
    +
    void(* uct_pending_purge_callback_t)(uct_pending_req_t *self, void *arg)
    Callback to purge pending requests.
    Definition: uct_def.h:584
    +
    Arguments to the server's notify callback.
    Definition: uct_def.h:456
    +
    ucs_status_t(* uct_error_handler_t)(void *arg, uct_ep_h ep, ucs_status_t status)
    Callback to process peer failure.
    Definition: uct_def.h:572
    +
    const uct_cm_remote_data_t * remote_data
    Definition: uct_def.h:375
    +
    size_t conn_priv_data_length
    Definition: uct_def.h:306
    +
    Pending request.
    Definition: uct.h:1591
    +
    void(* uct_cm_ep_client_connect_callback_t)(uct_ep_h ep, void *arg, const uct_cm_ep_client_connect_args_t *connect_args)
    Callback to process an incoming connection response on the client side from the server or handle a lo...
    Definition: uct_def.h:719
    +
    size_t length
    Definition: uct_def.h:147
    +
    void * uct_mem_h
    Definition: uct_def.h:82
    +
    void(* uct_unpack_callback_t)(void *arg, const void *data, size_t length)
    Callback for consuming data.
    Definition: uct_def.h:609
    +
    ucs_sock_addr_t client_address
    Definition: uct_def.h:380
    +
    uct_cb_param_flags
    Flags for active message and tag-matching offload callbacks (callback's parameters).
    Definition: uct_def.h:66
    +
    uct_am_trace_type
    Trace types for active message tracer.
    Definition: uct_def.h:35
    +
    struct uct_ep_addr uct_ep_addr_t
    Definition: uct_def.h:98
    +
    uint64_t field_mask
    Definition: uct_def.h:413
    +
    void(* uct_async_event_cb_t)(void *arg, unsigned flags)
    Callback to process asynchronous events.
    Definition: uct_def.h:895
    +
    Connection manager attributes, capabilities and limitations.
    Definition: uct.h:1336
    +
    uint64_t field_mask
    Definition: uct_def.h:462
    +
    ucs_status_t status
    Definition: uct_def.h:474
    +
    @ UCT_CM_EP_CLIENT_CONNECT_ARGS_FIELD_REMOTE_DATA
    Definition: uct_def.h:394
    +
    struct uct_listener * uct_listener_h
    Definition: uct_def.h:105
    +
    ucs_status_t
    Status codes.
    Definition: status.h:45
    +
    void(* uct_completion_callback_t)(uct_completion_t *self)
    Callback to process send completion.
    Definition: uct_def.h:534
    +
    @ UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_DEV_NAME
    Definition: uct_def.h:323
    +
    Completion handle.
    Definition: uct.h:1575
    +
    struct uct_cm_remote_data uct_cm_remote_data_t
    Data received from the remote peer.
    +
    struct uct_md_config uct_md_config_t
    Definition: uct_def.h:79
    +
    struct uct_cm_listener_conn_request_args uct_cm_listener_conn_request_args_t
    Arguments to the listener's connection request callback.
    +
    @ UCT_CB_PARAM_FLAG_FIRST
    Definition: uct_def.h:68
    +
    uint64_t field_mask
    Definition: uct_def.h:285
    +
    void(* uct_ep_disconnect_cb_t)(uct_ep_h ep, void *arg)
    Callback to handle the disconnection of the remote peer.
    Definition: uct_def.h:741
    +
    struct uct_md uct_md_t
    Definition: uct_def.h:94
    +
    struct uct_cm_ep_resolve_args uct_cm_ep_resolve_args_t
    Arguments to the client-server resolved callback.
    +
    Structure for scatter-gather I/O.
    Definition: uct_def.h:145
    +
    @ UCT_CM_REMOTE_DATA_FIELD_CONN_PRIV_DATA_LENGTH
    Definition: uct_def.h:268
    +
    @ UCT_CM_REMOTE_DATA_FIELD_DEV_ADDR_LENGTH
    Definition: uct_def.h:262
    +
    const void * conn_priv_data
    Definition: uct_def.h:301
    +
    const uct_device_addr_t * dev_addr
    Definition: uct_def.h:290
    +
    struct uct_cm_ep_client_connect_args uct_cm_ep_client_connect_args_t
    Arguments to the client's connect callback.
    +
    struct uct_iov uct_iov_t
    Structure for scatter-gather I/O.
    +
    @ UCT_CM_EP_RESOLVE_ARGS_FIELD_DEV_NAME
    Definition: uct_def.h:183
    +
    uct_cm_t * uct_cm_h
    Definition: uct_def.h:103
    +
    @ UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_REMOTE_DATA
    Definition: uct_def.h:335
    +
    Parameters for creating a UCT endpoint by uct_ep_create.
    Definition: uct.h:1173
    +
    Arguments to the listener's connection request callback.
    Definition: uct_def.h:352
    +
    char dev_name[UCT_DEVICE_NAME_MAX]
    Definition: uct_def.h:363
    +
    @ UCT_AM_TRACE_TYPE_RECV
    Definition: uct_def.h:37
    +
    @ UCT_AM_TRACE_TYPE_LAST
    Definition: uct_def.h:40
    +
    @ UCT_CM_LISTENER_CONN_REQUEST_ARGS_FIELD_CLIENT_ADDR
    Definition: uct_def.h:341
    +
    struct uct_worker * uct_worker_h
    Definition: uct_def.h:93
    +
    @ UCT_CM_EP_RESOLVE_ARGS_FIELD_STATUS
    Definition: uct_def.h:188
    +
    ucs_status_t(* uct_pending_callback_t)(uct_pending_req_t *self)
    Callback to process pending requests.
    Definition: uct_def.h:551
    +
    struct uct_cm_config uct_cm_config_t
    Definition: uct_def.h:80
    +
    Arguments to the client-server private data pack callback.
    Definition: uct_def.h:198
    +
    ucs_status_t(* uct_tag_unexp_eager_cb_t)(void *arg, void *data, size_t length, unsigned flags, uct_tag_t stag, uint64_t imm, void **context)
    Callback to process unexpected eager tagged message.
    Definition: uct_def.h:843
    +
    struct uct_ep_attr uct_ep_attr_t
    Definition: uct_def.h:89
    +
    @ UCT_CM_EP_PRIV_DATA_PACK_ARGS_FIELD_DEVICE_NAME
    Definition: uct_def.h:168
    +
    Arguments to the client's connect callback.
    Definition: uct_def.h:407
    +
    uct_cm_listener_conn_request_args_field
    Listener's connection request callback arguments field mask.
    Definition: uct_def.h:318
    +
    size_t dev_addr_length
    Definition: uct_def.h:295
    +
    uintptr_t uct_rkey_t
    Definition: uct_def.h:83
    +
    Data received from the remote peer.
    Definition: uct_def.h:279
    + + + + diff --git a/api/v1.13/html/uct_hello_world_8c-example.html b/api/v1.13/html/uct_hello_world_8c-example.html new file mode 100644 index 00000000000..4010f3165d1 --- /dev/null +++ b/api/v1.13/html/uct_hello_world_8c-example.html @@ -0,0 +1,975 @@ + + + + + + + +UCX: uct_hello_world.c + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    UCX +  1.13 +
    +
    Unified Communication X
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    uct_hello_world.c
    +
    +
    +

    UCT hello world client / server example utility.

    +
    +
    #include "hello_world_util.h"
    +
    #include <limits.h>
    +
    +
    #include <uct/api/uct.h>
    +
    +
    #include <assert.h>
    +
    #include <inttypes.h>
    +
    +
    +
    typedef enum {
    +
    FUNC_AM_SHORT,
    +
    FUNC_AM_BCOPY,
    +
    FUNC_AM_ZCOPY
    +
    } func_am_t;
    +
    +
    typedef struct {
    +
    int is_uct_desc;
    +
    } recv_desc_t;
    +
    +
    typedef struct {
    +
    char *server_name;
    +
    uint16_t server_port;
    +
    sa_family_t ai_family;
    +
    func_am_t func_am_type;
    +
    const char *dev_name;
    +
    const char *tl_name;
    +
    long test_strlen;
    +
    } cmd_args_t;
    +
    +
    typedef struct {
    +
    uct_iface_attr_t iface_attr; /* Interface attributes: capabilities and limitations */
    +
    uct_iface_h iface; /* Communication interface context */
    +
    uct_md_attr_t md_attr; /* Memory domain attributes: capabilities and limitations */
    +
    uct_md_h md; /* Memory domain */
    +
    uct_worker_h worker; /* Workers represent allocated resources in a communication thread */
    +
    } iface_info_t;
    +
    +
    /* Helper data type for am_short */
    +
    typedef struct {
    +
    uint64_t header;
    +
    char *payload;
    +
    size_t len;
    +
    } am_short_args_t;
    +
    +
    /* Helper data type for am_bcopy */
    +
    typedef struct {
    +
    char *data;
    +
    size_t len;
    +
    } am_bcopy_args_t;
    +
    +
    /* Helper data type for am_zcopy */
    +
    typedef struct {
    +
    uct_completion_t uct_comp;
    + +
    uct_mem_h memh;
    +
    } zcopy_comp_t;
    +
    +
    static void* desc_holder = NULL;
    +
    +
    int print_err_usage(void);
    +
    +
    static char *func_am_t_str(func_am_t func_am_type)
    +
    {
    +
    switch (func_am_type) {
    +
    case FUNC_AM_SHORT:
    +
    return "uct_ep_am_short";
    +
    case FUNC_AM_BCOPY:
    +
    return "uct_ep_am_bcopy";
    +
    case FUNC_AM_ZCOPY:
    +
    return "uct_ep_am_zcopy";
    +
    }
    +
    return NULL;
    +
    }
    +
    +
    static size_t func_am_max_size(func_am_t func_am_type,
    +
    const uct_iface_attr_t *attr)
    +
    {
    +
    switch (func_am_type) {
    +
    case FUNC_AM_SHORT:
    +
    return attr->cap.am.max_short;
    +
    case FUNC_AM_BCOPY:
    +
    return attr->cap.am.max_bcopy;
    +
    case FUNC_AM_ZCOPY:
    +
    return attr->cap.am.max_zcopy;
    +
    }
    +
    return 0;
    +
    }
    +
    +
    /* Helper function for am_short */
    +
    void am_short_params_pack(char *buf, size_t len, am_short_args_t *args)
    +
    {
    +
    args->header = *(uint64_t *)buf;
    +
    if (len > sizeof(args->header)) {
    +
    args->payload = (buf + sizeof(args->header));
    +
    args->len = len - sizeof(args->header);
    +
    } else {
    +
    args->payload = NULL;
    +
    args->len = 0;
    +
    }
    +
    }
    +
    +
    ucs_status_t do_am_short(iface_info_t *if_info, uct_ep_h ep, uint8_t id,
    +
    const cmd_args_t *cmd_args, char *buf)
    +
    {
    +
    ucs_status_t status;
    +
    am_short_args_t send_args;
    +
    +
    am_short_params_pack(buf, cmd_args->test_strlen, &send_args);
    +
    +
    do {
    +
    /* Send active message to remote endpoint */
    +
    status = uct_ep_am_short(ep, id, send_args.header, send_args.payload,
    +
    send_args.len);
    +
    uct_worker_progress(if_info->worker);
    +
    } while (status == UCS_ERR_NO_RESOURCE);
    +
    +
    return status;
    +
    }
    +
    +
    /* Pack callback for am_bcopy */
    +
    size_t am_bcopy_data_pack_cb(void *dest, void *arg)
    +
    {
    +
    am_bcopy_args_t *bc_args = arg;
    +
    mem_type_memcpy(dest, bc_args->data, bc_args->len);
    +
    return bc_args->len;
    +
    }
    +
    +
    ucs_status_t do_am_bcopy(iface_info_t *if_info, uct_ep_h ep, uint8_t id,
    +
    const cmd_args_t *cmd_args, char *buf)
    +
    {
    +
    am_bcopy_args_t args;
    +
    ssize_t len;
    +
    +
    args.data = buf;
    +
    args.len = cmd_args->test_strlen;
    +
    +
    /* Send active message to remote endpoint */
    +
    do {
    +
    len = uct_ep_am_bcopy(ep, id, am_bcopy_data_pack_cb, &args, 0);
    +
    uct_worker_progress(if_info->worker);
    +
    } while (len == UCS_ERR_NO_RESOURCE);
    +
    /* Negative len is an error code */
    +
    return (len >= 0) ? UCS_OK : (ucs_status_t)len;
    +
    }
    +
    +
    /* Completion callback for am_zcopy */
    +
    void zcopy_completion_cb(uct_completion_t *self)
    +
    {
    +
    zcopy_comp_t *comp = (zcopy_comp_t *)self;
    +
    assert((comp->uct_comp.count == 0) && (self->status == UCS_OK));
    +
    if (comp->memh != UCT_MEM_HANDLE_NULL) {
    +
    uct_md_mem_dereg(comp->md, comp->memh);
    +
    }
    +
    desc_holder = (void *)0xDEADBEEF;
    +
    }
    +
    +
    ucs_status_t do_am_zcopy(iface_info_t *if_info, uct_ep_h ep, uint8_t id,
    +
    const cmd_args_t *cmd_args, char *buf)
    +
    {
    +
    ucs_status_t status = UCS_OK;
    +
    uct_mem_h memh;
    +
    uct_iov_t iov;
    +
    zcopy_comp_t comp;
    +
    +
    if (if_info->md_attr.cap.flags & UCT_MD_FLAG_NEED_MEMH) {
    +
    status = uct_md_mem_reg(if_info->md, buf, cmd_args->test_strlen,
    + +
    } else {
    +
    memh = UCT_MEM_HANDLE_NULL;
    +
    }
    +
    +
    iov.buffer = buf;
    +
    iov.length = cmd_args->test_strlen;
    +
    iov.memh = memh;
    +
    iov.stride = 0;
    +
    iov.count = 1;
    +
    +
    comp.uct_comp.func = zcopy_completion_cb;
    +
    comp.uct_comp.count = 1;
    +
    comp.uct_comp.status = UCS_OK;
    +
    comp.md = if_info->md;
    +
    comp.memh = memh;
    +
    +
    if (status == UCS_OK) {
    +
    do {
    +
    status = uct_ep_am_zcopy(ep, id, NULL, 0, &iov, 1, 0,
    +
    (uct_completion_t *)&comp);
    +
    uct_worker_progress(if_info->worker);
    +
    } while (status == UCS_ERR_NO_RESOURCE);
    +
    +
    if (status == UCS_INPROGRESS) {
    +
    while (!desc_holder) {
    +
    /* Explicitly progress outstanding active message request */
    +
    uct_worker_progress(if_info->worker);
    +
    }
    +
    status = UCS_OK;
    +
    }
    +
    }
    +
    return status;
    +
    }
    +
    static void print_strings(const char *label, const char *local_str,
    +
    const char *remote_str, size_t length)
    +
    {
    +
    fprintf(stdout, "\n\n----- UCT TEST SUCCESS ----\n\n");
    +
    fprintf(stdout, "[%s] %s sent %s (%" PRIu64 " bytes)", label, local_str,
    +
    (length != 0) ? remote_str : "<none>", length);
    +
    fprintf(stdout, "\n\n---------------------------\n");
    +
    fflush(stdout);
    +
    }
    +
    +
    /* Callback to handle receive active message */
    +
    static ucs_status_t hello_world(void *arg, void *data, size_t length,
    +
    unsigned flags)
    +
    {
    +
    func_am_t func_am_type = *(func_am_t *)arg;
    +
    recv_desc_t *rdesc;
    +
    +
    print_strings("callback", func_am_t_str(func_am_type), data, length);
    +
    +
    if (flags & UCT_CB_PARAM_FLAG_DESC) {
    +
    rdesc = (recv_desc_t *)data - 1;
    +
    /* Hold descriptor to release later and return UCS_INPROGRESS */
    +
    rdesc->is_uct_desc = 1;
    +
    desc_holder = rdesc;
    + +
    }
    +
    +
    /* We need to copy-out data and return UCS_OK if want to use the data
    +
    * outside the callback */
    +
    rdesc = malloc(sizeof(*rdesc) + length);
    +
    CHKERR_ACTION(rdesc == NULL, "allocate memory\n", return UCS_ERR_NO_MEMORY);
    +
    rdesc->is_uct_desc = 0;
    +
    memcpy(rdesc + 1, data, length);
    +
    desc_holder = rdesc;
    +
    return UCS_OK;
    +
    }
    +
    +
    /* Init the transport by its name */
    +
    static ucs_status_t init_iface(char *dev_name, char *tl_name,
    +
    func_am_t func_am_type,
    +
    iface_info_t *iface_p)
    +
    {
    +
    ucs_status_t status;
    +
    uct_iface_config_t *config; /* Defines interface configuration options */
    + +
    + + + + + + +
    params.mode.device.tl_name = tl_name;
    +
    params.mode.device.dev_name = dev_name;
    +
    params.stats_root = NULL;
    +
    params.rx_headroom = sizeof(recv_desc_t);
    +
    +
    UCS_CPU_ZERO(&params.cpu_mask);
    +
    /* Read transport-specific interface configuration */
    +
    status = uct_md_iface_config_read(iface_p->md, tl_name, NULL, NULL, &config);
    +
    CHKERR_JUMP(UCS_OK != status, "setup iface_config", error_ret);
    +
    +
    /* Open communication interface */
    +
    assert(iface_p->iface == NULL);
    +
    status = uct_iface_open(iface_p->md, iface_p->worker, &params, config,
    +
    &iface_p->iface);
    + +
    CHKERR_JUMP(UCS_OK != status, "open temporary interface", error_ret);
    +
    +
    /* Enable progress on the interface */
    +
    uct_iface_progress_enable(iface_p->iface,
    + +
    +
    /* Get interface attributes */
    +
    status = uct_iface_query(iface_p->iface, &iface_p->iface_attr);
    +
    CHKERR_JUMP(UCS_OK != status, "query iface", error_iface);
    +
    +
    /* Check if current device and transport support required active messages */
    +
    if ((func_am_type == FUNC_AM_SHORT) &&
    +
    (iface_p->iface_attr.cap.flags & UCT_IFACE_FLAG_AM_SHORT)) {
    +
    if (test_mem_type != UCS_MEMORY_TYPE_CUDA) {
    +
    return UCS_OK;
    +
    } else {
    +
    fprintf(stderr, "AM short protocol doesn't support CUDA memory");
    +
    }
    +
    }
    +
    +
    if ((func_am_type == FUNC_AM_BCOPY) &&
    +
    (iface_p->iface_attr.cap.flags & UCT_IFACE_FLAG_AM_BCOPY)) {
    +
    return UCS_OK;
    +
    }
    +
    +
    if ((func_am_type == FUNC_AM_ZCOPY) &&
    +
    (iface_p->iface_attr.cap.flags & UCT_IFACE_FLAG_AM_ZCOPY)) {
    +
    return UCS_OK;
    +
    }
    +
    +
    error_iface:
    +
    uct_iface_close(iface_p->iface);
    +
    iface_p->iface = NULL;
    +
    error_ret:
    + +
    }
    +
    +
    /* Device and transport to be used are determined by minimum latency */
    +
    static ucs_status_t dev_tl_lookup(const cmd_args_t *cmd_args,
    +
    iface_info_t *iface_p)
    +
    {
    +
    uct_tl_resource_desc_t *tl_resources = NULL; /* Communication resource descriptor */
    +
    unsigned num_tl_resources = 0; /* Number of transport resources resource objects created */
    +
    uct_component_h *components;
    +
    unsigned num_components;
    +
    unsigned cmpt_index;
    +
    uct_component_attr_t component_attr;
    +
    unsigned md_index;
    +
    unsigned tl_index;
    +
    uct_md_config_t *md_config;
    +
    ucs_status_t status;
    +
    +
    status = uct_query_components(&components, &num_components);
    +
    CHKERR_JUMP(UCS_OK != status, "query for components", error_ret);
    +
    +
    for (cmpt_index = 0; cmpt_index < num_components; ++cmpt_index) {
    +
    + +
    status = uct_component_query(components[cmpt_index], &component_attr);
    +
    CHKERR_JUMP(UCS_OK != status, "query component attributes",
    +
    release_component_list);
    +
    + +
    component_attr.md_resources = alloca(sizeof(*component_attr.md_resources) *
    +
    component_attr.md_resource_count);
    +
    status = uct_component_query(components[cmpt_index], &component_attr);
    +
    CHKERR_JUMP(UCS_OK != status, "query for memory domain resources",
    +
    release_component_list);
    +
    +
    iface_p->iface = NULL;
    +
    +
    /* Iterate through memory domain resources */
    +
    for (md_index = 0; md_index < component_attr.md_resource_count; ++md_index) {
    +
    status = uct_md_config_read(components[cmpt_index], NULL, NULL,
    +
    &md_config);
    +
    CHKERR_JUMP(UCS_OK != status, "read MD config",
    +
    release_component_list);
    +
    +
    status = uct_md_open(components[cmpt_index],
    +
    component_attr.md_resources[md_index].md_name,
    +
    md_config, &iface_p->md);
    +
    uct_config_release(md_config);
    +
    CHKERR_JUMP(UCS_OK != status, "open memory domains",
    +
    release_component_list);
    +
    +
    status = uct_md_query(iface_p->md, &iface_p->md_attr);
    +
    CHKERR_JUMP(UCS_OK != status, "query iface",
    +
    close_md);
    +
    +
    status = uct_md_query_tl_resources(iface_p->md, &tl_resources,
    +
    &num_tl_resources);
    +
    CHKERR_JUMP(UCS_OK != status, "query transport resources", close_md);
    +
    +
    /* Go through each available transport and find the proper name */
    +
    for (tl_index = 0; tl_index < num_tl_resources; ++tl_index) {
    +
    if (!strcmp(cmd_args->dev_name, tl_resources[tl_index].dev_name) &&
    +
    !strcmp(cmd_args->tl_name, tl_resources[tl_index].tl_name)) {
    +
    if ((cmd_args->func_am_type == FUNC_AM_ZCOPY) &&
    +
    !(iface_p->md_attr.cap.reg_mem_types &
    +
    UCS_BIT(test_mem_type))) {
    +
    fprintf(stderr, "Unsupported memory type %s by "
    +
    UCT_TL_RESOURCE_DESC_FMT" on %s MD\n",
    +
    ucs_memory_type_names[test_mem_type],
    +
    UCT_TL_RESOURCE_DESC_ARG(&tl_resources[tl_index]),
    +
    component_attr.md_resources[md_index].md_name);
    + +
    break;
    +
    }
    +
    +
    status = init_iface(tl_resources[tl_index].dev_name,
    +
    tl_resources[tl_index].tl_name,
    +
    cmd_args->func_am_type, iface_p);
    +
    if (status != UCS_OK) {
    +
    break;
    +
    }
    +
    +
    fprintf(stdout, "Using "UCT_TL_RESOURCE_DESC_FMT"\n",
    +
    UCT_TL_RESOURCE_DESC_ARG(&tl_resources[tl_index]));
    +
    goto release_tl_resources;
    +
    }
    +
    }
    +
    +
    release_tl_resources:
    + +
    if ((status == UCS_OK) &&
    +
    (tl_index < num_tl_resources)) {
    +
    goto release_component_list;
    +
    }
    +
    +
    tl_resources = NULL;
    +
    num_tl_resources = 0;
    +
    uct_md_close(iface_p->md);
    +
    }
    +
    }
    +
    +
    fprintf(stderr, "No supported (dev/tl) found (%s/%s)\n",
    +
    cmd_args->dev_name, cmd_args->tl_name);
    + +
    +
    release_component_list:
    + +
    error_ret:
    +
    return status;
    +
    close_md:
    +
    uct_md_close(iface_p->md);
    +
    goto release_component_list;
    +
    }
    +
    +
    int print_err_usage()
    +
    {
    +
    const char func_template[] = " -%c Select \"%s\" function to send the message%s\n";
    +
    +
    fprintf(stderr, "Usage: uct_hello_world [parameters]\n");
    +
    fprintf(stderr, "UCT hello world client/server example utility\n");
    +
    fprintf(stderr, "\nParameters are:\n");
    +
    fprintf(stderr, func_template, 'i', func_am_t_str(FUNC_AM_SHORT), " (default)");
    +
    fprintf(stderr, func_template, 'b', func_am_t_str(FUNC_AM_BCOPY), "");
    +
    fprintf(stderr, func_template, 'z', func_am_t_str(FUNC_AM_ZCOPY), "");
    +
    fprintf(stderr, " -d Select device name\n");
    +
    fprintf(stderr, " -t Select transport layer\n");
    +
    fprintf(stderr, " -n <name> Set node name or IP address "
    +
    "of the server (required for client and should be ignored "
    +
    "for server)\n");
    +
    print_common_help();
    +
    fprintf(stderr, "\nExample:\n");
    +
    fprintf(stderr, " Server: uct_hello_world -d eth0 -t tcp\n");
    +
    fprintf(stderr, " Client: uct_hello_world -d eth0 -t tcp -n localhost\n");
    +
    + +
    }
    +
    +
    int parse_cmd(int argc, char * const argv[], cmd_args_t *args)
    +
    {
    +
    int c = 0, idx = 0;
    +
    +
    assert(args);
    +
    memset(args, 0, sizeof(*args));
    +
    +
    /* Defaults */
    +
    args->server_port = 13337;
    +
    args->ai_family = AF_INET;
    +
    args->func_am_type = FUNC_AM_SHORT;
    +
    args->test_strlen = 16;
    +
    +
    while ((c = getopt(argc, argv, "6ibzd:t:n:p:s:m:h")) != -1) {
    +
    switch (c) {
    +
    case 'i':
    +
    args->func_am_type = FUNC_AM_SHORT;
    +
    break;
    +
    case 'b':
    +
    args->func_am_type = FUNC_AM_BCOPY;
    +
    break;
    +
    case 'z':
    +
    args->func_am_type = FUNC_AM_ZCOPY;
    +
    break;
    +
    case 'd':
    +
    args->dev_name = optarg;
    +
    break;
    +
    case 't':
    +
    args->tl_name = optarg;
    +
    break;
    +
    case 'n':
    +
    args->server_name = optarg;
    +
    break;
    +
    case '6':
    +
    args->ai_family = AF_INET6;
    +
    break;
    +
    case 'p':
    +
    args->server_port = atoi(optarg);
    +
    if (args->server_port <= 0) {
    +
    fprintf(stderr, "Wrong server port number %d\n",
    +
    args->server_port);
    + +
    }
    +
    break;
    +
    case 's':
    +
    args->test_strlen = atol(optarg);
    +
    if (args->test_strlen < 0) {
    +
    fprintf(stderr, "Wrong string size %ld\n", args->test_strlen);
    + +
    }
    +
    break;
    +
    case 'm':
    +
    test_mem_type = parse_mem_type(optarg);
    +
    if (test_mem_type == UCS_MEMORY_TYPE_LAST) {
    + +
    }
    +
    break;
    +
    case 'h':
    +
    default:
    +
    return print_err_usage();
    +
    }
    +
    }
    +
    fprintf(stderr, "INFO: UCT_HELLO_WORLD AM function = %s server = %s port = %d\n",
    +
    func_am_t_str(args->func_am_type), args->server_name,
    +
    args->server_port);
    +
    +
    for (idx = optind; idx < argc; idx++) {
    +
    fprintf(stderr, "WARNING: Non-option argument %s\n", argv[idx]);
    +
    }
    +
    +
    if (args->dev_name == NULL) {
    +
    fprintf(stderr, "WARNING: device is not set\n");
    +
    return print_err_usage();
    +
    }
    +
    +
    if (args->tl_name == NULL) {
    +
    fprintf(stderr, "WARNING: transport layer is not set\n");
    +
    return print_err_usage();
    +
    }
    +
    +
    return UCS_OK;
    +
    }
    +
    +
    /* The caller is responsible to free *rbuf */
    +
    int sendrecv(int sock, const void *sbuf, size_t slen, void **rbuf)
    +
    {
    +
    int ret = 0;
    +
    size_t rlen = 0;
    +
    *rbuf = NULL;
    +
    +
    ret = send(sock, &slen, sizeof(slen), 0);
    +
    if ((ret < 0) || (ret != sizeof(slen))) {
    +
    fprintf(stderr, "failed to send buffer length\n");
    +
    return -1;
    +
    }
    +
    +
    ret = send(sock, sbuf, slen, 0);
    +
    if (ret != (int)slen) {
    +
    fprintf(stderr, "failed to send buffer, return value %d\n", ret);
    +
    return -1;
    +
    }
    +
    +
    ret = recv(sock, &rlen, sizeof(rlen), MSG_WAITALL);
    +
    if ((ret != sizeof(rlen)) || (rlen > (SIZE_MAX / 2))) {
    +
    fprintf(stderr,
    +
    "failed to receive device address length, return value %d\n",
    +
    ret);
    +
    return -1;
    +
    }
    +
    +
    *rbuf = calloc(1, rlen);
    +
    if (!*rbuf) {
    +
    fprintf(stderr, "failed to allocate receive buffer\n");
    +
    return -1;
    +
    }
    +
    +
    ret = recv(sock, *rbuf, rlen, MSG_WAITALL);
    +
    if (ret != (int)rlen) {
    +
    fprintf(stderr, "failed to receive device address, return value %d\n",
    +
    ret);
    +
    return -1;
    +
    }
    +
    +
    return 0;
    +
    }
    +
    +
    static void progress_worker(void *arg)
    +
    {
    + +
    }
    +
    +
    int main(int argc, char **argv)
    +
    {
    +
    uct_device_addr_t *peer_dev = NULL;
    +
    uct_iface_addr_t *peer_iface = NULL;
    +
    uct_ep_addr_t *own_ep = NULL;
    +
    uct_ep_addr_t *peer_ep = NULL;
    +
    uint8_t id = 0;
    +
    int oob_sock = -1; /* OOB connection socket */
    +
    ucs_status_t status = UCS_OK; /* status codes for UCS */
    + +
    uct_iface_addr_t *own_iface;
    +
    uct_ep_h ep; /* Remote endpoint */
    +
    ucs_async_context_t *async; /* Async event context manages
    +
    times and fd notifications */
    +
    cmd_args_t cmd_args;
    +
    iface_info_t if_info;
    +
    uct_ep_params_t ep_params;
    +
    int res;
    +
    +
    /* Parse the command line */
    +
    if (parse_cmd(argc, argv, &cmd_args)) {
    + +
    goto out;
    +
    }
    +
    +
    /* Initialize context
    +
    * It is better to use different contexts for different workers */
    +
    status = ucs_async_context_create(UCS_ASYNC_MODE_THREAD_SPINLOCK, &async);
    +
    CHKERR_JUMP(UCS_OK != status, "init async context", out);
    +
    +
    /* Create a worker object */
    +
    status = uct_worker_create(async, UCS_THREAD_MODE_SINGLE, &if_info.worker);
    +
    CHKERR_JUMP(UCS_OK != status, "create worker", out_cleanup_async);
    +
    +
    /* Search for the desired transport */
    +
    status = dev_tl_lookup(&cmd_args, &if_info);
    +
    CHKERR_JUMP(UCS_OK != status, "find supported device and transport",
    +
    out_destroy_worker);
    +
    +
    /* Set active message handler */
    +
    status = uct_iface_set_am_handler(if_info.iface, id, hello_world,
    +
    &cmd_args.func_am_type, 0);
    +
    CHKERR_JUMP(UCS_OK != status, "set callback", out_destroy_iface);
    +
    +
    own_dev = (uct_device_addr_t*)calloc(1, if_info.iface_attr.device_addr_len);
    +
    CHKERR_JUMP(NULL == own_dev, "allocate memory for dev addr",
    +
    out_destroy_iface);
    +
    +
    own_iface = (uct_iface_addr_t*)calloc(1, if_info.iface_attr.iface_addr_len);
    +
    CHKERR_JUMP(NULL == own_iface, "allocate memory for if addr",
    +
    out_free_dev_addrs);
    +
    +
    oob_sock = connect_common(cmd_args.server_name, cmd_args.server_port,
    +
    cmd_args.ai_family);
    +
    +
    CHKERR_ACTION(oob_sock < 0, "OOB connect",
    +
    status = UCS_ERR_IO_ERROR; goto out_close_oob_sock);
    +
    +
    /* Get device address */
    +
    if (if_info.iface_attr.device_addr_len > 0) {
    +
    status = uct_iface_get_device_address(if_info.iface, own_dev);
    +
    CHKERR_JUMP(UCS_OK != status, "get device address", out_free_if_addrs);
    +
    +
    res = sendrecv(oob_sock, own_dev, if_info.iface_attr.device_addr_len,
    +
    (void**)&peer_dev);
    +
    CHKERR_ACTION(0 != res, "device exchange", status = UCS_ERR_NO_MESSAGE;
    +
    goto out_close_oob_sock);
    +
    }
    +
    +
    /* Get interface address */
    +
    if (if_info.iface_attr.iface_addr_len > 0) {
    +
    status = uct_iface_get_address(if_info.iface, own_iface);
    +
    CHKERR_JUMP(UCS_OK != status, "get interface address",
    +
    out_close_oob_sock);
    +
    +
    status = (ucs_status_t)sendrecv(oob_sock, own_iface, if_info.iface_attr.iface_addr_len,
    +
    (void **)&peer_iface);
    +
    CHKERR_JUMP(0 != status, "ifaces exchange", out_close_oob_sock);
    +
    }
    +
    +
    status = (ucs_status_t)uct_iface_is_reachable(if_info.iface, peer_dev,
    +
    peer_iface);
    +
    CHKERR_JUMP(0 == status, "reach the peer", out_close_oob_sock);
    +
    + +
    ep_params.iface = if_info.iface;
    +
    if (if_info.iface_attr.cap.flags & UCT_IFACE_FLAG_CONNECT_TO_EP) {
    +
    own_ep = (uct_ep_addr_t*)calloc(1, if_info.iface_attr.ep_addr_len);
    +
    CHKERR_ACTION(NULL == own_ep, "allocate memory for ep addrs",
    +
    status = UCS_ERR_NO_MEMORY; goto out_close_oob_sock);
    +
    +
    /* Create new endpoint */
    +
    status = uct_ep_create(&ep_params, &ep);
    +
    CHKERR_JUMP(UCS_OK != status, "create endpoint", out_free_ep_addrs);
    +
    +
    /* Get endpoint address */
    +
    status = uct_ep_get_address(ep, own_ep);
    +
    CHKERR_JUMP(UCS_OK != status, "get endpoint address", out_free_ep);
    +
    +
    status = (ucs_status_t)sendrecv(oob_sock, own_ep, if_info.iface_attr.ep_addr_len,
    +
    (void **)&peer_ep);
    +
    CHKERR_JUMP(0 != status, "EPs exchange", out_free_ep);
    +
    +
    /* Connect endpoint to a remote endpoint */
    +
    status = uct_ep_connect_to_ep(ep, peer_dev, peer_ep);
    +
    if (barrier(oob_sock, progress_worker, if_info.worker)) {
    +
    status = UCS_ERR_IO_ERROR;
    +
    goto out_free_ep;
    +
    }
    +
    } else if (if_info.iface_attr.cap.flags & UCT_IFACE_FLAG_CONNECT_TO_IFACE) {
    +
    /* Create an endpoint which is connected to a remote interface */
    + + +
    ep_params.dev_addr = peer_dev;
    +
    ep_params.iface_addr = peer_iface;
    +
    status = uct_ep_create(&ep_params, &ep);
    +
    CHKERR_JUMP(UCS_OK != status, "create endpoint", out_free_ep_addrs);
    +
    } else {
    + +
    goto out_free_ep_addrs;
    +
    }
    +
    +
    if (cmd_args.test_strlen > func_am_max_size(cmd_args.func_am_type, &if_info.iface_attr)) {
    + +
    fprintf(stderr, "Test string is too long: %ld, max supported: %lu\n",
    +
    cmd_args.test_strlen,
    +
    func_am_max_size(cmd_args.func_am_type, &if_info.iface_attr));
    +
    goto out_free_ep;
    +
    }
    +
    +
    if (cmd_args.server_name) {
    +
    char *str = (char *)mem_type_malloc(cmd_args.test_strlen);
    +
    CHKERR_ACTION(str == NULL, "allocate memory",
    +
    status = UCS_ERR_NO_MEMORY; goto out_free_ep);
    +
    res = generate_test_string(str, cmd_args.test_strlen);
    +
    CHKERR_ACTION(res < 0, "generate test string",
    +
    status = UCS_ERR_NO_MEMORY; goto out_free_ep);
    +
    +
    /* Send active message to remote endpoint */
    +
    if (cmd_args.func_am_type == FUNC_AM_SHORT) {
    +
    status = do_am_short(&if_info, ep, id, &cmd_args, str);
    +
    } else if (cmd_args.func_am_type == FUNC_AM_BCOPY) {
    +
    status = do_am_bcopy(&if_info, ep, id, &cmd_args, str);
    +
    } else if (cmd_args.func_am_type == FUNC_AM_ZCOPY) {
    +
    status = do_am_zcopy(&if_info, ep, id, &cmd_args, str);
    +
    }
    +
    +
    mem_type_free(str);
    +
    CHKERR_JUMP(UCS_OK != status, "send active msg", out_free_ep);
    +
    } else {
    +
    recv_desc_t *rdesc;
    +
    +
    while (desc_holder == NULL) {
    +
    /* Explicitly progress any outstanding active message requests */
    +
    uct_worker_progress(if_info.worker);
    +
    }
    +
    +
    rdesc = desc_holder;
    +
    print_strings("main", func_am_t_str(cmd_args.func_am_type),
    +
    (char *)(rdesc + 1), cmd_args.test_strlen);
    +
    +
    if (rdesc->is_uct_desc) {
    +
    /* Release descriptor because callback returns UCS_INPROGRESS */
    + +
    } else {
    +
    free(rdesc);
    +
    }
    +
    }
    +
    +
    if (barrier(oob_sock, progress_worker, if_info.worker)) {
    +
    status = UCS_ERR_IO_ERROR;
    +
    }
    +
    +
    out_free_ep:
    + +
    out_free_ep_addrs:
    +
    free(own_ep);
    +
    free(peer_ep);
    +
    out_close_oob_sock:
    +
    close(oob_sock);
    +
    out_free_if_addrs:
    +
    free(own_iface);
    +
    free(peer_iface);
    +
    out_free_dev_addrs:
    +
    free(own_dev);
    +
    free(peer_dev);
    +
    out_destroy_iface:
    +
    uct_iface_close(if_info.iface);
    +
    uct_md_close(if_info.md);
    +
    out_destroy_worker:
    +
    uct_worker_destroy(if_info.worker);
    +
    out_cleanup_async:
    + +
    out:
    +
    return (status == UCS_ERR_UNSUPPORTED) ? UCS_OK : status;
    +
    }
    +
    +
    +
    unsigned count
    Definition: uct_def.h:151
    +
    unsigned uct_worker_progress(uct_worker_h worker)
    Explicit progress for UCT worker.
    Definition: uct.h:2636
    +
    @ UCT_EP_PARAM_FIELD_IFACE_ADDR
    Definition: uct.h:828
    +
    @ UCT_IFACE_PARAM_FIELD_DEVICE
    Definition: uct.h:619
    +
    ucs_status_t uct_ep_create(const uct_ep_params_t *params, uct_ep_h *ep_p)
    Create new endpoint.
    +
    #define UCT_IFACE_FLAG_CONNECT_TO_EP
    Definition: uct.h:400
    +
    struct uct_iface_config uct_iface_config_t
    Definition: uct_def.h:78
    +
    @ UCT_IFACE_PARAM_FIELD_STATS_ROOT
    Definition: uct.h:626
    +
    ucs_status_t uct_ep_am_short(uct_ep_h ep, uint8_t id, uint64_t header, const void *payload, unsigned length)
    Definition: uct.h:2838
    +
    @ UCT_MD_FLAG_NEED_MEMH
    Definition: uct.h:692
    +
    ucs_status_t uct_worker_create(ucs_async_context_t *async, ucs_thread_mode_t thread_mode, uct_worker_h *worker_p)
    Create a worker object.
    +
    UCT component attributes.
    Definition: uct.h:245
    +
    void * buffer
    Definition: uct_def.h:146
    +
    @ UCS_ERR_NO_MESSAGE
    Definition: status.h:53
    +
    const uct_device_addr_t * dev_addr
    Definition: uct.h:1197
    +
    ucs_status_t uct_ep_connect_to_ep(uct_ep_h ep, const uct_device_addr_t *dev_addr, const uct_ep_addr_t *ep_addr)
    Connect endpoint to a remote endpoint.
    +
    Interface attributes: capabilities and limitations.
    Definition: uct.h:926
    +
    @ UCT_CB_PARAM_FLAG_DESC
    Definition: uct_def.h:67
    +
    void uct_md_close(uct_md_h md)
    Close a memory domain.
    +
    struct uct_iface * uct_iface_h
    Definition: uct_def.h:77
    +
    @ UCT_EP_PARAM_FIELD_IFACE
    Definition: uct.h:819
    +
    #define UCT_IFACE_FLAG_AM_SHORT
    Definition: uct.h:364
    +
    @ UCS_ERR_NO_RESOURCE
    Definition: status.h:54
    +
    ucs_status_t uct_iface_get_device_address(uct_iface_h iface, uct_device_addr_t *addr)
    Get address of the device the interface is using.
    +
    ucs_status_t uct_md_mem_reg(uct_md_h md, void *address, size_t length, unsigned flags, uct_mem_h *memh_p)
    Register memory for zero-copy sends and remote access.
    +
    @ UCS_MEMORY_TYPE_CUDA
    Definition: memory_type.h:39
    +
    @ UCS_MEMORY_TYPE_LAST
    Definition: memory_type.h:43
    +
    Memory domain attributes.
    Definition: uct.h:1412
    +
    uint64_t field_mask
    Definition: uct.h:252
    +
    struct uct_device_addr uct_device_addr_t
    Definition: uct_def.h:96
    +
    struct uct_ep * uct_ep_h
    Definition: uct_def.h:81
    +
    uct_iface_h iface
    Definition: uct.h:1185
    +
    const uct_iface_addr_t * iface_addr
    Definition: uct.h:1204
    +
    struct uct_iface_addr uct_iface_addr_t
    Definition: uct_def.h:97
    +
    void uct_worker_destroy(uct_worker_h worker)
    Destroy a worker object.
    +
    struct uct_md * uct_md_h
    Memory domain handler.
    Definition: uct_def.h:84
    +
    ucs_status_t uct_md_iface_config_read(uct_md_h md, const char *tl_name, const char *env_prefix, const char *filename, uct_iface_config_t **config_p)
    Read transport-specific interface configuration.
    +
    @ UCT_COMPONENT_ATTR_FIELD_MD_RESOURCES
    Definition: uct.h:233
    +
    @ UCS_ERR_INVALID_PARAM
    Definition: status.h:57
    +
    void uct_iface_release_desc(void *desc)
    Release AM descriptor.
    Definition: uct.h:2703
    +
    struct uct_component * uct_component_h
    Definition: uct_def.h:76
    +
    @ UCT_IFACE_PARAM_FIELD_RX_HEADROOM
    Definition: uct.h:629
    +
    int uct_iface_is_reachable(const uct_iface_h iface, const uct_device_addr_t *dev_addr, const uct_iface_addr_t *iface_addr)
    Check if remote iface address is reachable.
    +
    @ UCT_PROGRESS_RECV
    Definition: uct.h:531
    +
    @ UCT_COMPONENT_ATTR_FIELD_MD_RESOURCE_COUNT
    Definition: uct.h:232
    +
    uint64_t field_mask
    Definition: uct.h:1179
    +
    @ UCS_ERR_UNSUPPORTED
    Definition: status.h:74
    +
    void uct_iface_close(uct_iface_h iface)
    Close and destroy an interface.
    +
    @ UCT_PROGRESS_SEND
    Definition: uct.h:530
    +
    void uct_config_release(void *config)
    Release configuration memory returned from uct_md_iface_config_read(), uct_md_config_read(),...
    +
    Parameters used for interface creation.
    Definition: uct.h:1062
    +
    uct_mem_h memh
    Definition: uct_def.h:148
    +
    @ UCS_OK
    Definition: status.h:47
    +
    ucs_status_t uct_ep_get_address(uct_ep_h ep, uct_ep_addr_t *addr)
    Get endpoint address.
    +
    ucs_status_t uct_component_query(uct_component_h component, uct_component_attr_t *component_attr)
    Get component attributes.
    +
    size_t stride
    Definition: uct_def.h:149
    +
    void uct_iface_progress_enable(uct_iface_h iface, unsigned flags)
    Enable synchronous progress for the interface.
    Definition: uct.h:3419
    +
    unsigned md_resource_count
    Definition: uct.h:258
    +
    #define UCT_IFACE_FLAG_AM_BCOPY
    Definition: uct.h:365
    +
    ucs_status_t uct_md_query_tl_resources(uct_md_h md, uct_tl_resource_desc_t **resources_p, unsigned *num_resources_p)
    Query for transport resources.
    +
    ucs_status_t uct_ep_am_zcopy(uct_ep_h ep, uint8_t id, const void *header, unsigned header_length, const uct_iov_t *iov, size_t iovcnt, unsigned flags, uct_completion_t *comp)
    Send active message while avoiding local memory copy.
    Definition: uct.h:2931
    +
    size_t length
    Definition: uct_def.h:147
    +
    @ UCT_IFACE_OPEN_MODE_DEVICE
    Definition: uct.h:591
    +
    ucs_status_t uct_iface_query(uct_iface_h iface, uct_iface_attr_t *iface_attr)
    Get interface attributes.
    +
    void * uct_mem_h
    Definition: uct_def.h:82
    +
    Communication resource descriptor.
    Definition: uct.h:322
    +
    @ UCT_EP_PARAM_FIELD_DEV_ADDR
    Definition: uct.h:825
    +
    ucs_status_t uct_md_query(uct_md_h md, uct_md_attr_t *md_attr)
    Query for memory domain attributes.
    +
    char md_name[UCT_MD_NAME_MAX]
    Definition: uct.h:219
    +
    struct uct_ep_addr uct_ep_addr_t
    Definition: uct_def.h:98
    +
    uint64_t field_mask
    Definition: uct.h:1066
    +
    ucs_status_t uct_iface_get_address(uct_iface_h iface, uct_iface_addr_t *addr)
    Get interface address.
    +
    uint64_t open_mode
    Definition: uct.h:1070
    +
    @ UCS_INPROGRESS
    Definition: status.h:50
    +
    ucs_status_t uct_md_mem_dereg(uct_md_h md, uct_mem_h memh)
    Undo the operation of uct_md_mem_reg().
    +
    ucs_status_t uct_md_config_read(uct_component_h component, const char *env_prefix, const char *filename, uct_md_config_t **config_p)
    Read the configuration for a memory domain.
    +
    void uct_release_component_list(uct_component_h *components)
    Release the list of components returned from uct_query_components.
    +
    ucs_status_t
    Status codes.
    Definition: status.h:45
    +
    ucs_status_t uct_iface_set_am_handler(uct_iface_h iface, uint8_t id, uct_am_callback_t cb, void *arg, uint32_t flags)
    Set active message handler for the interface.
    +
    ucs_status_t ucs_async_context_create(ucs_async_mode_t mode, ucs_async_context_t **async_p)
    Create an asynchronous execution context.
    +
    void uct_release_tl_resource_list(uct_tl_resource_desc_t *resources)
    Release the list of resources returned from uct_md_query_tl_resources.
    +
    @ UCS_THREAD_MODE_SINGLE
    Definition: thread_mode.h:20
    +
    @ UCT_IFACE_PARAM_FIELD_OPEN_MODE
    Definition: uct.h:615
    +
    @ UCT_MD_MEM_ACCESS_RMA
    Definition: uct.h:745
    +
    Completion handle.
    Definition: uct.h:1575
    +
    ucs_status_t uct_query_components(uct_component_h **components_p, unsigned *num_components_p)
    Query for list of components.
    +
    struct uct_md_config uct_md_config_t
    Definition: uct_def.h:79
    +
    ssize_t uct_ep_am_bcopy(uct_ep_h ep, uint8_t id, uct_pack_callback_t pack_cb, void *arg, unsigned flags)
    Definition: uct.h:2886
    +
    void ucs_async_context_destroy(ucs_async_context_t *async)
    Destroy the asynchronous execution context.
    +
    #define UCT_IFACE_FLAG_AM_ZCOPY
    Definition: uct.h:366
    +
    Structure for scatter-gather I/O.
    Definition: uct_def.h:145
    +
    struct uct_iface_attr::@7 cap
    +
    ucs_status_t uct_md_open(uct_component_h component, const char *md_name, const uct_md_config_t *config, uct_md_h *md_p)
    Open a memory domain.
    +
    ucs_cpu_set_t cpu_mask
    Definition: uct.h:1068
    +
    ucs_status_t uct_iface_open(uct_md_h md, uct_worker_h worker, const uct_iface_params_t *params, const uct_iface_config_t *config, uct_iface_h *iface_p)
    Open a communication interface.
    +
    uct_md_resource_desc_t * md_resources
    Definition: uct.h:273
    +
    Parameters for creating a UCT endpoint by uct_ep_create.
    Definition: uct.h:1173
    +
    void uct_ep_destroy(uct_ep_h ep)
    Destroy an endpoint.
    +
    @ UCS_ERR_IO_ERROR
    Definition: status.h:55
    +
    @ UCS_ERR_NO_MEMORY
    Definition: status.h:56
    +
    struct uct_worker * uct_worker_h
    Definition: uct_def.h:93
    +
    size_t rx_headroom
    Definition: uct.h:1106
    +
    #define UCT_IFACE_FLAG_CONNECT_TO_IFACE
    Definition: uct.h:399
    +
    ucs_stats_node_t * stats_root
    Definition: uct.h:1104
    +
    union uct_iface_params::@16 mode
    +
    @ UCT_IFACE_PARAM_FIELD_CPU_MASK
    Definition: uct.h:612
    + + + + diff --git a/api/v1.13/ucx-v1.13.pdf b/api/v1.13/ucx-v1.13.pdf new file mode 100644 index 00000000000..6b9f1a48f60 Binary files /dev/null and b/api/v1.13/ucx-v1.13.pdf differ diff --git a/api/v1.13/ucx.pdf b/api/v1.13/ucx.pdf new file mode 120000 index 00000000000..9cc6b08cf7d --- /dev/null +++ b/api/v1.13/ucx.pdf @@ -0,0 +1 @@ +ucx-v1.13.pdf \ No newline at end of file