#include "backend/acl_cl/Config.h"
#include "backend/acl_cl/TensorBuilder.h"
-#include "backend/acl_cl/InitializerGenerator.h"
#include "backend/acl_cl/StageGenerator.h"
#include "backend/cpu/Config.h"
#include "backend/cpu/TensorBuilder.h"
-#include "backend/cpu/InitializerGenerator.h"
#include "backend/cpu/StageGenerator.h"
namespace neurun
{
Backend::Backend(const std::shared_ptr<neurun::backend::IConfig> &backend_config,
- const std::shared_ptr<neurun::backend::IInitializerGenerator> &initializer_gen,
const std::shared_ptr<neurun::backend::IStageGenerator> &stage_gen)
- : _config(backend_config), _initializer_gen(initializer_gen), _stage_gen(stage_gen)
+ : _config(backend_config), _stage_gen(stage_gen)
{
backend_config->initialize();
}
const std::shared_ptr<neurun::backend::IConfig> Backend::config() const { return _config; }
-const std::shared_ptr<neurun::backend::IInitializerGenerator> Backend::initializer_gen() const
-{
- return _initializer_gen;
-}
-
const std::shared_ptr<neurun::backend::IStageGenerator> Backend::stage_gen() const
{
return _stage_gen;
using namespace ::neurun::backend::acl_cl;
auto config = std::make_shared<Config>();
auto tensor_builder = std::make_shared<TensorBuilder>();
- auto initializer_gen = std::make_shared<InitializerGenerator>(operands);
auto stage_gen = std::make_shared<StageGenerator>(operands, tensor_builder);
- _gen_map[config->id()] = {config, initializer_gen, stage_gen};
+ _gen_map[config->id()] = {config, stage_gen};
}
// Add CPU backend
using namespace ::neurun::backend::cpu;
auto config = std::make_shared<Config>();
auto tensor_builder = std::make_shared<TensorBuilder>();
- auto initializer_gen = std::make_shared<InitializerGenerator>(operands);
auto stage_gen = std::make_shared<StageGenerator>(operands, tensor_builder);
- _gen_map[config->id()] = {config, initializer_gen, stage_gen};
+ _gen_map[config->id()] = {config, stage_gen};
}
}
{
struct IConfig;
-struct IInitializerGenerator;
struct IStageGenerator;
struct ITensorBuilder;
{
public:
Backend(const std::shared_ptr<neurun::backend::IConfig> &backend_config,
- const std::shared_ptr<neurun::backend::IInitializerGenerator> &initializer_gen,
const std::shared_ptr<neurun::backend::IStageGenerator> &stage_gen);
- Backend(void) : _config(nullptr), _initializer_gen(nullptr), _stage_gen(nullptr)
+ Backend(void) : _config(nullptr), _stage_gen(nullptr)
{
// DO NOTHING
}
public:
const std::shared_ptr<neurun::backend::IConfig> config() const;
- const std::shared_ptr<neurun::backend::IInitializerGenerator> initializer_gen() const;
const std::shared_ptr<neurun::backend::IStageGenerator> stage_gen() const;
const std::shared_ptr<neurun::backend::ITensorBuilder> tensor_builder() const;
private:
std::shared_ptr<neurun::backend::IConfig> _config;
- std::shared_ptr<neurun::backend::IInitializerGenerator> _initializer_gen;
std::shared_ptr<neurun::backend::IStageGenerator> _stage_gen;
};
// backend
auto backend = node.lower_info()->backend();
- // Generate Initializers
- auto init_gen = backend->initializer_gen();
- _builder.addInitializer(init_gen->generate(node));
-
// Generate Stage
auto stage_gen = backend->stage_gen();
_builder.addStage(stage_gen->generate(node));
// backend
auto backend = node.lower_info()->backend();
- // Generate Initializers
- auto init_gen = backend->initializer_gen();
- _builder.addInitializer(init_gen->generate(node));
-
// Generate Stage
auto stage_gen = backend->stage_gen();
_builder.addStage(stage_gen->generate(node));
// backend
auto backend = node.lower_info()->backend();
- // Generate Initializers
- auto init_gen = backend->initializer_gen();
- _builder.addInitializer(init_gen->generate(node));
-
// Generate Stage
auto stage_gen = backend->stage_gen();
_builder.addStage(stage_gen->generate(node));
// backend
auto backend = node.lower_info()->backend();
- // Generate Initializers
- auto init_gen = backend->initializer_gen();
- _builder.addInitializer(init_gen->generate(node));
-
// Generate Stage
auto stage_gen = backend->stage_gen();
_builder.addStage(stage_gen->generate(node));
// backend
auto backend = node.lower_info()->backend();
- // Generate Initializers
- auto init_gen = backend->initializer_gen();
- _builder.addInitializer(init_gen->generate(node));
-
// Generate Stage
auto stage_gen = backend->stage_gen();
_builder.addStage(stage_gen->generate(node));
// backend
auto backend = node.lower_info()->backend();
- // Generate Initializers
- auto init_gen = backend->initializer_gen();
- _builder.addInitializer(init_gen->generate(node));
-
// Generate Stage
auto stage_gen = backend->stage_gen();
_builder.addStage(stage_gen->generate(node));
// backend
auto backend = node.lower_info()->backend();
- // Generate Initializers
- auto init_gen = backend->initializer_gen();
- _builder.addInitializer(init_gen->generate(node));
-
// Generate Stage
auto stage_gen = backend->stage_gen();
_builder.addStage(stage_gen->generate(node));
// backend
auto backend = node.lower_info()->backend();
- // Generate Initializers
- auto init_gen = backend->initializer_gen();
- _builder.addInitializer(init_gen->generate(node));
-
// Generate Stage
auto stage_gen = backend->stage_gen();
_builder.addStage(stage_gen->generate(node));
// backend
auto backend = node.lower_info()->backend();
- // Generate Initializers
- auto init_gen = backend->initializer_gen();
- _builder.addInitializer(init_gen->generate(node));
-
// Generate Stage
auto stage_gen = backend->stage_gen();
_builder.addStage(stage_gen->generate(node));
// backend
auto backend = node.lower_info()->backend();
- // Generate Initializers
- auto init_gen = backend->initializer_gen();
- _builder.addInitializer(init_gen->generate(node));
-
// Generate Stage
auto stage_gen = backend->stage_gen();
_builder.addStage(stage_gen->generate(node));