ArmNN
 20.02
IRuntime Class Referenceabstract

#include <IRuntime.hpp>

Inheritance diagram for IRuntime:
Runtime

Classes

struct  CreationOptions
 

Public Member Functions

virtual Status LoadNetwork (NetworkId &networkIdOut, IOptimizedNetworkPtr network)=0
 Loads a complete network into the IRuntime. More...
 
virtual Status LoadNetwork (NetworkId &networkIdOut, IOptimizedNetworkPtr network, std::string &errorMessage)=0
 Load a complete network into the IRuntime. More...
 
virtual Status LoadNetwork (NetworkId &networkIdOut, IOptimizedNetworkPtr network, std::string &errorMessage, const INetworkProperties &networkProperties)=0
 
virtual TensorInfo GetInputTensorInfo (NetworkId networkId, LayerBindingId layerId) const =0
 
virtual TensorInfo GetOutputTensorInfo (NetworkId networkId, LayerBindingId layerId) const =0
 
virtual Status EnqueueWorkload (NetworkId networkId, const InputTensors &inputTensors, const OutputTensors &outputTensors)=0
 Evaluates a network using input in inputTensors and outputs filled into outputTensors. More...
 
virtual Status UnloadNetwork (NetworkId networkId)=0
 Unloads a network from the IRuntime. More...
 
virtual const IDeviceSpecGetDeviceSpec () const =0
 
virtual const std::shared_ptr< IProfilerGetProfiler (NetworkId networkId) const =0
 Gets the profiler corresponding to the given network id. More...
 
virtual void RegisterDebugCallback (NetworkId networkId, const DebugCallbackFunction &func)=0
 Registers a callback function to debug layers performing custom computations on intermediate tensors. More...
 

Static Public Member Functions

static IRuntimeCreateRaw (const CreationOptions &options)
 
static IRuntimePtr Create (const CreationOptions &options)
 
static void Destroy (IRuntime *runtime)
 

Protected Member Functions

 ~IRuntime ()
 

Detailed Description

Definition at line 38 of file IRuntime.hpp.

Constructor & Destructor Documentation

◆ ~IRuntime()

~IRuntime ( )
inlineprotected

Definition at line 165 of file IRuntime.hpp.

165 {}

Member Function Documentation

◆ Create()

IRuntimePtr Create ( const CreationOptions options)
static

Definition at line 32 of file Runtime.cpp.

References IRuntime::Destroy().

Referenced by BOOST_AUTO_TEST_CASE(), GetSoftmaxProfilerJson(), InferenceModel< IParser, TDataType >::InferenceModel(), main(), NetworkQuantizer::Refine(), and VerifyPostOptimisationStructureTestImpl().

33 {
35 }
std::unique_ptr< IRuntime, void(*)(IRuntime *runtime)> IRuntimePtr
Definition: IRuntime.hpp:24
static void Destroy(IRuntime *runtime)
Definition: Runtime.cpp:37
static IRuntime * CreateRaw(const CreationOptions &options)
Definition: Runtime.cpp:27
armnn::Runtime::CreationOptions::ExternalProfilingOptions options

◆ CreateRaw()

IRuntime * CreateRaw ( const CreationOptions options)
static

Definition at line 27 of file Runtime.cpp.

28 {
29  return new Runtime(options);
30 }
armnn::Runtime::CreationOptions::ExternalProfilingOptions options

◆ Destroy()

void Destroy ( IRuntime runtime)
static

Definition at line 37 of file Runtime.cpp.

Referenced by IRuntime::Create().

38 {
39  delete boost::polymorphic_downcast<Runtime*>(runtime);
40 }

◆ EnqueueWorkload()

virtual Status EnqueueWorkload ( NetworkId  networkId,
const InputTensors inputTensors,
const OutputTensors outputTensors 
)
pure virtual

Evaluates a network using input in inputTensors and outputs filled into outputTensors.

Implemented in Runtime.

◆ GetDeviceSpec()

virtual const IDeviceSpec& GetDeviceSpec ( ) const
pure virtual

Implemented in Runtime.

◆ GetInputTensorInfo()

virtual TensorInfo GetInputTensorInfo ( NetworkId  networkId,
LayerBindingId  layerId 
) const
pure virtual

Implemented in Runtime.

◆ GetOutputTensorInfo()

virtual TensorInfo GetOutputTensorInfo ( NetworkId  networkId,
LayerBindingId  layerId 
) const
pure virtual

Implemented in Runtime.

◆ GetProfiler()

virtual const std::shared_ptr<IProfiler> GetProfiler ( NetworkId  networkId) const
pure virtual

Gets the profiler corresponding to the given network id.

Parameters
networkIdThe id of the network for which to get the profile.
Returns
A pointer to the requested profiler, or nullptr if not found.

Implemented in Runtime.

◆ LoadNetwork() [1/3]

virtual Status LoadNetwork ( NetworkId networkIdOut,
IOptimizedNetworkPtr  network 
)
pure virtual

Loads a complete network into the IRuntime.

Parameters
[out]networkIdOut- Unique identifier for the network is returned in this reference.
[in]network- Complete network to load into the IRuntime. The runtime takes ownership of the network once passed in.
Returns
armnn::Status

Implemented in Runtime.

◆ LoadNetwork() [2/3]

virtual Status LoadNetwork ( NetworkId networkIdOut,
IOptimizedNetworkPtr  network,
std::string &  errorMessage 
)
pure virtual

Load a complete network into the IRuntime.

Parameters
[out]networkIdOutUnique identifier for the network is returned in this reference.
[in]networkComplete network to load into the IRuntime.
[out]errorMessageError message if there were any errors. The runtime takes ownership of the network once passed in.
Returns
armnn::Status

Implemented in Runtime.

◆ LoadNetwork() [3/3]

virtual Status LoadNetwork ( NetworkId networkIdOut,
IOptimizedNetworkPtr  network,
std::string &  errorMessage,
const INetworkProperties networkProperties 
)
pure virtual

Implemented in Runtime.

◆ RegisterDebugCallback()

virtual void RegisterDebugCallback ( NetworkId  networkId,
const DebugCallbackFunction func 
)
pure virtual

Registers a callback function to debug layers performing custom computations on intermediate tensors.

Parameters
networkIdThe id of the network to register the callback.
funccallback function to pass to the debug layer.

Implemented in Runtime.

◆ UnloadNetwork()

virtual Status UnloadNetwork ( NetworkId  networkId)
pure virtual

Unloads a network from the IRuntime.

At the moment this only removes the network from the m_Impl->m_Network. This might need more work in the future to be AndroidNN compliant.

Parameters
[in]networkId- Unique identifier for the network to be unloaded. Generated in LoadNetwork().
Returns
armnn::Status

Implemented in Runtime.


The documentation for this class was generated from the following files: