Class InferenceEngine::RemoteBlob

class RemoteBlob : public InferenceEngine::MemoryBlob

This class represents an Inference Engine abstraction to the memory allocated on the remote (non-CPU) accelerator device.

Subclassed by InferenceEngine::gpu::ClBlob, ov::TensorRemoteBlob

Public Types

using Ptr = std::shared_ptr<RemoteBlob>

A smart pointer to the RemoteBlob object.

using CPtr = std::shared_ptr<const RemoteBlob>

A smart pointer to the const RemoteBlob object.

Public Functions

virtual ~RemoteBlob() = default

RemoteBlob virtual destructor.

inline explicit RemoteBlob(const TensorDesc &tensorDesc)

Constructor. Creates an empty RemoteBlob object with the specified precision.

Parameters

tensorDesc – Defines the layout and dims of the blob

virtual ParamMap getParams() const = 0

Returns a map of device-specific parameters required for low-level operations with underlying object. Parameters include device/context/surface/buffer 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.

virtual std::string getDeviceName() const noexcept = 0

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.

virtual std::shared_ptr<RemoteContext> getContext() const noexcept = 0

Returns device context which underlying object belongs to. Abstract method.

Returns

Pointer to plugin-specific context class object, which is derived from RemoteContext. Dynamic casting should be used if it is necessary to retrieve a pointer to original class.