53 static detail::BackendRegistrar<GCDeviceBackend> GCDeviceBackend_registrar(
Target::GC);
56 : _initialized(false), _allocator()
115 return std::make_unique<GCTensorHandle>(
info);
150 auto lifetime_mgr = std::make_shared<BlobLifetimeManager>();
151 auto pool_mgr = std::make_shared<PoolManager>();
152 auto mm = std::make_shared<MemoryManagerOnDemand>(lifetime_mgr, pool_mgr);
DataType data_type
Data type.
TensorShape shape
Tensor shape.
Affinity at buffer level.
static std::unique_ptr< arm_compute::IFunction > create(INode *node, GraphContext &ctx)
Create a backend execution function depending on the node type.
std::shared_ptr< arm_compute::IWeightsManager > create_weights_manager() override
Create a backend weights manager.
Affinity at offset level.
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(msg)
Print the given message then throw an std::runtime_error.
Target assigned_target() const
Returns assigned target for this node.
IAllocator * backend_allocator() override
Gets a backend memory allocator.
static Status validate(INode *node)
Validate a node.
std::shared_ptr< arm_compute::IMemoryGroup > cross_group
Cross-function memory group.
Status validate_node(INode &node) override
Validate a node.
bool insert_memory_management_ctx(MemoryManagerContext &&memory_ctx)
Inserts a memory manager context.
bool is_backend_supported() override
Checks if an instantiated backend is actually supported.
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
void initialize_backend() override
Initializes the backend.
bool opengles31_is_available()
Check if the OpenGL ES 3.1 API is available at runtime.
Copyright (c) 2017-2021 Arm Limited.
void release_backend_context(GraphContext &ctx) override
Release the backend specific resources associated to a given graph context.
TensorDescriptor & desc()
TensorInfo metadata accessor.
static GCScheduler & get()
Access the scheduler singleton.
GLES compute capable target device.
QuantizationInfo quant_info
Quantization info.
ITensorInfo & set_data_layout(const DataLayout &data_layout) override
Set the data layout of the tensor.
#define ARM_COMPUTE_UNUSED(...)
To avoid unused variables warnings.
std::unique_ptr< arm_compute::IFunction > configure_node(INode &node, GraphContext &ctx) override
Configure a backend Node.
GCDeviceBackend()
Default Constructor.
NodeID id() const
Returns node's ID.
Tensor handle interface object.
void setup_backend_context(GraphContext &ctx) override
Setups the given graph context.
std::shared_ptr< arm_compute::IMemoryManager > intra_mm
Intra-function memory manager.
ScaleKernelInfo info(interpolation_policy, default_border_mode, PixelValue(), sampling_policy, false)
#define ARM_COMPUTE_LOG_GRAPH_WARNING(x)
std::shared_ptr< arm_compute::IMemoryManager > cross_mm
Cross-function memory manager.
#define ARM_COMPUTE_LOG_GRAPH_VERBOSE(x)
Contains structs required for memory management.
std::shared_ptr< arm_compute::IMemoryManager > create_memory_manager(MemoryManagerAffinity affinity) override
Create a backend memory manager given its affinity.
Interface to enqueue GLES kernels and get/set the GLES CommandQueue.
Store the tensor's metadata.
IAllocator * allocator
Backend allocator to use.
std::unique_ptr< ITensorHandle > create_tensor(const Tensor &tensor) override
Create a backend Tensor.
MemoryManagerContext * memory_management_ctx(Target target)
Gets a memory manager context for a given target.
DataLayout layout
Data layout.
void default_init()
Initialises the context and command queue used by the scheduler to default values and sets a default ...
MemoryManagerAffinity
Backend Memory Manager affinity.