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

詳細説明

以下のAPIは、複数のマルチスレッドフレームワークに由来する複数のスレッドプールによるCPUリソースの過剰利用問題を解決するために提供されている。これは、OpenCVがコンパイル時に使用したスレッドフレームワークとユーザーアプリケーションのフレームワークが異なる場合によく起こる問題である。

アプリケーションは、OpenCVの parallel_for() バックエンドを独自の実装に置き換えることができる(アプリケーションのスレッドプールを再利用するため)。

バックエンドAPIの使用例

Intel TBB

OpenMP

プラグインのサポート

実行時の設定オプション:

クラス

class  cv::parallel::ParallelForAPI
 
class  cv::parallel::openmp::ParallelForBackend
 
class  cv::parallel::tbb::ParallelForBackend
 

関数

void cv::parallel::setParallelForBackend (const std::shared_ptr< ParallelForAPI > &api, bool propagateNumThreads=true)
 OpenCVのparallel_forバックエンドを置き換える。
 
bool cv::parallel::setParallelForBackend (const std::string &backendName, bool propagateNumThreads=true)
 OpenCVのparallel_forバックエンドを変更する。
 

関数詳解

◆ setParallelForBackend() [1/2]

void cv::parallel::setParallelForBackend ( const std::shared_ptr< ParallelForAPI > & api,
bool propagateNumThreads = true )
Python:
cv.parallel.setParallelForBackend(backendName[, propagateNumThreads]) -> retval

#include <opencv2/core/parallel/parallel_backend.hpp>

OpenCVのparallel_forバックエンドを置き換える。

アプリケーションは、OpenCVの parallel_for() バックエンドを独自の実装に置き換えることができる。

覚え書き
この呼び出しはスレッドセーフではない。他のOpenCV処理関数より前に(かつ他のスレッドを作成する前に)main() からこの関数を呼び出すことを検討すること。

◆ setParallelForBackend() [2/2]

bool cv::parallel::setParallelForBackend ( const std::string & backendName,
bool propagateNumThreads = true )
Python:
cv.parallel.setParallelForBackend(backendName[, propagateNumThreads]) -> retval

#include <opencv2/core/parallel/parallel_backend.hpp>

OpenCVのparallel_forバックエンドを変更する。

覚え書き
この呼び出しはスレッドセーフではない。他のOpenCV処理関数より前に(かつ他のスレッドを作成する前に)main() からこの関数を呼び出すことを検討すること。