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

#include <opencv2/core/ocl.hpp>

Collaboration diagram for cv::ocl::Kernel:

公開メンバ関数

 Kernel () CV_NOEXCEPT
 
 Kernel (const char *kname, const Program &prog)
 
 Kernel (const char *kname, const ProgramSource &prog, const String &buildopts=String(), String *errmsg=0)
 
 Kernel (const Kernel &k)
 
 Kernel (Kernel &&k) CV_NOEXCEPT
 
 ~Kernel ()
 
template<typename... _Tps>
Kernelargs (const _Tps &... kernel_args)
 OpenCL の Kernel 引数を設定する。set(i, ...) メソッドの直接使用は避けること。
 
bool compileWorkGroupSize (size_t wsz[]) const
 
bool create (const char *kname, const Program &prog)
 
bool create (const char *kname, const ProgramSource &prog, const String &buildopts, String *errmsg=0)
 
bool empty () const
 
size_t localMemSize () const
 
Kerneloperator= (const Kernel &k)
 
Kerneloperator= (Kernel &&k) CV_NOEXCEPT
 
size_t preferedWorkGroupSizeMultiple () const
 
void * ptr () const
 
bool run (int dims, size_t globalsize[], size_t localsize[], bool sync, const Queue &q=Queue())
 OpenCL カーネルを実行する(globalsize の値は調整される場合がある)
 
bool run_ (int dims, size_t globalsize[], size_t localsize[], bool sync, const Queue &q=Queue())
 OpenCL カーネルを実行する。
 
int64 runProfiling (int dims, size_t globalsize[], size_t localsize[], const Queue &q=Queue())
 同期版の run_() 呼び出しと同様だが、カーネルの実行時間を返す。
 
bool runTask (bool sync, const Queue &q=Queue())
 
template<typename _Tp >
int set (int i, const _Tp &value)
 
int set (int i, const Image2D &image2D)
 
int set (int i, const KernelArg &arg)
 
int set (int i, const UMat &m)
 
int set (int i, const void *value, size_t sz)
 
size_t workGroupSize () const
 

限定公開メンバ関数

template<typename _Tp0 >
int set_args_ (int i, const _Tp0 &a0)
 
template<typename _Tp0 , typename... _Tps>
int set_args_ (int i, const _Tp0 &a0, const _Tps &... rest_args)
 

限定公開変数類

Impl * p
 

構築子と解体子の詳解

◆ Kernel() [1/5]

cv::ocl::Kernel::Kernel ( )

◆ Kernel() [2/5]

cv::ocl::Kernel::Kernel ( const char * kname,
const Program & prog )

◆ Kernel() [3/5]

cv::ocl::Kernel::Kernel ( const char * kname,
const ProgramSource & prog,
const String & buildopts = String(),
String * errmsg = 0 )

◆ ~Kernel()

cv::ocl::Kernel::~Kernel ( )

◆ Kernel() [4/5]

cv::ocl::Kernel::Kernel ( const Kernel & k)

◆ Kernel() [5/5]

cv::ocl::Kernel::Kernel ( Kernel && k)

メンバ関数詳解

◆ args()

template<typename... _Tps>
Kernel & cv::ocl::Kernel::args ( const _Tps &... kernel_args)
inline

OpenCL の Kernel 引数を設定する。set(i, ...) メソッドの直接使用は避けること。

bool ok = kernel
.args(
srcUMat, dstUMat,
(float)some_float_param
).run(ndims, globalSize, localSize);
if (!ok) return false;

◆ compileWorkGroupSize()

bool cv::ocl::Kernel::compileWorkGroupSize ( size_t wsz[]) const

◆ create() [1/2]

bool cv::ocl::Kernel::create ( const char * kname,
const Program & prog )

◆ create() [2/2]

bool cv::ocl::Kernel::create ( const char * kname,
const ProgramSource & prog,
const String & buildopts,
String * errmsg = 0 )

◆ empty()

bool cv::ocl::Kernel::empty ( ) const

◆ localMemSize()

size_t cv::ocl::Kernel::localMemSize ( ) const

◆ operator=() [1/2]

Kernel & cv::ocl::Kernel::operator= ( const Kernel & k)

◆ operator=() [2/2]

Kernel & cv::ocl::Kernel::operator= ( Kernel && k)

◆ preferedWorkGroupSizeMultiple()

size_t cv::ocl::Kernel::preferedWorkGroupSizeMultiple ( ) const

◆ ptr()

void * cv::ocl::Kernel::ptr ( ) const

◆ run()

bool cv::ocl::Kernel::run ( int dims,
size_t globalsize[],
size_t localsize[],
bool sync,
const Queue & q = Queue() )

OpenCL カーネルを実行する(globalsize の値は調整される場合がある)

引数
dims作業対象の問題の次元数。これは globalsize と localsize の長さである。1、2、または3のいずれかを取り得る。
globalsize各次元の作業項目数。これは OpenCL に渡される最終的な globalsize ではない。各次元は localsize の対応する値で割り切れる最も近い整数に調整される。localsize が NULL の場合でも、dims に応じて調整される。調整後の値は元の値以上になる。
localsize各次元のワークグループサイズ。
sync戻る前に OpenCL の計算が終了するのを待つかどうかを指定する。
qコマンドキュー
覚え書き
カーネルコードが調整後の globalsize をサポートしていない場合は run_() を使用する。

◆ run_()

bool cv::ocl::Kernel::run_ ( int dims,
size_t globalsize[],
size_t localsize[],
bool sync,
const Queue & q = Queue() )

OpenCL カーネルを実行する。

引数
dims作業対象の問題の次元数。これは globalsize と localsize の長さである。1、2、または3のいずれかを取り得る。
globalsize各次元の作業項目数。この値は変更されずに OpenCL に渡される。
localsize各次元のワークグループサイズ。
sync戻る前に OpenCL の計算が終了するのを待つかどうかを指定する。
qコマンドキュー

◆ runProfiling()

int64 cv::ocl::Kernel::runProfiling ( int dims,
size_t globalsize[],
size_t localsize[],
const Queue & q = Queue() )

同期版の run_() 呼び出しと同様だが、カーネルの実行時間を返す。

別個の OpenCL コマンドキューを使用できる(CL_QUEUE_PROFILING_ENABLE 付き)

戻り値
ナノ秒単位の実行時間、またはエラー時には負の数

◆ runTask()

bool cv::ocl::Kernel::runTask ( bool sync,
const Queue & q = Queue() )

◆ set() [1/5]

template<typename _Tp >
int cv::ocl::Kernel::set ( int i,
const _Tp & value )
inline

◆ set() [2/5]

int cv::ocl::Kernel::set ( int i,
const Image2D & image2D )

◆ set() [3/5]

int cv::ocl::Kernel::set ( int i,
const KernelArg & arg )

◆ set() [4/5]

int cv::ocl::Kernel::set ( int i,
const UMat & m )

◆ set() [5/5]

int cv::ocl::Kernel::set ( int i,
const void * value,
size_t sz )

◆ set_args_() [1/2]

template<typename _Tp0 >
int cv::ocl::Kernel::set_args_ ( int i,
const _Tp0 & a0 )
inlineprotected

◆ set_args_() [2/2]

template<typename _Tp0 , typename... _Tps>
int cv::ocl::Kernel::set_args_ ( int i,
const _Tp0 & a0,
const _Tps &... rest_args )
inlineprotected
この関数の呼び出しグラフ:

◆ workGroupSize()

size_t cv::ocl::Kernel::workGroupSize ( ) const

メンバ変数詳解

◆ p

Impl* cv::ocl::Kernel::p
protected

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