34class QBRUNTIME_EXPORT ModelVariantHandle {
36 ModelVariantHandle(
const ModelVariantHandle& other) =
delete;
37 ModelVariantHandle(ModelVariantHandle&& other) =
delete;
38 ModelVariantHandle& operator=(
const ModelVariantHandle& rhs) =
delete;
39 ModelVariantHandle& operator=(ModelVariantHandle&& rhs)
noexcept =
delete;
40 ~ModelVariantHandle();
115 std::vector<Buffer> acquireInputBuffer(
116 const std::vector<std::vector<int>>& seqlens = {})
const;
117 std::vector<Buffer> acquireOutputBuffer(
118 const std::vector<std::vector<int>>& seqlens = {})
const;
119 std::vector<std::vector<Buffer>> acquireInputBuffers(
120 int batch_size,
const std::vector<std::vector<int>>& seqlens = {})
const;
121 std::vector<std::vector<Buffer>> acquireOutputBuffers(
122 int batch_size,
const std::vector<std::vector<int>>& seqlens = {})
const;
125 StatusCode releaseBuffer(std::vector<Buffer>& buffer)
const;
126 StatusCode releaseBuffers(std::vector<std::vector<Buffer>>& buffers)
const;
129 StatusCode repositionInputs(
const std::vector<float*>& input,
130 std::vector<Buffer>& input_buf,
131 const std::vector<std::vector<int>>& seqlens = {})
const;
132 StatusCode repositionOutputs(
const std::vector<Buffer>& output_buf,
133 std::vector<float*>& output,
134 const std::vector<std::vector<int>>& seqlens = {})
const;
135 StatusCode repositionOutputs(
const std::vector<Buffer>& output_buf,
136 std::vector<std::vector<float>>& output,
137 const std::vector<std::vector<int>>& seqlens = {})
const;
138 StatusCode repositionInputs(
const std::vector<uint8_t*>& input,
139 std::vector<Buffer>& input_buf,
140 const std::vector<std::vector<int>>& seqlens = {})
const;
143 StatusCode repositionInputs(
const std::vector<float*>& input,
144 std::vector<std::vector<Buffer>>& input_buf,
145 const std::vector<std::vector<int>>& seqlens = {})
const;
146 StatusCode repositionOutputs(
const std::vector<std::vector<Buffer>>& output_buf,
147 std::vector<float*>& output,
148 const std::vector<std::vector<int>>& seqlens = {})
const;
149 StatusCode repositionOutputs(
const std::vector<std::vector<Buffer>>& output_buf,
150 std::vector<std::vector<float>>& output,
151 const std::vector<std::vector<int>>& seqlens = {})
const;
152 StatusCode repositionInputs(
const std::vector<uint8_t*>& input,
153 std::vector<std::vector<Buffer>>& input_buf,
154 const std::vector<std::vector<int>>& seqlens = {})
const;
158 ModelVariantHandle(
int variant_idx,
const ModelImpl& model_impl);
161 const ModelImpl& mModelImpl;
163 friend class ModelImpl;