OpenCV 4.13.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
cv::ocl::OpenCLExecutionContext クラス

#include <opencv2/core/ocl.hpp>

Collaboration diagram for 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 release ()
 
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 ( )
default

◆ ~OpenCLExecutionContext()

cv::ocl::OpenCLExecutionContext::~OpenCLExecutionContext ( )
default

◆ OpenCLExecutionContext() [2/3]

cv::ocl::OpenCLExecutionContext::OpenCLExecutionContext ( const OpenCLExecutionContext & )
default

◆ OpenCLExecutionContext() [3/3]

cv::ocl::OpenCLExecutionContext::OpenCLExecutionContext ( OpenCLExecutionContext && )
default

メンバ関数詳解

◆ 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 のデバイスがターゲットデバイスとして使用され、新しいコマンドキューが作成される。

覚え書き
成功すると、コンテキストとデバイスの1つの参照に対する所有権が取得される。それらを引き続き使用したい場合、呼び出し元は参照カウントを増やすために clRetainContextclRetainDevice を追加で呼び出すべきである。
引数
platformNameアタッチする OpenCL プラットフォームの名前。この文字列は、実行時にそのプラットフォームが OpenCV で利用可能かどうかを確認するために使用される
platformIDアタッチされたコンテキストが作成された対象プラットフォームのID (cl_platform_id)
contextOpenCV にアタッチする 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 & )
default

◆ operator=() [2/2]

OpenCLExecutionContext & cv::ocl::OpenCLExecutionContext::operator= ( OpenCLExecutionContext && )
default

◆ 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

このクラス詳解は次のファイルから抽出されました: