19#include "kernels/Utils.h"
31void copy(
const std::vector<const Tensor *> &src,
const std::vector<Tensor *> &dst)
33 for (
size_t i = 0;
i < src.size(); ++
i)
36 dst[
i]->resize(src[
i]->shape());
38 const int64_t num_elements = src[
i]->shape().large_num_elements();
42 if (num_elements < 0 ||
static_cast<uint64_t>(num_elements) >
SIZE_MAX / element_size)
44 throw std::runtime_error(
"Integer overflow in size calculation");
47 const int64_t total_size = num_elements * element_size;
52void copy(
const std::vector<Tensor *> &src,
const std::vector<Tensor *> &dst)
55 for (
const auto &t : src)
63 for (
auto tensor : tensors)
69While::While(std::vector<const Tensor *> inputs, std::vector<Tensor *> outputs,
71 :
Kernel(
std::
move(inputs),
std::
move(outputs)), _cond_graph(cond_graph), _body_graph(body_graph)
const std::vector< Tensor * > & getOutputTensors() const
const std::vector< const Tensor * > & getInputTensors() const
const std::vector< Tensor * > & getOutputTensors() const
const std::vector< Tensor * > & getInputTensors() const
void configure() override
void execute() const override
While(std::vector< const Tensor * > inputs, std::vector< Tensor * > outputs, RuntimeGraph *cond_graph, RuntimeGraph *body_graph)
#define LUCI_INTERPRETER_CHECK(cond)
size_t getDataTypeSize(DataType data_type)
T must_cast(loco::Node *node)