Loading...
Searching...
No Matches
ucxx Namespace Reference

Classes

class  Address
 Component encapsulating the address of a UCP worker. More...
class  AddressBuilder
 Builder class for constructing std::shared_ptr<ucxx::Address> objects. More...
class  AlreadyExistsError
 The exception for UCS_ERR_ALREADY_EXISTS. More...
class  AmReceiverCallbackInfo
 Information of an Active Message receiver callback. More...
struct  AmReceiverCallbackOwnerHash
 Hash functor for AmReceiverCallbackOwnerType. More...
class  AmReceiverCallbackOwnerType
 Active Message receiver callback owner name (fixed-size). More...
struct  AmSendParams
 Parameters controlling Active Message send behavior. More...
class  BaseDelayedSubmissionCollection
 Base type for a collection of delayed submissions. More...
class  Buffer
 A simple object to simplify managing buffers. More...
struct  BufferRequest
 Container for data required by a ucxx::RequestTagMulti. More...
class  BufferTooSmallError
 The exception for UCS_ERR_BUFFER_TOO_SMALL. More...
class  BusyError
 The exception for UCS_ERR_BUSY. More...
class  CanceledError
 The exception for UCS_ERR_CANCELED. More...
class  Component
 A UCXX component class to prevent early destruction of parent object. More...
class  Config
 Component encapsulating the UCP configuration. More...
class  ConnectionResetError
 The exception for UCS_ERR_CONNECTION_RESET. More...
class  Context
 Component encapsulating the UCP context. More...
class  ContextBuilder
 Builder class for constructing std::shared_ptr<ucxx::Context> objects. More...
class  DelayedSubmissionCollection
 A collection of delayed submissions of multiple types. More...
class  Endpoint
 Component encapsulating a UCP endpoint. More...
class  EndpointBuilder
 Builder class for constructing std::shared_ptr<ucxx::Endpoint> objects. More...
class  EndpointTimeoutError
 The exception for UCS_ERR_ENDPOINT_TIMEOUT. More...
struct  EpParamsDeleter
 Deleter for a endpoint parameters object. More...
class  Error
 The base class for all UCX exceptions. More...
class  ExceedsLimitError
 The exception for UCS_ERR_EXCEEDS_LIMIT. More...
class  FirstEndpointFailureError
 The exception for UCS_ERR_FIRST_ENDPOINT_FAILURE. More...
class  FirstLinkFailureError
 The exception for UCS_ERR_FIRST_LINK_FAILURE. More...
class  Future
 Represent a future that may be notified by a specialized notifier. More...
class  GenericDelayedSubmissionCollection
 A collection of delayed submissions of generic callbacks. More...
class  Header
 A serializable object containing metadata of multiple buffers. More...
class  HostBuffer
 A simple object containing a host buffer. More...
class  InflightRequests
 Handle tracked requests. More...
class  InvalidAddrError
 The exception for UCS_ERR_INVALID_ADDR. More...
class  InvalidParamError
 The exception for UCS_ERR_INVALID_PARAM. More...
class  IOError
 The exception for UCS_ERR_IO_ERROR. More...
class  LastEndpointFailureError
 The exception for UCS_ERR_LAST_ENDPOINT_FAILURE. More...
class  LastLinkFailureError
 The exception for UCS_ERR_LAST_LINK_FAILURE. More...
class  Listener
 Component encapsulating a UCP listener. More...
class  ListenerBuilder
 Builder class for constructing std::shared_ptr<ucxx::Listener> objects. More...
class  MemoryHandle
 Component holding a UCP memory handle. More...
class  MemoryHandleBuilder
 Builder class for constructing std::shared_ptr<ucxx::MemoryHandle> objects. More...
class  MessageTruncatedError
 The exception for UCS_ERR_MESSAGE_TRUNCATED. More...
class  NoDeviceError
 The exception for UCS_ERR_NO_DEVICE. More...
class  NoElemError
 The exception for UCS_ERR_NO_ELEM. More...
class  NoMemoryError
 The exception for UCS_ERR_NO_MEMORY. More...
class  NoMessageError
 The exception for UCS_ERR_NO_MESSAGE. More...
