12 #include <kvikio/error.hpp>
13 #include <kvikio/file_handle.hpp>
14 #include <kvikio/shim/cufile.hpp>
33 CUfileOpcode_t opcode;
36 #ifdef KVIKIO_CUFILE_BATCH_API_FOUND
53 bool _initialized{
false};
54 int _max_num_events{};
55 CUfileBatchHandle_t _handle{};
58 BatchHandle() noexcept = default;
65 BatchHandle(
int max_num_events);
70 BatchHandle(BatchHandle const&) = delete;
71 BatchHandle& operator=(BatchHandle const&) = delete;
72 BatchHandle(BatchHandle&& o) noexcept;
73 ~BatchHandle() noexcept;
75 [[nodiscard]]
bool closed() const noexcept;
80 void close() noexcept;
88 void submit(std::vector<BatchOp> const& operations);
102 struct timespec* timeout =
nullptr);
115 [[nodiscard]]
bool closed()
const noexcept;
117 void close() noexcept;
119 void submit(std::vector<BatchOp>
const& operations);
121 std::vector<CUfileIOEvents_t> status(
unsigned min_nr,
123 struct timespec* timeout =
nullptr);
Handle of an open file registered with cufile.
IO operation used when submitting batches.