class InferenceEngine::gpu::D3DContext

Overview

This class represents an abstraction for GPU plugin remote context which is shared with Direct3D 11 device. The plugin object derived from this class can be obtained either with GetContext() method of Executable network or using CreateContext() Core call. More…

#include <gpu_context_api_dx.hpp>

class D3DContext: public InferenceEngine::gpu::ClContext
{
public:
    // typedefs

    typedef std::shared_ptr<D3DContext> Ptr;

    // methods

    operator ID3D11Device * ();
};

Inherited Members

public:
    // typedefs

    typedef std::shared_ptr<RemoteContext> Ptr;
    typedef std::shared_ptr<const RemoteContext> CPtr;
    typedef std::shared_ptr<ClContext> Ptr;

    // methods

    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();

    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;

    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();

    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;

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

    virtual RemoteBlob::Ptr CreateBlob(
        const TensorDesc& tensorDesc,
        const ParamMap& params = {}
        ) = 0;

    virtual ParamMap getParams() const = 0;
    cl_context get();
    operator cl_context ();
    operator cl::Context ();

Detailed Documentation

This class represents an abstraction for GPU plugin remote context which is shared with Direct3D 11 device. The plugin object derived from this class can be obtained either with GetContext() method of Executable network or using CreateContext() Core call.

User can also obtain OpenCL context handle from this class.

Typedefs

typedef std::shared_ptr<D3DContext> Ptr

A smart pointer to the D3DContext object.

Methods

operator ID3D11Device * ()

ID3D11Device conversion operator for the D3DContext object.

Returns:

Pointer to underlying ID3D11Device interface