class  NoProgressError
 The exception for UCS_ERR_NO_PROGRESS. More...
class  NoResourceError
 The exception for UCS_ERR_NO_RESOURCE. More...
class  NotConnectedError
 The exception for UCS_ERR_NOT_CONNECTED. More...
class  Notifier
 Notifier for status of futures. More...
class  NotImplementedError
 The exception for UCS_ERR_NOT_IMPLEMENTED. More...
class  OutOfRangeError
 The exception for UCS_ERR_OUT_OF_RANGE. More...
class  RejectedError
 The exception for UCS_ERR_REJECTED. More...
class  RemoteKey
 Component holding a UCP rkey (remote key). More...
class  RemoteKeyBuilder
 Builder class for constructing std::shared_ptr<ucxx::RemoteKey> objects. More...
class  Request
 Base type for a UCXX transfer request. More...
class  RequestAm
 Send or receive a message with the UCX Active Message API. More...
class  RequestAmBuilder
 Builder class for constructing std::shared_ptr<ucxx::RequestAm> objects. More...
class  RequestBuilderBase
 CRTP base for all request builders providing Python future support. More...
class  RequestCallbackBuilderBase
 CRTP base for request builders that support completion callbacks. More...
class  RequestDelayedSubmissionCollection
 A collection of delayed request submissions. More...
class  RequestEndpointClose
 Send or receive a message with the UCX Tag API. More...
class  RequestEndpointCloseBuilder
 Builder class for constructing std::shared_ptr<ucxx::RequestEndpointClose> objects. More...
class  RequestFlush
 Flush a UCP endpoint or worker. More...
class  RequestFlushBuilder
 Builder class for constructing std::shared_ptr<ucxx::RequestFlush> objects. More...
class  RequestMem
 Send or receive a message with the UCX RMA API. More...
class  RequestMemBuilder
 Builder class for constructing std::shared_ptr<ucxx::RequestMem> objects. More...
class  RequestStream
 Send or receive a message with the UCX Stream API. More...
class  RequestStreamBuilder
 Builder class for constructing std::shared_ptr<ucxx::RequestStream> objects. More...
class  RequestTag
 Send or receive a message with the UCX Tag API. More...
class  RequestTagBuilder
 Builder class for constructing std::shared_ptr<ucxx::RequestTag> objects. More...
class  RequestTagMulti
 Send or receive multiple messages with the UCX Tag API. More...
class  RequestTagMultiBuilder
 Builder class for constructing std::shared_ptr<ucxx::RequestTagMulti> objects. More...
class  ShmemSegmentError
 The exception for UCS_ERR_SHMEM_SEGMENT. More...
class  SomeConnectsFailedError
 The exception for UCS_ERR_SOME_CONNECTS_FAILED. More...
class  TagProbeInfo
 Information about probed tag message. More...
class  TagProbeInfoBuilder
 Builder class for constructing std::shared_ptr<ucxx::TagProbeInfo> objects. More...
class  TagRecvInfo
 Information about probed tag message. More...
class  TimedOutError
 The exception for UCS_ERR_TIMED_OUT. More...
struct  TrackedRequests
 Container for transferring tracked requests between InflightRequests instances. More...
class  UnreachableError
 The exception for UCS_ERR_UNREACHABLE. More...
class  UnsupportedError
 The exception for UCS_ERR_UNSUPPORTED. More...
class  Worker
 Component encapsulating a UCP worker. More...
class  WorkerBuilder
 Builder class for constructing std::shared_ptr<ucxx::Worker> objects. More...
class  WorkerProgressThread
 A thread to progress a ucxx::Worker. More...

Typedefs

typedef std::function< void()> DelayedSubmissionCallbackType
 A user-defined function to execute as part of delayed submission callback.
typedef uint64_t ItemIdType
 Type for identifying items in DelayedSubmissionCollection.
typedef size_t SerializedRemoteKeyHash
 Type for hashing serialized remote keys.
typedef std::shared_ptr< BufferRequest > BufferRequestPtr
 Pre-defined type for a pointer to an ucxx::BufferRequest.
typedef std::shared_ptr< RequestTagMulti > RequestTagMultiPtr
 Pre-defined type for a pointer to an ucxx::RequestTagMulti.
typedef std::unordered_map< std::string, std::string > ConfigMap
 A UCP configuration map.
typedef std::function< void(ucs_status_t, std::shared_ptr< void >)> RequestCallbackUserFunction
 A user-defined function to execute as part of a ucxx::Request callback.
typedef std::shared_ptr< void > RequestCallbackUserData
 Data for the user-defined function provided to the ucxx::Request callback.
typedef RequestCallbackUserFunction EndpointCloseCallbackUserFunction
 A user-defined function to execute after an endpoint closes.
typedef RequestCallbackUserData EndpointCloseCallbackUserData
 Data for the user-defined function provided to endpoint close callback.
typedef std::function< std::shared_ptr< Buffer >(size_t)> AmAllocatorType
 Custom Active Message allocator type.
typedef std::function< void(std::shared_ptr< Request >, ucp_ep_h)> AmReceiverCallbackType
 Active Message receiver callback.
typedef uint64_t AmReceiverCallbackIdType
 Active Message receiver callback identifier.
typedef const std::string SerializedRemoteKey
 Serialized form of a remote key.
typedef std::function< void(void)> SignalWorkerFunction
 A user-defined function used to wake the worker.
typedef std::function< void(void *)> ProgressThreadStartCallback
 A user-defined function to execute at the start of the progress thread.
typedef void * ProgressThreadStartCallbackArg
 Data for the user-defined function provided to progress thread start callback.

Enumerations

enum class  BufferType { Host = 0 , CCCL , Invalid }
 The type of a buffer. More...
enum class  RequestNotifierThreadState { NotRunning = 0 , Running , Stopping }
 The state of the notifier thread. More...
enum class  RequestNotifierWaitState { Ready = 0 , Timeout , Shutdown }
 The state with which a wait operation completed. More...
enum  ucxx_log_level_t {
  UCXX_LOG_LEVEL_FATAL , UCXX_LOG_LEVEL_ERROR , UCXX_LOG_LEVEL_WARN , UCXX_LOG_LEVEL_DIAG ,
  UCXX_LOG_LEVEL_INFO , UCXX_LOG_LEVEL_DEBUG , UCXX_LOG_LEVEL_TRACE , UCXX_LOG_LEVEL_TRACE_REQ ,
  UCXX_LOG_LEVEL_TRACE_DATA , UCXX_LOG_LEVEL_TRACE_ASYNC , UCXX_LOG_LEVEL_TRACE_FUNC , UCXX_LOG_LEVEL_TRACE_POLL ,
  UCXX_LOG_LEVEL_LAST , UCXX_LOG_LEVEL_PRINT
}
 Available logging levels. More...
enum class  TransferDirection { Send = 0 , Receive }
 The direction of a UCXX transfer. More...
enum  Tag : ucp_tag_t
 Strong type for a UCP tag. More...
enum  TagMask : ucp_tag_t
 Strong type for a UCP tag mask. More...
enum class  AmSendMemoryTypePolicy { FallbackToHost = 0 , ErrorOnUnsupported }
 Policy used to allocate receive buffers for Active Messages. More...

Functions

std::shared_ptr< Buffer > allocateBuffer (BufferType bufferType, const size_t size)
 Allocate a buffer of specified type and size.
ContextBuilder contextBuilder (uint64_t featureFlags)
 Create a ContextBuilder for constructing a shared_ptr<ucxx::Context>.
EndpointBuilder endpointBuilder (std::shared_ptr< Worker > worker, std::string ipAddress, uint16_t port)
 Create an EndpointBuilder from hostname and port.
EndpointBuilder endpointBuilder (std::shared_ptr< Listener > listener, ucp_conn_request_h connRequest)
 Create an EndpointBuilder from a connection request.
EndpointBuilder endpointBuilder (std::shared_ptr< Worker > worker, std::shared_ptr< Address > address)
 Create an EndpointBuilder from a worker address.
void parseLogLevel ()
 Parse the active log level.
RequestAmBuilder requestAmBuilder (std::shared_ptr< Endpoint > endpoint, std::variant< data::AmSend, data::AmReceive > requestData)
 Create a RequestAmBuilder for constructing a shared_ptr<ucxx::RequestAm>.
RequestEndpointCloseBuilder requestEndpointCloseBuilder (std::shared_ptr< Endpoint > endpoint, data::EndpointClose requestData)
 Create a RequestEndpointCloseBuilder for constructing a shared_ptr<ucxx::RequestEndpointClose>.
RequestFlushBuilder requestFlushBuilder (std::shared_ptr< Component > endpointOrWorker, data::Flush requestData)
 Create a RequestFlushBuilder for constructing a shared_ptr<ucxx::RequestFlush>.
void waitSingleRequest (std::shared_ptr< Worker > worker, std::shared_ptr< Request > request)
 Wait for a single request to complete.
void waitRequests (std::shared_ptr< Worker > worker, std::vector< std::shared_ptr< Request > > requests)
 Wait for a multiple requests to complete.
RequestMemBuilder requestMemBuilder (std::shared_ptr< Endpoint > endpoint, std::variant< data::MemPut, data::MemGet > requestData)
 Create a RequestMemBuilder for constructing a shared_ptr<ucxx::RequestMem>.
RequestStreamBuilder requestStreamBuilder (std::shared_ptr< Endpoint > endpoint, std::variant< data::StreamSend, data::StreamReceive > requestData)
 Create a RequestStreamBuilder for constructing a shared_ptr<ucxx::RequestStream>.
RequestTagBuilder requestTagBuilder (std::shared_ptr< Component > endpointOrWorker, std::variant< data::TagSend, data::TagReceive, data::TagReceiveWithHandle > requestData)
 Create a RequestTagBuilder for constructing a shared_ptr<ucxx::RequestTag>.
RequestTagMultiBuilder requestTagMultiBuilder (std::shared_ptr< Endpoint > endpoint, std::variant< data::TagMultiSend, data::TagMultiReceive > requestData)
 Create a RequestTagMultiBuilder for constructing a shared_ptr<ucxx::RequestTagMulti>.
WorkerBuilder workerBuilder (std::shared_ptr< Context > context)
 Create a WorkerBuilder for constructing a shared_ptr<ucxx::Worker>.

Variables

const size_t HeaderFramesSize
 The number of buffers contained in a single ucxx::Header object.
ucs_log_component_config_t ucxx_log_component_config
 The UCXX log level component configuration.
const std::unordered_map< std::string, ucxx_log_level_t > logLevelNames
 Map of log level names to their respective types.
const char logLevelNameDefault [] = "WARN"
 The name of the default log level.
const ucs_log_level_t logLevelDefault = (ucs_log_level_t)logLevelNames.at(logLevelNameDefault)
 The type of the default log level.

Detailed Description

SPDX-FileCopyrightText: Copyright (c) 2022-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-3-Clause

SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. SPDX-License-Identifier: BSD-3-Clause

SPDX-FileCopyrightText: Copyright (c) 2022-2026, NVIDIA CORPORATION & AFFILIATES. SPDX-License-Identifier: BSD-3-Clause

SPDX-FileCopyrightText: Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. SPDX-License-Identifier: BSD-3-Clause

SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. SPDX-License-Identifier: BSD-3-Clause

SPDX-FileCopyrightText: Copyright (c) 2022-2025, NVIDIA CORPORATION & AFFILIATES. SPDX-License-Identifier: BSD-3-Clause

SPDX-FileCopyrightText: Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. SPDX-License-Identifier: BSD-3-Clause

SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-3-Clause

SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-3-Clause

SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION & AFFILIATES. SPDX-License-Identifier: BSD-3-Clause

SPDX-FileCopyrightText: Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. SPDX-License-Identifier: BSD-3-Clause

SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-3-Clause

Typedef Documentation

◆ AmAllocatorType

typedef std::function<std::shared_ptr<Buffer>(size_t)> ucxx::AmAllocatorType

Custom Active Message allocator type.

Type for a custom Active Message allocator that can be registered by a user so that the Active Message receiver can allocate a buffer of such type upon receiving message.

◆ AmReceiverCallbackIdType

Active Message receiver callback identifier.

A 64-bit unsigned integer unique identifier type of an Active Message receiver callback.

◆ AmReceiverCallbackType

typedef std::function<void(std::shared_ptr<Request>, ucp_ep_h)> ucxx::AmReceiverCallbackType

Active Message receiver callback.

Type for a custom Active Message receiver callback, executed by the remote worker upon Active Message request completion. The first parameter is the request that completed, the second is the handle of the UCX endpoint of the sender.

◆ BufferRequestPtr

typedef std::shared_ptr<BufferRequest> ucxx::BufferRequestPtr

Pre-defined type for a pointer to an ucxx::BufferRequest.

A pre-defined type for a pointer to a ucxx::BufferRequest, used as a convenience type.

◆ ConfigMap

typedef std::unordered_map<std::string, std::string> ucxx::ConfigMap

A UCP configuration map.

A UCP configuration map, with keys being the configuration name and value being the actual value set.

◆ DelayedSubmissionCallbackType

typedef std::function<void()> ucxx::DelayedSubmissionCallbackType

A user-defined function to execute as part of delayed submission callback.

A user-defined function to execute in the scope of a ucxx::DelayedSubmission, allowing execution of custom code upon the completion of the delayed submission.

◆ EndpointCloseCallbackUserData

Data for the user-defined function provided to endpoint close callback.

Data passed to the user-defined function provided to the endpoint close callback, which the custom user-defined function may act upon.

◆ EndpointCloseCallbackUserFunction

A user-defined function to execute after an endpoint closes.

A user-defined function to execute after an endpoint closes, allowing execution of custom code after such event.

◆ ItemIdType

typedef uint64_t ucxx::ItemIdType

Type for identifying items in DelayedSubmissionCollection.

A 64-bit unsigned integer used to uniquely identify items in DelayedSubmissionCollection, allowing for tracking and cancellation of specific items.

◆ ProgressThreadStartCallback

typedef std::function<void(void*)> ucxx::ProgressThreadStartCallback

A user-defined function to execute at the start of the progress thread.

A user-defined function to execute at the start of the progress thread, used for example to ensure resources are properly set for the thread, such as a CUDA context.

◆ ProgressThreadStartCallbackArg

Data for the user-defined function provided to progress thread start callback.

Data passed to the user-defined function provided to the callback executed when the progress thread starts, which the custom user-defined function may act upon.

◆ RequestCallbackUserData

typedef std::shared_ptr<void> ucxx::RequestCallbackUserData

Data for the user-defined function provided to the ucxx::Request callback.

Data passed to the user-defined function provided to the ucxx::Request callback, which the custom user-defined function may act upon.

◆ RequestCallbackUserFunction

typedef std::function<void(ucs_status_t, std::shared_ptr<void>)> ucxx::RequestCallbackUserFunction

A user-defined function to execute as part of a ucxx::Request callback.

A user-defined function to execute as part of a ucxx::Request callback, allowing execution of custom code upon request completion.

◆ RequestTagMultiPtr

typedef std::shared_ptr<RequestTagMulti> ucxx::RequestTagMultiPtr

Pre-defined type for a pointer to an ucxx::RequestTagMulti.

A pre-defined type for a pointer to a ucxx::RequestTagMulti, used as a convenience type.

◆ SerializedRemoteKey

typedef const std::string ucxx::SerializedRemoteKey

Serialized form of a remote key.

A string type representing the serialized form of a remote key, used for transmission and storage of remote memory access information.

◆ SerializedRemoteKeyHash

Type for hashing serialized remote keys.

A size_t type used to store hash values of serialized remote keys, enabling efficient comparison and lookup of remote key objects.

◆ SignalWorkerFunction

typedef std::function<void(void)> ucxx::SignalWorkerFunction

A user-defined function used to wake the worker.

A user-defined function signaling worker to wake the progress event.

Enumeration Type Documentation

◆ AmSendMemoryTypePolicy

enum class ucxx::AmSendMemoryTypePolicy
strong

Policy used to allocate receive buffers for Active Messages.

Active Message receive allocations can be strict (error if no allocator is registered for sender-provided memory type) or permissive (fallback to host allocation).

Enumerator
FallbackToHost 

If no allocator exists for memory type, fallback to host memory.

ErrorOnUnsupported 

If no allocator exists for memory type, fail with unsupported error.

◆ BufferType

enum class ucxx::BufferType
strong

The type of a buffer.

The type of a buffer that can be used to match among the different supported types.

◆ RequestNotifierThreadState

The state of the notifier thread.

The current state of the notifier thread.

◆ RequestNotifierWaitState

enum class ucxx::RequestNotifierWaitState
strong

The state with which a wait operation completed.

The state with which a blocking call to wait for the request notifier completed.

◆ Tag

enum ucxx::Tag : ucp_tag_t

Strong type for a UCP tag.

Strong type for a UCP tag, preventing accidental mixing with wrong types, especially useful to prevent passing an argument in wrong order.

◆ TagMask

enum ucxx::TagMask : ucp_tag_t

Strong type for a UCP tag mask.

Strong type for a UCP tag mask, preventing accidental mixing with wrong types, especially useful to prevent passing an argument in wrong order.

◆ TransferDirection

enum class ucxx::TransferDirection
strong

The direction of a UCXX transfer.

The direction of a UCXX transfer, can be either Send or Receive.

◆ ucxx_log_level_t

Available logging levels.

Available logging levels that are used to enable specific log types based on user's configuration and also to define appropriate functions to be used in UCXX code to log only when the appropriate level is enabled.

Function Documentation

◆ allocateBuffer()

std::shared_ptr< Buffer > ucxx::allocateBuffer ( BufferType bufferType,
const size_t size )
nodiscard

Allocate a buffer of specified type and size.

Allocate a buffer of the specified type and size pair, returning the ucxx::Buffer object wrapped in a std::shared_ptr.

Parameters
[in]bufferTypethe type of buffer to allocate.
[in]sizethe size (in bytes) of the buffer to allocate.
Returns
the std::shared_ptr to the allocated buffer.

◆ contextBuilder()

ContextBuilder ucxx::contextBuilder ( uint64_t featureFlags)
inlinenodiscard

Create a ContextBuilder for constructing a shared_ptr<ucxx::Context>.

This function returns a builder object that allows setting optional context parameters via method chaining. The feature flags are required and must be provided as an argument. The actual context is constructed when the builder is converted to a shared_ptr<Context> or when build() is called.

// Minimal usage (only featureFlags required)
auto context = ucxx::contextBuilder(UCP_FEATURE_TAG | UCP_FEATURE_WAKEUP).build();
// With optional configMap
auto context = ucxx::contextBuilder(UCP_FEATURE_TAG)
.configMap({{"TLS", "tcp"}})
.build();
// Using implicit conversion
std::shared_ptr<ucxx::Context> context = ucxx::contextBuilder(UCP_FEATURE_RMA);
std::shared_ptr< Context > build()
Build and return the Context.
ContextBuilder & configMap(ConfigMap configMap)
Set the configuration map for the context.
ContextBuilder contextBuilder(uint64_t featureFlags)
Create a ContextBuilder for constructing a shared_ptr<ucxx::Context>.
Definition context_builder.h:123
Parameters
[in]featureFlagsfeature flags to be used at UCP context construction time (required).
Returns
A ContextBuilder object that can be used to set optional parameters.

◆ endpointBuilder() [1/3]

EndpointBuilder ucxx::endpointBuilder ( std::shared_ptr< Listener > listener,
ucp_conn_request_h connRequest )
inlinenodiscard

Create an EndpointBuilder from a connection request.

Parameters
[in]listenerlistener from which to create the endpoint.
[in]connRequestconnection request delivered by a listener callback.
Returns
An EndpointBuilder object.

◆ endpointBuilder() [2/3]

EndpointBuilder ucxx::endpointBuilder ( std::shared_ptr< Worker > worker,
std::shared_ptr< Address > address )
inlinenodiscard

Create an EndpointBuilder from a worker address.

Parameters
[in]workerparent worker from which to create the endpoint.
[in]addressaddress of the remote UCX worker.
Returns
An EndpointBuilder object.

◆ endpointBuilder() [3/3]

EndpointBuilder ucxx::endpointBuilder ( std::shared_ptr< Worker > worker,
std::string ipAddress,
uint16_t port )
inlinenodiscard

Create an EndpointBuilder from hostname and port.

Parameters
[in]workerparent worker from which to create the endpoint.
[in]ipAddresshostname or IP address the listener is bound to.
[in]portport the listener is bound to.
Returns
An EndpointBuilder object.

◆ parseLogLevel()

void ucxx::parseLogLevel ( )

Parse the active log level.

Parse the active log level and set appropriate internal values to match the specified level.

◆ requestAmBuilder()

RequestAmBuilder ucxx::requestAmBuilder ( std::shared_ptr< Endpoint > endpoint,
std::variant< data::AmSend, data::AmReceive > requestData )
inlinenodiscard

Create a RequestAmBuilder for constructing a shared_ptr<ucxx::RequestAm>.

Parameters
[in]endpointthe parent endpoint (required).
[in]requestDatacontainer of the specified message type (required).
Returns
A RequestAmBuilder object that can be used to set optional parameters.

◆ requestEndpointCloseBuilder()

RequestEndpointCloseBuilder ucxx::requestEndpointCloseBuilder ( std::shared_ptr< Endpoint > endpoint,
data::EndpointClose requestData )
inlinenodiscard

Create a RequestEndpointCloseBuilder for constructing a shared_ptr<ucxx::RequestEndpointClose>.

Parameters
[in]endpointthe parent endpoint (required).
[in]requestDatacontainer of the endpoint close request data (required).
Returns
A RequestEndpointCloseBuilder object that can be used to set optional parameters.

◆ requestFlushBuilder()

RequestFlushBuilder ucxx::requestFlushBuilder ( std::shared_ptr< Component > endpointOrWorker,
data::Flush requestData )
inlinenodiscard

Create a RequestFlushBuilder for constructing a shared_ptr<ucxx::RequestFlush>.

Parameters
[in]endpointOrWorkerthe parent component (required).
[in]requestDatacontainer of the flush request data (required).
Returns
A RequestFlushBuilder object that can be used to set optional parameters.

◆ requestMemBuilder()

RequestMemBuilder ucxx::requestMemBuilder ( std::shared_ptr< Endpoint > endpoint,
std::variant< data::MemPut, data::MemGet > requestData )
inlinenodiscard

Create a RequestMemBuilder for constructing a shared_ptr<ucxx::RequestMem>.

Parameters
[in]endpointthe parent endpoint (required).
[in]requestDatacontainer of the specified message type (required).
Returns
A RequestMemBuilder object that can be used to set optional parameters.

◆ requestStreamBuilder()

RequestStreamBuilder ucxx::requestStreamBuilder ( std::shared_ptr< Endpoint > endpoint,
std::variant< data::StreamSend, data::StreamReceive > requestData )
inlinenodiscard

Create a RequestStreamBuilder for constructing a shared_ptr<ucxx::RequestStream>.

Parameters
[in]endpointthe parent endpoint (required).
[in]requestDatacontainer of the specified message type (required).
Returns
A RequestStreamBuilder object that can be used to set optional parameters.

◆ requestTagBuilder()

RequestTagBuilder ucxx::requestTagBuilder ( std::shared_ptr< Component > endpointOrWorker,
std::variant< data::TagSend, data::TagReceive, data::TagReceiveWithHandle > requestData )
inlinenodiscard

Create a RequestTagBuilder for constructing a shared_ptr<ucxx::RequestTag>.

Parameters
[in]endpointOrWorkerthe parent component (required).
[in]requestDatacontainer of the specified message type (required).
Returns
A RequestTagBuilder object that can be used to set optional parameters.

◆ requestTagMultiBuilder()

RequestTagMultiBuilder ucxx::requestTagMultiBuilder ( std::shared_ptr< Endpoint > endpoint,
std::variant< data::TagMultiSend, data::TagMultiReceive > requestData )
inlinenodiscard

Create a RequestTagMultiBuilder for constructing a shared_ptr<ucxx::RequestTagMulti>.

Parameters
[in]endpointthe parent endpoint (required).
[in]requestDatacontainer of the specified message type (required).
Returns
A RequestTagMultiBuilder object that can be used to set optional parameters.

◆ waitRequests()

void ucxx::waitRequests ( std::shared_ptr< Worker > worker,
std::vector< std::shared_ptr< Request > > requests )

Wait for a multiple requests to complete.

Block while waiting for all requests to complete.

Exceptions
ucxx::Errorthe specific error of the first request that failed.
Parameters
[in]workerthe worker to progress until completion.
[in]requeststhe requests to wait for.

◆ waitSingleRequest()

void ucxx::waitSingleRequest ( std::shared_ptr< Worker > worker,
std::shared_ptr< Request > request )

Wait for a single request to complete.

Block while waiting for a single request to complete.

Exceptions
ucxx::Errora specific error if the request failed.
Parameters
[in]workerthe worker to progress until completion.
[in]requestthe request to wait for.

◆ workerBuilder()

WorkerBuilder ucxx::workerBuilder ( std::shared_ptr< Context > context)
inlinenodiscard

Create a WorkerBuilder for constructing a shared_ptr<ucxx::Worker>.

This function returns a builder object that allows setting optional worker parameters via method chaining. The context is required and must be provided as an argument. The actual worker is constructed when the builder is converted to a shared_ptr<Worker> or when build() is called.

auto worker = ucxx::workerBuilder(context)
.build();
// Minimal usage (only context required)
auto worker = ucxx::workerBuilder(context).build();
// With optional enableDelayedSubmission
auto worker = ucxx::workerBuilder(context)
.build();
// Using implicit conversion
std::shared_ptr<ucxx::Worker> worker = ucxx::workerBuilder(context);
std::shared_ptr< Worker > build()
Build and return the Worker.
WorkerBuilder & delayedSubmission(bool enable=true)
Configure delayed submission to the progress thread.
WorkerBuilder workerBuilder(std::shared_ptr< Context > context)
Create a WorkerBuilder for constructing a shared_ptr<ucxx::Worker>.
Definition worker_builder.h:158
Parameters
[in]contextcontext from which the worker will be created (required).
Returns
A WorkerBuilder object that can be used to set optional parameters.

Variable Documentation

◆ HeaderFramesSize

const size_t ucxx::HeaderFramesSize
Initial value:
=
100

The number of buffers contained in a single ucxx::Header object.

◆ logLevelDefault

const ucs_log_level_t ucxx::logLevelDefault = (ucs_log_level_t)logLevelNames.at(logLevelNameDefault)

The type of the default log level.

The type of default log level, automatically set based on the value of logLevelNameDefault.

◆ logLevelNameDefault

const char ucxx::logLevelNameDefault[] = "WARN"

The name of the default log level.

The name of default log level, must be one of the keys in logLevelNames.

◆ logLevelNames

const std::unordered_map<std::string, ucxx_log_level_t> ucxx::logLevelNames
Initial value:
= {
{"FATAL", UCXX_LOG_LEVEL_FATAL},
{"ERROR", UCXX_LOG_LEVEL_ERROR},
{"WARN", UCXX_LOG_LEVEL_WARN},
{"DIAG", UCXX_LOG_LEVEL_DIAG},
{"INFO", UCXX_LOG_LEVEL_INFO},
{"DEBUG", UCXX_LOG_LEVEL_DEBUG},
{"TRACE", UCXX_LOG_LEVEL_TRACE},
{"REQ", UCXX_LOG_LEVEL_TRACE_REQ},
{"DATA", UCXX_LOG_LEVEL_TRACE_DATA},
{"ASYNC", UCXX_LOG_LEVEL_TRACE_ASYNC},
{"FUNC", UCXX_LOG_LEVEL_TRACE_FUNC},
{"POLL", UCXX_LOG_LEVEL_TRACE_POLL},
{"", UCXX_LOG_LEVEL_LAST},
{"PRINT", UCXX_LOG_LEVEL_PRINT}}

Map of log level names to their respective types.

Map of log level names, used by the user to specify levels to enable, to their respective internal types.

◆ ucxx_log_component_config

ucs_log_component_config_t ucxx::ucxx_log_component_config
extern

The UCXX log level component configuration.

The type with the UCXX log level component configuration.