Re-exports
pub use self::ucs_ternary_auto_value as ucs_ternary_auto_value_t;
pub use self::ucs_on_off_auto_value as ucs_on_off_auto_value_t;
pub use self::uct_am_trace_type as uct_am_trace_type_t;
pub use self::ucs_memory_type as ucs_memory_type_t;
pub use self::uct_atomic_op as uct_atomic_op_t;
pub use self::uct_md_mem_attr_field as uct_md_mem_attr_field_t;
pub use self::ucp_wakeup_event_types as ucp_wakeup_event_t;
pub use self::ucp_ep_perf_param_field as ucp_ep_perf_param_field_t;
pub use self::ucp_ep_perf_attr_field as ucp_ep_perf_attr_field_t;
pub use self::ucp_mem_advice as ucp_mem_advice_t;
pub use self::ucm_event_type as ucm_event_type_t;
pub use self::ucm_mmap_hook_mode as ucm_mmap_hook_mode_t;
pub use self::ucm_module_unload_prevent_mode as ucm_module_unload_prevent_mode_t;
Structs
@brief Global UCM configuration.
@ingroup UCP_WORKER @brief Flags for a UCP Active Message callback.
@ingroup UCP_WORKER @brief Active Message handler parameters passed to @ref ucp_worker_set_am_recv_handler routine.
@ingroup UCP_COMM @brief UCP AM receive data parameters fields and flags
@ingroup UCP_WORKER @brief Operation parameters provided in @ref ucp_am_recv_callback_t callback.
@ingroup UCP_ENDPOINT @brief Descriptor flags for Active Message callback.
@ingroup UCP_WORKER @brief UCP listener’s connection request attributes.
@ingroup UCP_WORKER @brief UCP listener’s connection request attributes field mask.
@ingroup UCP_CONTEXT @brief Context attributes.
@ingroup UCP_CONTEXT @brief UCP context attributes field mask.
@ingroup UCP_DATATYPE @brief Structure for scatter-gather I/O.
@ingroup UCP_ENDPOINT @brief UCP endpoint attributes.
@ingroup UCP_ENDPOINT @brief UCP endpoint attributes field mask.
@ingroup UCP_ENDPOINT @brief Close UCP endpoint modes.
@ingroup UCP_ENDPOINT @brief UCP endpoint performance evaluation result attributes.
@ingroup UCP_ENDPOINT @brief UCP endpoint performance evaluation request attributes.
@ingroup UCP_ENDPOINT @brief Tuning parameters for the UCP endpoint.
@ingroup UCP_ENDPOINT @brief UCP endpoint parameters field mask.
@ingroup UCP_ENDPOINT @brief UCP endpoint parameters flags.
@ingroup UCP_ENDPOINT @brief UCP performance fields and flags
@ingroup UCP_ENDPOINT @brief UCP performance fields and flags
@ingroup UCP_COMM @brief UCP endpoint error handling context.
@ingroup UCP_CONTEXT @brief UCP configuration features
@ingroup UCP_DATATYPE @brief UCP generic data type descriptor
@ingroup UCP_CONTEXT @brief Lib attributes.
@ingroup UCP_CONTEXT @brief UCP library attributes field mask.
@ingroup UCP_WORKER @deprecated Replaced by @ref ucp_listener_conn_handler_t.
@ingroup UCP_WORKER @brief UCP listener attributes.
@ingroup UCP_WORKER @brief UCP listener attributes field mask.
@ingroup UCP_WORKER @brief UCP callback to handle the connection request in a client-server connection establishment flow.
@ingroup UCP_WORKER @brief Parameters for a UCP listener object.
@ingroup UCP_WORKER @brief UCP listener parameters field mask.
@ingroup UCP_MEM @brief Tuning parameters for the UCP memory advice.
@ingroup UCP_MEM @brief UCP memory advice parameters field mask.
@ingroup UCP_MEM @brief Attributes of the @ref ucp_mem_h “UCP Memory handle”, filled by @ref ucp_mem_query function.
@ingroup UCP_MEM @brief UCP Memory handle attributes field mask.
@ingroup UCP_MEM @brief Tuning parameters for the UCP memory mapping.
@ingroup UCP_MEM @brief UCP memory mapping parameters field mask.
@ingroup UCP_CONFIG @brief Tuning parameters for UCP library.
@ingroup UCP_CONTEXT @brief UCP context parameters field mask.
@ingroup UCP_COMM @brief UCP request query attributes
@ingroup UCP_COMM @brief Attributes of a particular request.
@ingroup UCP_CONTEXT @brief Operation parameters passed to @ref ucp_tag_send_nbx, @ref ucp_tag_send_sync_nbx, @ref ucp_tag_recv_nbx, @ref ucp_put_nbx, @ref ucp_get_nbx, @ref ucp_am_send_nbx and @ref ucp_am_recv_data_nbx.
@ingroup UCP_WORKER @brief Flags for sending a UCP Active Message.
@ingroup UCP_ENDPOINT @brief Output parameter of @ref ucp_stream_worker_poll function.
@ingroup UCP_COMM @brief Flags to define behavior of @ref ucp_stream_recv_nb function
@ingroup UCP_CONTEXT @brief UCP receive information descriptor
@ingroup UCP_WORKER @brief UCP worker address attributes.
@ingroup UCP_WORKER @brief UCP worker address attributes field mask.
@ingroup UCP_WORKER @brief UCP worker address flags.
@ingroup UCP_WORKER @brief UCP worker attributes.
@ingroup UCP_WORKER @brief UCP worker attributes field mask.
@ingroup UCP_WORKER @brief UCP worker flags
@ingroup UCP_WORKER @brief Tuning parameters for the UCP worker.
@ingroup UCP_WORKER @brief UCP worker parameters field mask.
A queue of callback to execute
Callback queue element.
@ingroup UCS_RESOURCE Callback flags
Configuration printing flags
A 1d linear function, represented as f(x) = c + x * m.
A link in a circular list.
Logging component.
@ingroup UCS_RESOURCE BSD socket address specification.
@ingroup UCT_MD @brief Describes a memory allocated by UCT.
@ingroup UCT_RESOURCE @brief Callback flags.
@ingroup UCT_RESOURCE @brief Flags for active message and tag-matching offload callbacks (callback’s parameters).
@ingroup UCT_CLIENT_SERVER @brief Connection manager attributes, capabilities and limitations.
@ingroup UCT_CLIENT_SERVER @brief UCT connection manager attributes field mask.
@ingroup UCT_CLIENT_SERVER @brief Arguments to the client’s connect callback.
@ingroup UCT_CLIENT_SERVER @brief Field mask flags for client-side connection established callback.
@ingroup UCT_CLIENT_SERVER @brief Arguments to the client-server private data pack callback.
@ingroup UCT_CLIENT_SERVER @brief Client-Server private data pack callback arguments field mask.
@ingroup UCT_CLIENT_SERVER @brief Arguments to the client-server resolved callback.
@ingroup UCT_CLIENT_SERVER @brief Client-Server resolve callback arguments field mask.
@ingroup UCT_CLIENT_SERVER @brief Arguments to the server’s notify callback.
@ingroup UCT_CLIENT_SERVER @brief Field mask flags for server-side connection established notification callback.
@ingroup UCT_CLIENT_SERVER @brief Arguments to the listener’s connection request callback.
@ingroup UCT_CLIENT_SERVER @brief Listener’s connection request callback arguments field mask.
@ingroup UCT_CLIENT_SERVER @brief Data received from the remote peer.
@ingroup UCT_CLIENT_SERVER @brief Remote data attributes field mask.
@ingroup UCT_RESOURCE @brief Completion handle.
@ingroup UCT_RESOURCE @brief UCT component attributes
@ingroup UCT_RESOURCE @brief UCT component attributes field mask
Remote endpoint
@ingroup UCT_CLIENT_SERVER @brief Parameters for connecting a UCT endpoint by @ref uct_ep_connect.
@ingroup UCT_CLIENT_SERVER @brief UCT endpoint connected by @ref uct_ep_connect parameters field mask.
@ingroup UCT_RESOURCE @brief Parameters for creating a UCT endpoint by @ref uct_ep_create
@ingroup UCT_RESOURCE @brief UCT endpoint created by @ref uct_ep_create parameters field mask.
@ingroup UCT_RESOURCE @brief Flush modifiers.
Communication interface context
@ingroup UCT_RESOURCE @brief Interface attributes: capabilities and limitations.
Transport interface operations. Every operation exposed in the API must appear in the table below, to allow creating interface/endpoint with custom operations.
@ingroup UCT_RESOURCE @brief Parameters used for interface creation.
@anchor uct_iface_params_t_mode_device The fields in this structure (tl_name and dev_name) need to be set only when the @ref UCT_IFACE_OPEN_MODE_DEVICE bit is set in @ref uct_iface_params_t.open_mode This will make @ref uct_iface_open open the interface on the specified device.
@anchor uct_iface_params_t_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 @ref UCT_IFACE_OPEN_MODE_SOCKADDR_SERVER bit is set in @ref uct_iface_params_t.open_mode. This will make @ref uct_iface_open open the interface on the specified address as a server.
@ingroup UCT_RESOURCE @brief UCT interface created by @ref uct_iface_open parameters field mask.
@ingroup UCT_RESOURCE @brief Structure for scatter-gather I/O.
Listener for incoming connections
@ingroup UCT_CLIENT_SERVER @brief UCT listener attributes, capabilities and limitations.
@ingroup UCT_CLIENT_SERVER @brief UCT listener attributes field mask.
@ingroup UCT_CLIENT_SERVER @brief Parameters for creating a listener object @ref uct_listener_h by @ref uct_listener_create
@ingroup UCT_CLIENT_SERVER @brief UCT listener created by @ref uct_listener_create parameters field mask.
@ingroup UCT_MD @brief Memory domain attributes.
@ingroup UCT_MD @brief Memory domain attributes.
@ingroup UCT_MD @brief UCT MD memory attributes field mask
@ingroup UCT_MD @brief Memory allocation/registration flags.
@ingroup UCT_RESOURCE @brief Memory domain resource descriptor.
@ingroup UCT_MD @brief Parameters for allocating memory using @ref uct_mem_alloc
@ingroup UCT_AM @brief Flags for active message send operation.
@ingroup UCT_RESOURCE @brief Pending request.
Receive descriptor
@ingroup UCT_MD @brief Remote key with its type
@ingroup UCT_TAG @brief Posted tag context.
@ingroup UCT_RESOURCE @brief Communication resource descriptor.
A progress engine and a domain for allocating communication resources. Different workers are progressed independently.
Enums
@ingroup UCT_RESOURCE @brief Capability flags of @ref uct_component_h.
@ingroup UCT_MD @brief Memory domain capability flags.
@ingroup UCT_RESOURCE @brief flags of @ref uct_tag_context.
@ingroup UCP_MEM @brief UCP memory mapping flags.
@ingroup UCP_MEM @brief UCP memory mapping protection mode.
@brief Memory event types
@brief MMAP hook modes
@brief UCM module unload prevent mode
@ingroup UCP_COMM @brief UCP AM receive data parameter fields and flags
@ingroup UCP_COMM @brief Atomic operation requested for ucp_atomic_fetch
@ingroup UCP_COMM @brief Atomic operation requested for ucp_atomic_op_nbx
@ingroup UCP_COMM @brief Atomic operation requested for ucp_atomic_post
@ingroup UCP_DATATYPE @brief UCP data type classification
@ingroup UCP_ENDPOINT @brief Close UCP endpoint modes.
@ingroup UCP_ENDPOINT @brief Error handling mode for the UCP endpoint.
@ingroup UCP_MEM @brief list of UCP memory use advice.
@ingroup UCP_COMM @brief UCP operation fields and flags
@ingroup UCP_WORKER @brief UCP worker wakeup events mask.
Async progress mode.
Enum for representing possible modes of an “allow-list”
Event types that could be requested to notify
Error handling modes
Logging levels.
@ingroup UCS_RESOURCE @brief Memory types
On/Off/Auto logic value.
@ingroup UCS_RESOURCE @brief Status codes
Ternary logic or Auto value.
@ingroup UCS_RESOURCE @brief Thread sharing mode
@ingroup UCT_CONTEXT @brief Memory allocation methods.
@ingroup UCT_AM @brief Trace types for active message tracer.
@brief Atomic operation requested for uct_ep_atomic32_post, uct_ep_atomic64_post, uct_ep_atomic32_fetch and uct_ep_atomic64_fetch.
@ingroup UCT_RESOURCE @brief List of UCX device types.
@ingroup UCT_RESOURCE @brief Asynchronous event types.
@ingroup UCT_RESOURCE @brief Mode in which to open the interface.
@ingroup UCT_MD @brief list of UCT memory use advice
@ingroup UCT_MD @brief UCT allocation parameters specification field mask
@ingroup UCT_RESOURCE @brief UCT progress types
@ingroup UCT_MD @brief Socket address accessibility type.
Constants
Statics
Array of string descriptions for each memory type
Array of string names for each memory type
Functions
@brief Call the original implementation of @ref dlopen and all handlers associated with it.
Initialize UCM library and set its configuration.
@brief Call the original implementation of @ref madvise and all handlers associated with it.
@brief Call the original implementation of @ref mremap and all handlers associated with it.
@brief Call the original implementation of @ref munmap and all handlers associated with it.
@brief Call the original implementation of @ref brk without triggering events.
@brief Call the original implementation of @ref madvise without triggering events.
@brief Call the original implementation of @ref mmap without triggering events.
@brief Call the original implementation of @ref mremap without triggering events.
@brief Call the original implementation of @ref munmap without triggering events.
@brief Call the original implementation of @ref sbrk without triggering events.
@brief Call the original implementation of @ref shmat without triggering events.
@brief Call the original implementation of @ref shmdt without triggering events.
@brief Install a handler for memory events.
@brief Add memory events to the external events list.
@brief Call the original implementation of @ref shmat and all handlers associated with it.
@brief Call the original implementation of @ref shmdt and all handlers associated with it.
@brief Test event handlers
@brief Test event external handlers
@brief Remove a handler for memory events.
@brief Remove memory events from the external events list.
@brief Call the handlers registered for aggregated VM_MMAP event.
@brief Call the handlers registered for aggregated VM_MUNMAP event.
@ingroup UCP_COMM @brief Releases Active Message data.
@ingroup UCP_COMM @brief Receive Active Message as defined by provided data descriptor.
@ingroup UCP_COMM @brief Send Active Message.
@ingroup UCP_COMM @brief Send Active Message.
@ingroup UCP_COMM @brief Blocking atomic add operation for 32 bit integers @deprecated Replaced by @ref ucp_atomic_post with opcode UCP_ATOMIC_POST_OP_ADD. @see ucp_put.
@ingroup UCP_COMM @brief Blocking atomic add operation for 64 bit integers @deprecated Replaced by @ref ucp_atomic_post with opcode UCP_ATOMIC_POST_OP_ADD. @see ucp_put.
@ingroup UCP_COMM @brief Blocking atomic conditional swap (cswap) operation for 32 bit values. @deprecated Replaced by @ref ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_CSWAP. @see ucp_put.
@ingroup UCP_COMM @brief Blocking atomic conditional swap (cswap) operation for 64 bit values. @deprecated Replaced by @ref ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_CSWAP. @see ucp_put.
@ingroup UCP_COMM @brief Blocking atomic fetch and add operation for 32 bit integers @deprecated Replaced by @ref ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_FADD. @see ucp_put.
@ingroup UCP_COMM @brief Blocking atomic fetch and add operation for 64 bit integers @deprecated Replaced by @ref ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_FADD. @see ucp_put.
@ingroup UCP_COMM @brief Post an atomic fetch operation.
@ingroup UCP_COMM @brief Post an atomic memory operation.
@ingroup UCP_COMM @brief Post an atomic memory operation.
@ingroup UCP_COMM @brief Blocking atomic swap operation for 32 bit values @deprecated Replaced by @ref ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_SWAP. @see ucp_put.
@ingroup UCP_COMM @brief Blocking atomic swap operation for 64 bit values @deprecated Replaced by @ref ucp_atomic_fetch_nb with opcode UCP_ATOMIC_FETCH_OP_SWAP. @see ucp_put.
@ingroup UCP_CONTEXT @brief Release UCP application context.
@ingroup UCP_CONFIG @brief Modify context configuration.
@ingroup UCP_CONFIG @brief Print configuration information
@ingroup UCP_CONFIG @brief Read UCP configuration descriptor
@ingroup UCP_CONFIG @brief Release configuration descriptor
@ingroup UCP_WORKER @brief Get attributes specific to a particular connection request received on the server side.
@ingroup UCP_CONTEXT @brief Print context information.
@ingroup UCP_CONTEXT @brief Get attributes specific to a particular context.
@ingroup UCP_ENDPOINT @deprecated Replaced by @ref ucp_ep_close_nb.
@ingroup UCP_DATATYPE @brief Create a generic datatype.
@ingroup UCP_DATATYPE @brief Destroy a datatype and release its resources.
@ingroup UCP_DATATYPE @brief Generate an identifier for contiguous data type.
@ingroup UCP_ENDPOINT
@ingroup UCP_ENDPOINT
@ingroup UCP_ENDPOINT @brief Create and connect an endpoint.
@ingroup UCP_ENDPOINT @deprecated Replaced by @ref ucp_ep_close_nb.
@ingroup UCP_ENDPOINT @brief Estimate performance characteristics of a specific endpoint.
@ingroup UCP_ENDPOINT @deprecated Replaced by @ref ucp_ep_flush_nb.
@ingroup UCP_ENDPOINT
@ingroup UCP_ENDPOINT
@ingroup UCP_ENDPOINT @brief Modify endpoint parameters.
@ingroup UCP_ENDPOINT @brief Print endpoint information.
@ingroup UCP_ENDPOINT @brief Get attributes of a given endpoint.
@ingroup UCP_MEM @brief Create remote access key from packed buffer.
@ingroup UCP_COMM @brief Blocking remote memory get operation. @deprecated Replaced by @ref ucp_get_nb. @see ucp_put.
@ingroup UCP_COMM @brief Non-blocking remote memory get operation.
@ingroup UCP_COMM @brief Non-blocking implicit remote memory get operation.
@ingroup UCP_COMM @brief Non-blocking remote memory get operation.
@ingroup UCP_CONTEXT @brief Get UCP library version.
@ingroup UCP_CONTEXT @brief Get UCP library version as a string.
@cond PRIVATE_INTERFACE */ @ingroup UCP_CONTEXT @brief UCP context initialization with particular API version.
@ingroup UCP_CONTEXT @brief Get attributes of the UCP library.
@ingroup UCP_WORKER @brief Create a listener to accept connections on. Connection requests on the listener will arrive at a local address specified by the user.
@ingroup UCP_WORKER @brief Stop accepting connections on a local address of the worker object.
@ingroup UCP_WORKER @brief Get attributes specific to a particular listener.
@ingroup UCP_WORKER
@ingroup UCP_MEM @brief give advice about the use of memory
@ingroup UCP_MEM @brief Map or allocate memory for zero-copy operations.
@ingroup UCP_MEM @brief Print memory mapping information.
@ingroup UCP_MEM @brief query mapped memory segment
@ingroup UCP_MEM @brief Unmap memory segment
@ingroup UCP_COMM @brief Blocking remote memory put operation. @deprecated Replaced by @ref ucp_put_nb. The following example implements the same functionality using @ref ucp_put_nb : @code void empty_callback(void *request, ucs_status_t status) { }
@ingroup UCP_COMM @brief Non-blocking remote memory put operation.
@ingroup UCP_COMM @brief Non-blocking implicit remote memory put operation.
@ingroup UCP_COMM @brief Non-blocking remote memory put operation.
@ingroup UCP_COMM @brief Create an empty communications request.
@ingroup UCP_COMM @brief Cancel an outstanding communications request.
@ingroup UCP_COMM @brief Check the status of non-blocking request.
@ingroup UCP_COMM @brief Release a communications request.
@ingroup UCP_COMM @deprecated Replaced by @ref ucp_request_test.
@ingroup UCP_COMM @brief Get information about ucp_request.
@ingroup UCP_ENDPOINT @deprecated Replaced by @ref ucp_request_free.
@ingroup UCP_ENDPOINT @deprecated Replaced by @ref ucp_tag_recv_request_test and @ref ucp_request_check_status depends on use case.
@ingroup UCP_MEM @brief Release packed remote key buffer.
@ingroup UCP_MEM @brief Destroy the remote key
@ingroup UCP_MEM @brief Pack memory region remote access key.
@ingroup UCP_MEM @brief Get a local pointer to remote memory.
@ingroup UCP_COMM @brief Release UCP data buffer returned by @ref ucp_stream_recv_data_nb.
@ingroup UCP_COMM @brief Non-blocking stream receive operation of unstructured data into a UCP-supplied buffer.
@ingroup UCP_COMM @brief Non-blocking stream receive operation of structured data into a user-supplied buffer.
@ingroup UCP_COMM @brief Non-blocking stream receive operation of structured data into a user-supplied buffer.
@ingroup UCP_COMM @brief Check the status and currently available state of non-blocking request returned from @ref ucp_stream_recv_nb routine.
@ingroup UCP_COMM @brief Non-blocking stream send operation.
@ingroup UCP_COMM @brief Non-blocking stream send operation.
@ingroup UCP_WORKER @brief Poll for endpoints that are ready to consume streaming data.
@ingroup UCP_COMM @brief Non-blocking receive operation for a probed message.
@ingroup UCP_COMM @brief Non-blocking receive operation for a probed message.
@ingroup UCP_COMM @brief Non-blocking probe and return a message.
@ingroup UCP_COMM @brief Non-blocking tagged-receive operation.
@ingroup UCP_COMM @brief Non-blocking tagged-receive operation.
@ingroup UCP_COMM @brief Non-blocking tagged-receive operation.
@ingroup UCP_COMM @brief Check the status and currently available state of non-blocking request returned from @ref ucp_tag_recv_nb routine.
@ingroup UCP_COMM @brief Non-blocking tagged-send operations
@ingroup UCP_COMM @brief Non-blocking tagged-send operations with user provided request
@ingroup UCP_COMM @brief Non-blocking tagged-send operation
@ingroup UCP_COMM @brief Non-blocking synchronous tagged-send operation.
@ingroup UCP_COMM @brief Non-blocking synchronous tagged-send operation.
@ingroup UCP_WORKER @brief Get attributes of the particular worker address.
@ingroup UCP_WAKEUP @brief Turn on event notification for the next event.
@ingroup UCP_WORKER @brief Create a worker object.
@ingroup UCP_WORKER @brief Destroy a worker object.
@ingroup UCP_WORKER
@ingroup UCP_WORKER
@ingroup UCP_WORKER
@ingroup UCP_WORKER
@ingroup UCP_WORKER @brief Get the address of the worker object.
@ingroup UCP_WAKEUP @brief Obtain an event file descriptor for event notification.
@ingroup UCP_WORKER @brief Print information about the worker.
@ingroup UCP_WORKER @brief Progress all communications on a specific worker.
@ingroup UCP_WORKER @brief Get attributes specific to a particular worker.
@ingroup UCP_WORKER @brief Release an address of the worker object.
@ingroup UCP_WORKER @brief Add user defined callback for Active Message.
@ingroup UCP_WORKER @brief Add user defined callback for Active Message.
@ingroup UCP_WAKEUP @brief Cause an event of the worker.
@ingroup UCP_WAKEUP @brief Wait for an event of the worker.
@ingroup UCP_WAKEUP @brief Wait for memory update on the address
@ingroup UCS_RESOURCE
@ingroup UCS_RESOURCE @brief Create an asynchronous execution context
@ingroup UCS_RESOURCE @brief Destroy the asynchronous execution context
@ingroup UCS_RESOURCE
@ingroup UCS_RESOURCE
@ingroup UCS_RESOURCE
@ingroup UCS_RESOURCE
Add a callback to the queue. This is not safe to call while another thread might be dispatching callbacks. However, it can be used from the dispatch context (e.g a callback may use this function to add another callback).
Add a callback to the queue. This can be used from any context and any thread, including but not limited to:
Clean up the callback queue and release associated memory.
Initialize the callback queue.
Remove a callback from the queue immediately. This is not safe to call while another thread might be dispatching callbacks. However, it can be used from the dispatch context (e.g a callback may use this function to remove itself or another callback). In this case, the callback may still be dispatched once after this function returned.
Remove all callbacks from the queue for which the given predicate returns “true” (nonzero) value. This is not safe to call while another thread might be dispatching callbacks. However, it can be used from the dispatch context (e.g a callback may use this function to remove itself or another callback). In this case, the callback may still be dispatched once after this function returned.
Remove a callback from the queue in a safe but lazy fashion. The callback will be removed at some point in the near future. This can be used from any context and any thread, including but not limited to:
Register the target event.
Cleanup event set
Allocate ucs_sys_event_set_t structure.
Allocate ucs_sys_event_set_t structure and assign provided file descriptor to wait for events on.
Remove the target event.
Get file descriptor for watching events.
Modify the target event.
Wait for an I/O events
@param status UCS status code.
Cleanup UCS topology subsystem.
Convert the distance to a human-readable string.
Find a system device by its BDF name: “[
Find system device by pci bus id.
Find pci bus id of the given system device.
Find the distance between two system devices (in terms of latency, bandwidth, hops, etc).
Initialize UCS topology subsystem.
Get the number of registered system devices.
Print a map indicating the topology information between system devices discovered.
Return system device name in BDF format: “
Get the name of a given system device. If the name was never set, it defaults to the BDF representation of the system device bus id.
Set a name for a given system device. If the name was set previously, the new name will replace the old one.
@ingroup UCT_CLIENT_SERVER @brief Notify the server about client-side connection establishment.
@ingroup UCT_CLIENT_SERVER @brief Close a connection manager.
@ingroup UCT_CLIENT_SERVER @brief Read the configuration for a connection manager.
@ingroup UCT_CLIENT_SERVER @brief Open a connection manager.
@ingroup UCT_CLIENT_SERVER @brief Get connection manager attributes.
@ingroup UCT_RESOURCE @brief Get component attributes
@ingroup UCT_CONTEXT @brief Get value by name from interface configuration (@ref uct_iface_config_t), memory domain configuration (@ref uct_md_config_t) or connection manager configuration (@ref uct_cm_config_t).
@ingroup UCT_CONTEXT @brief Modify interface configuration (@ref uct_iface_config_t), memory domain configuration (@ref uct_md_config_t) or connection manager configuration (@ref uct_cm_config_t).
@ingroup UCT_RESOURCE @brief Release configuration memory returned from uct_md_iface_config_read(), uct_md_config_read(), or from uct_cm_config_read().
@ingroup UCT_RESOURCE @brief check if the destination endpoint is alive in respect to UCT library
@ingroup UCT_CLIENT_SERVER @brief Connect a client side endpoint after it is bound to a local network device, i.e. @ref uct_ep_params_t::cm_resolve_cb was invoked.
@ingroup UCT_RESOURCE @brief Connect endpoint to a remote endpoint.
@ingroup UCT_RESOURCE @brief Create new endpoint.
@ingroup UCT_RESOURCE @brief Destroy an endpoint.
@ingroup UCT_CLIENT_SERVER @brief Initiate a disconnection of an endpoint connected to a sockaddr by a connection manager @ref uct_cm_h.
@ingroup UCT_RESOURCE @brief Get endpoint address.
@ingroup UCT_CLIENT_SERVER @brief Accept connection request.
@ingroup UCT_RESOURCE @brief Close and destroy an interface.
@ingroup UCT_RESOURCE @brief Turn on event notification for the next event.
@ingroup UCT_RESOURCE @brief Obtain a notification file descriptor for polling.
@ingroup UCT_RESOURCE @brief Get interface address.
@ingroup UCT_RESOURCE @brief Get address of the device the interface is using.
@ingroup UCT_RESOURCE @brief Check if remote iface address is reachable.
@ingroup UCT_RESOURCE @brief Allocate memory which can be used for zero-copy communications.
@ingroup UCT_RESOURCE @brief Release memory allocated with @ref uct_iface_mem_alloc().
@ingroup UCT_RESOURCE @brief Open a communication interface.
@ingroup UCT_RESOURCE @brief Get interface attributes.
@ingroup UCT_CLIENT_SERVER @brief Reject connection request. Will invoke an error handler @ref uct_error_handler_t on the remote transport interface, if set.
@ingroup UCT_AM @brief Set active message handler for the interface.
@ingroup UCT_AM @brief Set active message tracer for the interface.
@ingroup UCT_CLIENT_SERVER @brief Create a new transport listener object.
@ingroup UCT_CLIENT_SERVER @brief Destroy a transport listener.
@ingroup UCT_CLIENT_SERVER @brief Get attributes specific to a particular listener.
@ingroup UCT_CLIENT_SERVER @brief Reject a connection request.
@ingroup UCT_RESOURCE @brief Close a memory domain.
@ingroup UCT_MD @brief Read the configuration for a memory domain.
@ingroup UCT_MD @brief Detect memory type
@ingroup UCT_RESOURCE @brief Read transport-specific interface configuration.
@ingroup UCT_MD @brief Check if remote sock address is accessible from the memory domain.
@ingroup UCT_MD @brief Give advice about the use of memory
@ingroup UCT_MD @brief Undo the operation of @ref uct_md_mem_reg().
@ingroup UCT_MD @brief Query attributes of a given pointer
@ingroup UCT_MD @brief Register memory for zero-copy sends and remote access.
@ingroup UCT_MD
@ingroup UCT_RESOURCE @brief Open a memory domain.
@ingroup UCT_MD @brief Query for memory domain attributes.
@ingroup UCT_RESOURCE @brief Query for transport resources.
@ingroup UCT_MD @brief Allocate memory for zero-copy communications and remote access.
@ingroup UCT_MD @brief Release allocated memory.
@ingroup UCT_RESOURCE @brief Query for list of components.
@ingroup UCT_RESOURCE @brief Release the list of components returned from @ref uct_query_components.
@ingroup UCT_RESOURCE @brief Release the list of resources returned from @ref uct_md_query_tl_resources.
@ingroup UCT_MD
@ingroup UCT_MD
@ingroup UCT_MD
@ingroup UCT_CONTEXT @brief Create a worker object.
@ingroup UCT_CONTEXT @brief Destroy a worker object.
@ingroup UCT_CONTEXT @brief Add a slow path callback function to a worker progress.
@ingroup UCT_CONTEXT @brief Remove a slow path callback function from worker’s progress.
Type Definitions
@brief Memory event callback.
@brief Memory event parameters and result.
@brief Global UCM configuration.
@ingroup UCP_WORKER @brief UCP worker address
@ingroup UCP_ENDPOINT @brief Callback to process incoming Active Message.
@ingroup UCP_WORKER @brief Active Message handler parameters passed to @ref ucp_worker_set_am_recv_handler routine.
@ingroup UCP_ENDPOINT @brief Callback to process incoming Active Message sent by @ref ucp_am_send_nbx routine.
@ingroup UCP_COMM @brief Completion callback for non-blocking Active Message receives.
@ingroup UCP_WORKER @brief Operation parameters provided in @ref ucp_am_recv_callback_t callback.
@ingroup UCP_CONFIG @brief UCP configuration descriptor
@ingroup UCP_WORKER @brief UCP listener’s connection request attributes.
@ingroup UCP_ENDPOINT @brief UCP connection request
@ingroup UCP_CONTEXT @brief Context attributes.
@ingroup UCP_CONTEXT @brief UCP Application Context
@ingroup UCP_COMM @brief UCP Datatype Identifier
@ingroup UCP_DATATYPE @brief Structure for scatter-gather I/O.
@ingroup UCP_ENDPOINT @brief UCP endpoint attributes.
@ingroup UCP_ENDPOINT @brief UCP Endpoint
@ingroup UCP_ENDPOINT @brief Tuning parameters for the UCP endpoint.
@ingroup UCP_COMM @brief Callback to process peer failure.
@ingroup UCP_COMM @brief UCP endpoint error handling context.
@ingroup UCP_DATATYPE @brief UCP generic data type descriptor
@ingroup UCP_CONTEXT @brief Lib attributes.
@ingroup UCP_WORKER @brief A callback for accepting client/server connections on a listener @ref ucp_listener_h.
@ingroup UCP_WORKER @deprecated Replaced by @ref ucp_listener_conn_handler_t.
@ingroup UCP_WORKER @brief UCP listener attributes.
@ingroup UCP_WORKER @brief A callback for handling of incoming connection request @a conn_request from a client.
@ingroup UCP_WORKER @brief UCP callback to handle the connection request in a client-server connection establishment flow.
@ingroup UCP_WORKER @brief UCP listen handle.
@ingroup UCP_WORKER @brief Parameters for a UCP listener object.
@ingroup UCP_MEM @brief Tuning parameters for the UCP memory advice.
@ingroup UCP_MEM @brief Attributes of the @ref ucp_mem_h “UCP Memory handle”, filled by @ref ucp_mem_query function.
@ingroup UCP_MEM @brief UCP Memory handle
@ingroup UCP_MEM @brief Tuning parameters for the UCP memory mapping.
@ingroup UCP_CONFIG @brief Tuning parameters for UCP library.
@ingroup UCP_CONTEXT @brief Request cleanup callback.
@ingroup UCP_CONTEXT @brief Request initialization callback.
@ingroup UCP_MEM @brief UCP Remote memory handle
@ingroup UCP_COMM @brief Completion callback for non-blocking sends.
@ingroup UCP_COMM @brief Completion callback for non-blocking sends ucp_tag_send_nbx call.
@ingroup UCP_ENDPOINT @brief Output parameter of @ref ucp_stream_worker_poll function.
@ingroup UCP_COMM @brief Completion callback for non-blocking stream oriented receives.
@ingroup UCP_COMM @brief Completion callback for non-blocking stream receives ucp_stream_recv_nbx call.
@ingroup UCP_COMM @brief UCP Message descriptor.
@ingroup UCP_COMM @brief Completion callback for non-blocking tag receives.
@ingroup UCP_CONTEXT @brief UCP receive information descriptor
@ingroup UCP_COMM @brief Completion callback for non-blocking tag receives ucp_tag_recv_nbx call.
@ingroup UCP_COMM @brief UCP Tag Identifier
@ingroup UCP_WORKER @brief UCP worker address attributes.
@ingroup UCP_WORKER @brief UCP worker attributes.
@ingroup UCP_WORKER @brief UCP Worker
@ingroup UCP_WORKER @brief Tuning parameters for the UCP worker.
@ingroup UCS_RESOURCE
Callback which can be placed in a queue.
Callback queue element.
Callback queue element predicate.
A queue of callback to execute
ucs_event_set_handler call this handler for notifying event
Bit set composed using the available event types
A link in a circular list.
Logging component.
@ingroup UCS_RESOURCE BSD socket address specification.
@file stats_fwd.h
@ingroup UCS_RESOURCE @brief Status pointer
@ingroup UCS_RESOURCE System Device Index Obtained from a translation of the device bus id into a short integer Refer ucs_topo_find_device_by_bus_id()
ucs_sys_event_set_t structure used in ucs_event_set_XXX functions.
@ingroup UCS_RESOURCE
@ingroup UCT_MD @brief Describes a memory allocated by UCT.
@ingroup UCT_AM @brief Callback to process incoming active message
@ingroup UCT_AM @brief Callback to trace active messages.
@ingroup UCT_RESOURCE @brief Callback to process asynchronous events.
@ingroup UCT_CLIENT_SERVER @brief Connection manager attributes, capabilities and limitations.
@ingroup UCT_CLIENT_SERVER @brief Arguments to the client’s connect callback.
@ingroup UCT_CLIENT_SERVER @brief 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.
@ingroup UCT_CLIENT_SERVER @brief Arguments to the client-server private data pack callback.
@ingroup UCT_CLIENT_SERVER @brief Callback to fill the user’s private data in a client-server flow.
@ingroup UCT_CLIENT_SERVER @brief Arguments to the client-server resolved callback.
@ingroup UCT_CLIENT_SERVER @brief Callback to notify that the client side endpoint is bound to a local device.
@ingroup UCT_CLIENT_SERVER @brief Arguments to the server’s notify callback.
@ingroup UCT_CLIENT_SERVER @brief 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.
@ingroup UCT_CLIENT_SERVER @brief Arguments to the listener’s connection request callback.
@ingroup UCT_CLIENT_SERVER @brief Callback to process an incoming connection request on the server side listener in a connection manager.
@ingroup UCT_CLIENT_SERVER @brief Data received from the remote peer.
@ingroup UCT_RESOURCE @brief Callback to process send completion.
@ingroup UCT_RESOURCE @brief Completion handle.
@ingroup UCT_RESOURCE @brief UCT component attributes
@addtogroup UCT_RESOURCE @{
@ingroup UCT_CLIENT_SERVER @brief Parameters for connecting a UCT endpoint by @ref uct_ep_connect.
@ingroup UCT_CLIENT_SERVER @brief Callback to handle the disconnection of the remote peer.
@ingroup UCT_RESOURCE @brief Parameters for creating a UCT endpoint by @ref uct_ep_create
@file tl.h
Remote endpoint
@ingroup UCT_RESOURCE @brief Callback to process peer failure.
@ingroup UCT_RESOURCE @brief Interface attributes: capabilities and limitations.
Transport interface operations. Every operation exposed in the API must appear in the table below, to allow creating interface/endpoint with custom operations.
@ingroup UCT_RESOURCE @brief Parameters used for interface creation.
Communication interface context
@ingroup UCT_RESOURCE @brief Structure for scatter-gather I/O.
@ingroup UCT_CLIENT_SERVER @brief UCT listener attributes, capabilities and limitations.
@ingroup UCT_CLIENT_SERVER @brief Parameters for creating a listener object @ref uct_listener_h by @ref uct_listener_create
Listener for incoming connections
@ingroup UCT_MD @brief Memory domain attributes.
@ingroup UCT_MD @brief Memory domain attributes.
@ingroup UCT_RESOURCE @brief Memory domain resource descriptor.
@ingroup UCT_RESOURCE @brief Callback for producing data.
@ingroup UCT_RESOURCE @brief Callback to process pending requests.
@ingroup UCT_RESOURCE @brief Callback to purge pending requests.
@ingroup UCT_RESOURCE @brief Pending request.
Receive descriptor
@ingroup UCT_MD @brief Remote key with its type
@ingroup UCT_CLIENT_SERVER @brief Callback to process an incoming connection request on the server side.
@ingroup UCT_TAG @brief Posted tag context.
@ingroup UCT_TAG @brief Callback to process unexpected eager tagged message.
@ingroup UCT_TAG @brief Callback to process unexpected rendezvous tagged message.
@ingroup UCT_RESOURCE @brief Communication resource descriptor.
@ingroup UCT_RESOURCE @brief Callback for consuming data.
A progress engine and a domain for allocating communication resources. Different workers are progressed independently.
Unions
@brief Memory event parameters and result.
Callback function that is invoked whenever the send or receive operation is completed.
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.
Mode-specific parameters