OpenCV  4.10.0
开源计算机视觉
正在加载...
正在搜索...
无匹配项
公共成员函数 | 静态公共成员函数 | 受保护的属性 | 所有成员列表
cv::ocl::OpenCLExecutionContext 类参考

#include <opencv2/core/ocl.hpp>

cv::ocl::OpenCLExecutionContext 的协作图

公共成员函数

 OpenCLExecutionContext ()=default
 
 OpenCLExecutionContext (const OpenCLExecutionContext &)=default
 
 OpenCLExecutionContext (OpenCLExecutionContext &&)=default
 
 ~OpenCLExecutionContext ()=default
 
void bind () const
 
OpenCLExecutionContext cloneWithNewQueue () const
 
OpenCLExecutionContext cloneWithNewQueue (const ocl::Queue &q) const
 
bool empty () const
 
ContextgetContext () const
 
DevicegetDevice () const
 
QueuegetQueue () const
 
OpenCLExecutionContextoperator= (const OpenCLExecutionContext &)=default
 
OpenCLExecutionContextoperator= (OpenCLExecutionContext &&)=default
 
void 释放 ()
 
void setUseOpenCL (bool flag)
 
bool useOpenCL () const
 

静态公共成员函数

static OpenCLExecutionContext create (const Context &context, const Device &device)
 
static OpenCLExecutionContext create (const Context &context, const Device &device, const ocl::Queue &queue)
 创建 OpenCL 执行上下文。
 
static OpenCLExecutionContext create (const std::string &platformName, void *platformID, void *context, void *deviceID)
 创建 OpenCL 执行上下文 OpenCV 将检查可用的 OpenCL 平台是否具有 platformName 名称,然后将上下文分配给 OpenCV。deviceID 设备将用作目标设备,并将创建一个新的命令队列。
 
static OpenCLExecutionContextgetCurrent ()
 
static OpenCLExecutionContextgetCurrentRef ()
 

受保护的属性

std::shared_ptr< Impl > p
 

构造函数和析构函数文档

◆ OpenCLExecutionContext() [1/3]

cv::ocl::OpenCLExecutionContext::OpenCLExecutionContext ( )
默认

◆ ~OpenCLExecutionContext()

cv::ocl::OpenCLExecutionContext::~OpenCLExecutionContext ( )
默认

◆ OpenCLExecutionContext() [2/3]

cv::ocl::OpenCLExecutionContext::OpenCLExecutionContext ( const OpenCLExecutionContext )
默认

◆ OpenCLExecutionContext() [3/3]

cv::ocl::OpenCLExecutionContext::OpenCLExecutionContext ( OpenCLExecutionContext &&  )
默认

成员函数文档

◆ bind()

void cv::ocl::OpenCLExecutionContext::bind ( ) const

将此 OpenCL 执行上下文绑定到当前线程。

Context 不能为空。

注意
不会对先前执行上下文的队列调用 clFinish

◆ cloneWithNewQueue() [1/2]

OpenCLExecutionContext cv::ocl::OpenCLExecutionContext::cloneWithNewQueue ( ) const

这是一个重载的成员函数,为了方便而提供。它与上面的函数的不同之处仅在于它接受的参数。

◆ cloneWithNewQueue() [2/2]

OpenCLExecutionContext cv::ocl::OpenCLExecutionContext::cloneWithNewQueue ( const ocl::Queue q) const

使用相同的 OpenCV 上下文和设备创建新的执行上下文

参数
qOpenCL 队列

◆ create() [1/3]

static OpenCLExecutionContext cv::ocl::OpenCLExecutionContext::create ( const Context context,
const Device device 
)
static

这是一个重载的成员函数,为了方便而提供。它与上面的函数的不同之处仅在于它接受的参数。

◆ create() [2/3]

static OpenCLExecutionContext cv::ocl::OpenCLExecutionContext::create ( const Context context,
const Device device,
const ocl::Queue queue 
)
static

创建 OpenCL 执行上下文。

参数
context非空的 OpenCL 上下文
device非空的 OpenCL 设备(必须是上下文的一部分)
queue提供的上下文和设备的非空 OpenCL 队列

◆ create() [3/3]

static OpenCLExecutionContext cv::ocl::OpenCLExecutionContext::create ( const std::string &  platformName,
void *  platformID,
void *  context,
void *  deviceID 
)
static

创建 OpenCL 执行上下文 OpenCV 将检查可用的 OpenCL 平台是否具有 platformName 名称,然后将上下文分配给 OpenCV。deviceID 设备将用作目标设备,并将创建一个新的命令队列。

注意
成功后,将获取上下文和设备的一个引用的所有权。如果调用者希望继续使用它们,则应另外调用 clRetainContext 和/或 clRetainDevice 来增加引用计数。
参数
platformName要附加的 OpenCL 平台的名称,此字符串用于在运行时检查平台是否对 OpenCV 可用
platformID创建上下文所附加平台的 ID (cl_platform_id)
context要附加到 OpenCV 的 OpenCL 上下文 (cl_context)
deviceIDOpenCL 设备 (cl_device_id)

◆ empty()

bool cv::ocl::OpenCLExecutionContext::empty ( ) const
inline

◆ getContext()

Context & cv::ocl::OpenCLExecutionContext::getContext ( ) const

获取关联的 ocl::Context

◆ getCurrent()

static OpenCLExecutionContext & cv::ocl::OpenCLExecutionContext::getCurrent ( )
static

获取当前线程的 OpenCL 执行上下文。

如果为空,则初始化 OpenCL 执行上下文

  • 创建新的
  • 重用主线程的上下文 (threadID = 0)

◆ getCurrentRef()

static OpenCLExecutionContext & cv::ocl::OpenCLExecutionContext::getCurrentRef ( )
static

获取当前线程的 OpenCL 执行上下文(可能为空)

◆ getDevice()

Device & cv::ocl::OpenCLExecutionContext::getDevice ( ) const

获取单个关联的 ocl::Device

◆ getQueue()

Queue & cv::ocl::OpenCLExecutionContext::getQueue ( ) const

获取与 ocl::Context 和单个默认 ocl::Device 关联的单个 ocl::Queue

◆ operator=() [1/2]

OpenCLExecutionContext & cv::ocl::OpenCLExecutionContext::operator= ( const OpenCLExecutionContext )
默认

◆ operator=() [2/2]

OpenCLExecutionContext & cv::ocl::OpenCLExecutionContext::operator= ( OpenCLExecutionContext &&  )
默认

◆ release()

void cv::ocl::OpenCLExecutionContext::release ( )

◆ setUseOpenCL()

void cv::ocl::OpenCLExecutionContext::setUseOpenCL ( bool  flag)

◆ useOpenCL()

bool cv::ocl::OpenCLExecutionContext::useOpenCL ( ) const

成员数据文档

◆ p

std::shared_ptr<Impl> cv::ocl::OpenCLExecutionContext::p
protected

此类的文档是从以下文件生成的