OpenCV 4.5.3(日本語機械翻訳)
公開メンバ関数 | 静的公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
cv::ocl::OpenCLExecutionContext クラス

公開メンバ関数

OpenCLExecutionContext (const OpenCLExecutionContext &)=default
OpenCLExecutionContext (OpenCLExecutionContext &&)=default
OpenCLExecutionContext & operator= (const OpenCLExecutionContext &)=default
OpenCLExecutionContext & operator= (OpenCLExecutionContext &&)=default
Context & getContext () const
Device & getDevice () const
Queue & getQueue () const
bool useOpenCL () const
void setUseOpenCL (bool flag)
void bind () const
OpenCLExecutionContext cloneWithNewQueue (const ocl::Queue &q) const
OpenCLExecutionContext cloneWithNewQueue () const
bool empty () const
void release ()

静的公開メンバ関数

static OpenCLExecutionContext & getCurrent ()
static OpenCLExecutionContext & getCurrentRef ()
static OpenCLExecutionContext create (const std::string &platformName, void *platformID, void *context, void *deviceID)
OpenCL実行コンテキストの作成 OpenCVは,利用可能なOpenCLプラットフォームにplatformNameの名前があるかどうかをチェックし,OpenCVにコンテキストを割り当て,関数を呼び出します.clRetainContext関数を呼び出します.deviceID を持つデバイスがターゲットデバイスとして使用され,新しいコマンドキューが作成されます.[【詳解】(英語]
static OpenCLExecutionContext create (const Context &context, const Device &device, const ocl::Queue &queue)
OpenCL 実行コンテキストを作成します。[【詳解】(英語]
static OpenCLExecutionContext create (const Context &context, const Device &device)

限定公開変数類

std::shared_ptr< Impl > p

関数詳解

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 コンテキストとデバイスで新しい実行コンテキストを作成します。

引数
q OpenCL キュー

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にコンテキストを割り当て,関数を呼び出します.clRetainContext関数を呼び出します.deviceID を持つデバイスがターゲットデバイスとして使用され,新しいコマンドキューが作成されます.

覚え書き
成功すると,渡されたハンドルのライフタイムがOpenCVのラッパーに転送されます.
引数
platformName アタッチするOpenCLプラットフォームの名前.この文字列は,OpenCVの実行時にプラットフォームが利用可能かどうかをチェックするために利用されます.
platformID アタッチされたコンテキストが作成されたプラットフォームのID (cl_platform_id)
context OpenCVにアタッチされるOpenCLコンテキスト(cl_context)
deviceID OpenCL デバイス (cl_device_id)

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::Queueに関連付けられている単一のデフォルトを取得します。ocl::Contextとシングル・デフォルトのocl::Device


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