Home
libucxx
libucxx
ucxx
nightly (0.53)
nightly (0.53)
stable (0.52)
legacy (0.51)
Toggle main menu visibility
Loading...
Searching...
No Matches
include
ucxx
worker_builder.h
1
5
#pragma once
6
7
#include <memory>
8
#include <utility>
9
10
#include <ucxx/buffer.h>
11
12
namespace
ucxx
{
13
14
// Forward declarations
15
class
Context
;
16
class
Worker
;
17
45
class
WorkerBuilder
final {
46
public
:
52
explicit
WorkerBuilder
(std::shared_ptr<Context> context);
53
57
~WorkerBuilder
();
58
60
WorkerBuilder
(
const
WorkerBuilder
& other);
62
WorkerBuilder
&
operator=
(
const
WorkerBuilder
& other);
64
WorkerBuilder
(
WorkerBuilder
&&) noexcept;
66
WorkerBuilder
& operator=(
WorkerBuilder
&&) noexcept;
67
76
operator std::shared_ptr<
Worker
>();
77
84
WorkerBuilder
&
delayedSubmission
(
bool
enable = true);
85
92
WorkerBuilder
&
pythonFuture
(
bool
enable = true);
93
105
WorkerBuilder
&
requestAttributes
(
bool
enable = true);
106
113
WorkerBuilder
&
cudaBufferType
(
BufferType
bufferType);
114
123
[[nodiscard]] std::shared_ptr<
Worker
>
build
();
124
125
private:
126
struct Impl;
127
std::unique_ptr<Impl> _impl;
128
};
129
158
[[nodiscard]] inline
WorkerBuilder
workerBuilder
(std::shared_ptr<
Context
> context)
159
{
160
return
WorkerBuilder
(std::move(context));
161
}
162
163
}
// namespace ucxx
ucxx::Context
Component encapsulating the UCP context.
Definition
context.h:35
ucxx::WorkerBuilder
Builder class for constructing std::shared_ptr<ucxx::Worker> objects.
Definition
worker_builder.h:45
ucxx::WorkerBuilder::WorkerBuilder
WorkerBuilder(const WorkerBuilder &other)
Copy constructor (deep-copies internal state).
ucxx::WorkerBuilder::build
std::shared_ptr< Worker > build()
Build and return the Worker.
ucxx::WorkerBuilder::~WorkerBuilder
~WorkerBuilder()
WorkerBuilder destructor.
ucxx::WorkerBuilder::WorkerBuilder
WorkerBuilder(std::shared_ptr< Context > context)
Constructor for WorkerBuilder with required context.
ucxx::WorkerBuilder::WorkerBuilder
WorkerBuilder(WorkerBuilder &&) noexcept
Move constructor.
ucxx::WorkerBuilder::operator=
WorkerBuilder & operator=(const WorkerBuilder &other)
Copy assignment operator (deep-copies internal state).
ucxx::WorkerBuilder::pythonFuture
WorkerBuilder & pythonFuture(bool enable=true)
Configure Python future support.
ucxx::WorkerBuilder::cudaBufferType
WorkerBuilder & cudaBufferType(BufferType bufferType)
Configure the preferred buffer type for CUDA allocations.
ucxx::WorkerBuilder::requestAttributes
WorkerBuilder & requestAttributes(bool enable=true)
Configure request attributes querying.
ucxx::WorkerBuilder::delayedSubmission
WorkerBuilder & delayedSubmission(bool enable=true)
Configure delayed submission to the progress thread.
ucxx::Worker
Component encapsulating a UCP worker.
Definition
worker.h:62
ucxx
Definition
address.h:16
ucxx::workerBuilder
WorkerBuilder workerBuilder(std::shared_ptr< Context > context)
Create a WorkerBuilder for constructing a shared_ptr<ucxx::Worker>.
Definition
worker_builder.h:158
ucxx::BufferType
BufferType
The type of a buffer.
Definition
buffer.h:17
Generated by
1.18.0