23.08
|
Go to the documentation of this file.
54 static detail::BackendRegistrar<NEDeviceBackend> NEDeviceBackend_registrar(
Target::NEON);
124 return std::make_unique<NETensorHandle>(
info);
129 if(parent ==
nullptr)
134 return std::make_unique<NESubTensorHandle>(parent,
shape, coords, extend_parent);
156 std::shared_ptr<ILifetimeManager> lifetime_mgr =
nullptr;
159 lifetime_mgr = std::make_shared<BlobLifetimeManager>();
163 lifetime_mgr = std::make_shared<OffsetLifetimeManager>();
165 auto pool_mgr = std::make_shared<PoolManager>();
166 auto mm = std::make_shared<MemoryManagerOnDemand>(lifetime_mgr, pool_mgr);
173 auto weights_mgr = std::make_shared<IWeightsManager>();
MemoryManagerContext * memory_management_ctx(Target target)
Gets a memory manager context for a given target.
@ Offset
Affinity at offset level.
Contains structs required for weights management.
int num_threads
Number of threads to use (thread capable backends), if 0 the backend will auto-initialize,...
const GraphConfig & config() const
Graph configuration accessor.
void setup_backend_context(GraphContext &ctx) override
Setups the given graph context.
void release_backend_context(GraphContext &ctx) override
Release the backend specific resources associated to a given graph context.
void initialize_backend() override
Initializes the backend.
@ Buffer
Affinity at buffer level.
@ NEON
Arm® Neon™ capable target device.
std::shared_ptr< arm_compute::IMemoryManager > create_memory_manager(MemoryManagerAffinity affinity) override
Create a backend memory manager given its affinity.
virtual void set_num_threads(unsigned int num_threads)=0
Sets the number of threads the scheduler will use to run the kernels.
void sync() override
Synchronize kernels execution on the backend.
std::shared_ptr< arm_compute::IMemoryGroup > cross_group
Cross-function memory group.
Contains structs required for memory management.
WeightsManagerContext * weights_management_ctx(Target target)
Gets a weights manager context for a given target.
QuantizationInfo quant_info
Quantization info.
#define ARM_COMPUTE_LOG_GRAPH_VERBOSE(x)
std::unique_ptr< ITensorHandle > create_tensor(const Tensor &tensor) override
Create a backend Tensor.
MemoryManagerAffinity
Backend Memory Manager affinity.
bool insert_memory_management_ctx(MemoryManagerContext &&memory_ctx)
Inserts a memory manager context.
std::unique_ptr< ITensorHandle > create_subtensor(ITensorHandle *parent, TensorShape shape, Coordinates coords, bool extend_parent) override
Create a backend Sub-Tensor.
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
Status validate_node(INode &node) override
Validate a node.
DataLayout layout
Data layout.
static IScheduler & get()
Access the scheduler singleton.
bool insert_weights_management_ctx(WeightsManagerContext &&weights_ctx)
Inserts a weights manager context.
TensorShape shape
Tensor shape.
#define ARM_COMPUTE_UNUSED(...)
To avoid unused variables warnings.
static std::unique_ptr< arm_compute::IFunction > create(INode *node, GraphContext &ctx)
Create a backend execution function depending on the node type.
CLTensor * tensor
Pointer to the auxiliary tensor.
static Status validate(INode *node)
Validate a node.
std::unique_ptr< arm_compute::IFunction > configure_node(INode &node, GraphContext &ctx) override
Configure a backend Node.
Store the tensor's metadata.
std::shared_ptr< arm_compute::IMemoryManager > cross_mm
Cross-function memory manager.
IAllocator * backend_allocator() override
Gets a backend memory allocator.
Copyright (c) 2017-2023 Arm Limited.
std::shared_ptr< arm_compute::IWeightsManager > create_weights_manager() override
Create a backend weights manager.
bool is_backend_supported() override
Checks if an instantiated backend is actually supported.
Target assigned_target() const
Returns assigned target for this node.
std::shared_ptr< arm_compute::IWeightsManager > wm
Weights manager.
std::shared_ptr< arm_compute::IMemoryManager > intra_mm
Intra-function memory manager.
DataType data_type
Data type.
ScaleKernelInfo info(interpolation_policy, default_border_mode, PixelValue(), sampling_policy, false)
NodeID id() const
Returns node's ID.
Tensor handle interface object.
IAllocator * allocator
Backend allocator to use.