23 #include <kvikio/error.hpp>
24 #include <kvikio/file_handle.hpp>
25 #include <kvikio/shim/cufile.hpp>
44 CUfileOpcode_t opcode;
47 #ifdef KVIKIO_CUFILE_BATCH_API_FOUND
64 bool _initialized{
false};
65 int _max_num_events{};
66 CUfileBatchHandle_t _handle{};
69 BatchHandle() noexcept = default;
76 BatchHandle(
int max_num_events);
81 BatchHandle(const BatchHandle&) = delete;
82 BatchHandle& operator=(BatchHandle const&) = delete;
83 BatchHandle(BatchHandle&& o) noexcept;
84 ~BatchHandle() noexcept;
86 [[nodiscard]]
bool closed() const noexcept;
91 void close() noexcept;
99 void submit(const std::vector<BatchOp>& operations);
113 struct timespec* timeout =
nullptr);
126 [[nodiscard]]
bool closed()
const noexcept;
128 void close() noexcept;
130 void submit(
const std::vector<BatchOp>& operations);
132 std::vector<CUfileIOEvents_t> status(
unsigned min_nr,
134 struct timespec* timeout =
nullptr);
Handle of an open file registered with cufile.
IO operation used when submitting batches.