diff options
Diffstat (limited to 'runtime/onert/backend/cpu/BackendContext.h')
-rw-r--r-- | runtime/onert/backend/cpu/BackendContext.h | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/runtime/onert/backend/cpu/BackendContext.h b/runtime/onert/backend/cpu/BackendContext.h index e90b21054..69ab30c82 100644 --- a/runtime/onert/backend/cpu/BackendContext.h +++ b/runtime/onert/backend/cpu/BackendContext.h @@ -18,6 +18,8 @@ #define __ONERT_BACKEND_CPU_BACKEND_CONTEXT_H__ #include <backend/BackendContext.h> +#include "TensorBuilder.h" +#include "KernelGenerator.h" #include "ExternalContext.h" namespace onert @@ -30,22 +32,25 @@ namespace cpu class BackendContext : public onert::backend::BackendContext { public: - BackendContext(const Backend *backend, const ir::Graph *graph, + BackendContext(const Backend *backend, ContextData &&data, std::shared_ptr<ITensorRegistry> tensor_registry = nullptr, - std::shared_ptr<ITensorBuilder> tensor_builder = nullptr, - std::shared_ptr<IConstantInitializer> constant_initializer = nullptr, - std::shared_ptr<IKernelGenerator> kernel_gen = nullptr, - std::shared_ptr<ITensorRegister> tensor_register = nullptr, - std::shared_ptr<IOptimizer> optimizer = nullptr) - : onert::backend::BackendContext(backend, graph, tensor_registry, tensor_builder, - constant_initializer, kernel_gen, tensor_register, - optimizer), - _external_context(new ExternalContext) + std::shared_ptr<TensorBuilder> tensor_builder = nullptr, + std::shared_ptr<KernelGenerator> kernel_gen = nullptr) + : onert::backend::BackendContext(backend, std::move(data), tensor_registry), + tensor_builder{tensor_builder}, kernel_gen{kernel_gen}, _external_context(new ExternalContext) { } + ITensorRegistry *genTensors() override; + FunctionMap genKernels() override; + std::shared_ptr<ExternalContext> external_context() { return _external_context; } +public: + // TODO Make it private + std::shared_ptr<TensorBuilder> tensor_builder; + std::shared_ptr<KernelGenerator> kernel_gen; + private: // NOTE ruy context has a thread pool, and when multiple ruy contexts are created, // the thread pool is also created in duplicate |