34 const std::shared_ptr<TensorBuilder> &tensor_builder,
35 const std::shared_ptr<basic::TensorRegistry> &tensor_reg,
36 const std::shared_ptr<DevContext> &dev_context)
37 : basic::KernelGeneratorBase{graph}, _ctx(graph.operands()), _operations_ctx{graph.operations()},
38 _tensor_builder(tensor_builder), _tensor_reg{tensor_reg}, _dev_context{dev_context}
45 auto ret = std::make_unique<exec::FunctionSequence>();
46 ret->enableDynamicShapeInferer(
false);
58 std::vector<IPortableTensor *> output_tensors;
59 for (
const auto &ofm_idx : node.getOutputs())
60 output_tensors.emplace_back(_tensor_reg->getPortableTensor(ofm_idx));
62 std::vector<const IPortableTensor *> input_tensors;
63 for (
const auto &ifm_idx : node.getInputs())
64 input_tensors.emplace_back(_tensor_reg->getPortableTensor(ifm_idx));
69 auto fn = std::make_unique<ops::BulkLayer>();
71 fn->configure(input_tensors, output_tensors, binary_path, _dev_context);
std::unique_ptr< exec::IFunction > _return_fn
std::unique_ptr< exec::IFunction > releaseFunction()
KernelGenerator(const ir::Graph &graph, const std::shared_ptr< TensorBuilder > &tensor_builder, const std::shared_ptr< basic::TensorRegistry > &tensor_reg, const std::shared_ptr< DevContext > &dev_context)
std::unique_ptr< exec::FunctionSequence > generate(ir::OperationIndex op_ind) override
const Operations & operations() const override
const Param & param() const
const Object & at(const Index &index) const
Get the object that is associated with the given index.
This file contains utility macro.