Public Types | Public Member Functions
InferenceEngine::RemoteContext Class Referenceabstract

This class represents an Inference Engine abstraction for remote (non-CPU) accelerator device-specific execution context. Such context represents a scope on the device within which executable networks and remote memory blobs can exist, function and exchange data. More...

#include <ie_remote_context.hpp>

Inheritance diagram for InferenceEngine::RemoteContext:
Inheritance graph
[legend]

Public Types

using Ptr = std::shared_ptr< RemoteContext >
 A smart pointer to the RemoteContext object.
 
using CPtr = std::shared_ptr< const RemoteContext >
 A smart pointer to the const RemoteContext object.
 

Public Member Functions

virtual ~RemoteContext ()=default
 RemoteContext virtual destructor.
 
template<typename T , typename std::enable_if<!std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< RemoteContext, T >::value, int >::type = 0>
bool is () noexcept
 Checks if the RemoteContext object can be cast to the type T*. More...
 
template<typename T , typename std::enable_if<!std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< RemoteContext, T >::value, int >::type = 0>
bool is () const noexcept
 Checks if the RemoteContext object can be cast to the type const T*. More...
 
template<typename T , typename std::enable_if<!std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< RemoteContext, T >::value, int >::type = 0>
T * as () noexcept
 Casts this RemoteContext object to the type T*. More...
 
template<typename T , typename std::enable_if<!std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< RemoteContext, T >::value, int >::type = 0>
const T * as () const noexcept
 Casts this RemoteContext object to the type const T*. More...
 
virtual std::string getDeviceName () const noexcept=0
 Returns name of the device on which underlying object is allocated. Abstract method. More...
 
virtual RemoteBlob::Ptr CreateBlob (const TensorDesc &tensorDesc, const ParamMap &params={})=0
 Allocates memory blob in device memory or wraps user-supplied memory handle using the specified tensor description and low-level device-specific parameters. Returns a pointer to the object which implements RemoteBlob interface. More...
 
virtual ParamMap getParams () const =0
 Returns a map of device-specific parameters required for low-level operations with underlying object. Parameters include device/context handles, access flags, etc. Contents of the map returned depend on remote execution context that is currently set on the device (working scenario). Abstract method. More...
 

Detailed Description

This class represents an Inference Engine abstraction for remote (non-CPU) accelerator device-specific execution context. Such context represents a scope on the device within which executable networks and remote memory blobs can exist, function and exchange data.

Member Function Documentation

§ as() [1/2]

template<typename T , typename std::enable_if<!std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< RemoteContext, T >::value, int >::type = 0>
T* InferenceEngine::RemoteContext::as ( )
inlinenoexcept

Casts this RemoteContext object to the type T*.

Template Parameters
TType to cast to. Must represent a class derived from the RemoteContext
Returns
Raw pointer to the object of the type T or nullptr on error

§ as() [2/2]

template<typename T , typename std::enable_if<!std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< RemoteContext, T >::value, int >::type = 0>
const T* InferenceEngine::RemoteContext::as ( ) const
inlinenoexcept

Casts this RemoteContext object to the type const T*.

Template Parameters
TType to cast to. Must represent a class derived from the RemoteContext
Returns
Raw pointer to the object of the type const T or nullptr on error

§ CreateBlob()

virtual RemoteBlob::Ptr InferenceEngine::RemoteContext::CreateBlob ( const TensorDesc tensorDesc,
const ParamMap params = {} 
)
pure virtual

Allocates memory blob in device memory or wraps user-supplied memory handle using the specified tensor description and low-level device-specific parameters. Returns a pointer to the object which implements RemoteBlob interface.

Parameters
tensorDescDefines the layout and dims of the blob
paramsMap of the low-level blob object parameters. Abstract method.
Returns
A pointer to plugin object that implements RemoteBlob interface.

§ getDeviceName()

virtual std::string InferenceEngine::RemoteContext::getDeviceName ( ) const
pure virtualnoexcept

Returns name of the device on which underlying object is allocated. Abstract method.

Returns
A device name string in the same format as that in plugin metric.

§ getParams()

virtual ParamMap InferenceEngine::RemoteContext::getParams ( ) const
pure virtual

Returns a map of device-specific parameters required for low-level operations with underlying object. Parameters include device/context handles, access flags, etc. Contents of the map returned depend on remote execution context that is currently set on the device (working scenario). Abstract method.

Returns
A map of name/parameter elements.

§ is() [1/2]

template<typename T , typename std::enable_if<!std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< RemoteContext, T >::value, int >::type = 0>
bool InferenceEngine::RemoteContext::is ( )
inlinenoexcept

Checks if the RemoteContext object can be cast to the type T*.

Template Parameters
TType to be checked. Must represent a class derived from the RemoteContext
Returns
true if this object can be dynamically cast to the type T*. Otherwise, false

§ is() [2/2]

template<typename T , typename std::enable_if<!std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< RemoteContext, T >::value, int >::type = 0>
bool InferenceEngine::RemoteContext::is ( ) const
inlinenoexcept

Checks if the RemoteContext object can be cast to the type const T*.

Template Parameters
TType to be checked. Must represent a class derived from the RemoteContext
Returns
true if this object can be dynamically cast to the type const T*. Otherwise, false

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