class InferenceEngine::gpu::ClBlob¶
Overview¶
The basic class for all GPU plugin remote blob objects. The OpenCL memory object handle (cl_mem) can be obtained from this class object. More…
#include <gpu_context_api_ocl.hpp>
class ClBlob: public InferenceEngine::RemoteBlob
{
public:
// typedefs
typedef std::shared_ptr<ClBlob> Ptr;
// construction
ClBlob(const TensorDesc& tensorDesc);
};
// direct descendants
class ClBufferBlob;
class ClImage2DBlob;
class USMBlob;
Inherited Members¶
public:
// typedefs
typedef std::shared_ptr<Blob> Ptr;
typedef std::shared_ptr<const Blob> CPtr;
typedef std::shared_ptr<MemoryBlob> Ptr;
typedef std::shared_ptr<const MemoryBlob> CPtr;
typedef std::shared_ptr<RemoteBlob> Ptr;
typedef std::shared_ptr<const RemoteBlob> CPtr;
// methods
static Ptr CreateFromData(const DataPtr& data);
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<Blob, T>::value, int>::type = 0
>
bool is();
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<Blob, T>::value, int>::type = 0
>
bool is() const;
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<Blob, T>::value, int>::type = 0
>
T \* as();
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<Blob, T>::value, int>::type = 0
>
const T \* as() const;
virtual const TensorDesc& getTensorDesc() const;
virtual TensorDesc& getTensorDesc();
virtual size_t size() const;
virtual size_t byteSize() const;
virtual size_t element_size() const = 0;
virtual void allocate() = 0;
virtual bool deallocate() = 0;
void setShape(const SizeVector& dims);
virtual Blob::Ptr createROI(const ROI& roi) const;
virtual Blob::Ptr createROI(
const std::vector<std::size_t>& begin,
const std::vector<std::size_t>& end
) const;
virtual const TensorDesc& getTensorDesc() const;
virtual TensorDesc& getTensorDesc();
virtual size_t size() const;
virtual size_t byteSize() const;
virtual size_t element_size() const;
virtual void allocate() = 0;
virtual bool deallocate() = 0;
virtual LockedMemory<void> rwmap() = 0;
virtual LockedMemory<const void> rmap() const = 0;
virtual LockedMemory<void> wmap() = 0;
virtual ParamMap getParams() const = 0;
virtual std::string getDeviceName() const = 0;
virtual std::shared_ptr<RemoteContext> getContext() const = 0;
Detailed Documentation¶
The basic class for all GPU plugin remote blob objects. The OpenCL memory object handle (cl_mem) can be obtained from this class object.
Typedefs¶
typedef std::shared_ptr<ClBlob> Ptr
A smart pointer to the ClBlob object.
Construction¶
ClBlob(const TensorDesc& tensorDesc)
Creates a ClBlob object with the specified dimensions and layout.
Parameters:
tensorDesc |
Tensor description |