27 class IWorkloadFactory;
47 return this == &other ||
48 (this->m_Major == other.
m_Major &&
49 this->m_Minor == other.
m_Minor);
54 return this->m_Major < other.
m_Major ||
55 (this->m_Major == other.
m_Major &&
56 this->m_Minor <= other.
m_Minor);
61 return this->m_Major > other.
m_Major ||
62 (this->m_Major == other.
m_Major &&
63 this->m_Minor >= other.
m_Minor);
69 os <<
"[" << backendVersion.
m_Major <<
"." << backendVersion.
m_Minor <<
"]";
144 bool SupportsTensorAllocatorAPI()
const;
149 virtual std::vector<ITensorHandleFactory::FactoryId> GetHandleFactoryPreferences()
const;
189 std::stringstream message;
190 message <<
"The backend " << GetId() <<
" doesn't support using a custom allocator. This error might" 191 " be related with the protected mode if the backend doesn't" 192 " fully support it.";
194 errMsg.
value() = message.str();
204 throw armnn::Exception(
"GetDefaultAllocator: Function has not been implemented in backend.");
virtual void RegisterTensorHandleFactories(class TensorHandleFactoryRegistry &)
(Optional) Register TensorHandleFactories Either this method or CreateMemoryManager() and IWorkloadFa...
bool HasCapability(const std::string &name, const BackendCapabilities &capabilities)
Convenience function to check if a capability exists in a BackendCapabilites struct.
bool operator>=(const BackendVersion &other) const
std::unique_ptr< IWorkloadFactory > IWorkloadFactoryPtr
bool operator<=(const BackendVersion &other) const
constexpr BackendVersion(uint32_t major, uint32_t minor)
std::vector< BackendOptions > ModelOptions
virtual std::unique_ptr< ICustomAllocator > GetDefaultAllocator() const
Returns the default memory allocator for the backend.
Each backend should implement an IBackend.
std::ostream & operator<<(std::ostream &os, const std::vector< Compute > &compute)
Deprecated function that will be removed together with the Compute enum.
virtual bool UseCustomMemoryAllocator(std::shared_ptr< ICustomAllocator > allocator, armnn::Optional< std::string &> errMsg)
Signals the backend to use a custom memory allocator provided by the user.
unsigned int MemorySourceFlags
Copyright (c) 2021 ARM Limited and Contributors.
std::unique_ptr< IMemoryManager > IMemoryManagerUniquePtr
void IgnoreUnused(Ts &&...)
The SubgraphView class represents a subgraph of a Graph.
static constexpr BackendVersion GetApiVersion()
Returns the version of the Backend API.
std::unique_ptr< armnn::profiling::IBackendProfiling > IBackendProfilingPtr
virtual unsigned int GetNumberOfCacheFiles() const
Returns the number of files cached if backend supports caching.
std::shared_ptr< IBackendModelContext > IBackendSpecificModelContextPtr
BackendCapability
BackendCapability class.
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
ARMNN_NO_DEPRECATE_WARN_BEGIN struct ARMNN_DEPRECATED_MSG_REMOVAL_DATE("ResizeBilinearQueueDescriptor is deprecated use ResizeQueueDescriptor instead", "22.08") ResizeBilinearQueueDescriptor
BackendOptions BackendCapabilities
bool operator==(const BackendVersion &other) const
std::shared_ptr< ILayerSupport > ILayerSupportSharedPtr
Struct for the users to pass backend specific options.
virtual BackendCapabilities GetCapabilities() const
Returns a BackendCapability if the backend lists the capability The BackendCapability must then be in...
Base class for all ArmNN exceptions so that users can filter to just those.
std::unique_ptr< IBackendInternal > IBackendInternalUniquePtr
constexpr BackendVersion()
std::shared_ptr< armnn::profiling::IBackendProfilingContext > IBackendProfilingContextPtr
This is the bridge between backend and backend profiling we'll keep it in the backend namespace...
std::unique_ptr< IBackendContext > IBackendContextPtr