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

公開型

typedef uint64 hash_t

公開メンバ関数

ProgramSource (const String &module, const String &name, const String &codeStr, const String &codeHash)
ProgramSource (const String &prog)
ProgramSource (const char *prog)
ProgramSource (const ProgramSource &prog)
ProgramSource & operator= (const ProgramSource &prog)
ProgramSource (ProgramSource &&prog) CV_NOEXCEPT
ProgramSource & operator= (ProgramSource &&prog) CV_NOEXCEPT
const String & source () const
hash_t hash () const
Impl * getImpl () const
bool empty () const

静的公開メンバ関数

static ProgramSource fromBinary (const String &module, const String &name, const unsigned char *binary, const size_t size, const cv::String &buildOptions=cv::String())
OpenCL プログラム・バイナリを記述します。clCreateProgramWithBinary()やclBuildProgram()を呼んではいけません。[【詳解】(英語]
static ProgramSource fromSPIR (const String &module, const String &name, const unsigned char *binary, const size_t size, const cv::String &buildOptions=cv::String())
OpenCLプログラムをSPIR形式で記述する。clCreateProgramWithBinary()やclBuildProgram()は呼ばないでください。[【詳解】(英語]

限定公開変数類

Impl * p

フレンド

struct Impl

関数詳解

fromBinary()

static ProgramSource cv::ocl::ProgramSource::fromBinary ( const String & module,
const String & name,
const unsigned char * binary,
const size_t size,
const cv::String & buildOptions = cv::String()
)
static

OpenCL プログラム・バイナリを記述します。clCreateProgramWithBinary()やclBuildProgram()を呼んではいけません。

呼び出し側は、バイナリ・バッファの寿命が、オブジェクト(およびそのコピー)の寿命よりも長いことを保証しなければなりません。ProgramSourceオブジェクト(およびそのコピー)よりも長い寿命を保証する必要があります。

この種のバイナリは、一般的にプラットフォーム間でポータブルではなく、OpenCLベンダー/デバイス/ドライバのバージョンに固有のものです。

引数
module プログラム・オーナー・モジュールの名前
name プログラムのユニークな名前(モジュール+名前は、OpenCLプログラム・キャッシングのキーとして使用されます。)
binary バッファアドレス。説明にあるバッファライフタイムの要件を参照。
size バッファサイズ
buildOptions clBuildProgram()に渡されるプログラム関連の追加ビルドオプション
戻り値
作成ProgramSourceオブジェクト

fromSPIR()

static ProgramSource cv::ocl::ProgramSource::fromSPIR ( const String & module,
const String & name,
const unsigned char * binary,
const size_t size,
const cv::String & buildOptions = cv::String()
)
static

OpenCLプログラムをSPIR形式で記述する。clCreateProgramWithBinary()やclBuildProgram()は呼ばないでください。

デフォルトではSPIR1.2をサポートしています(ビルドオプションで'-spir-std=X.Y'を渡すとこの動作をオーバーライドできます)。

呼び出し側は、バイナリ・バッファの寿命が、オブジェクト(およびそのコピー)の寿命よりも長いことを保証しなければなりません。ProgramSourceオブジェクト(およびそのコピー)よりも長い寿命を保証する必要があります。

このフォーマットのプログラムは、'khr_spir'拡張を持つOpenCL実装間で移植可能です。https://www.khronos.org/registry/OpenCL/sdk/2.0/docs/man/xhtml/cl_khr_spir.html(ただし、異なるプラットフォーム(32-bit / 64-bit)間ではポータブルではありません)

cl_intel_subgroupsのようなベンダー固有の拡張子には対応していませんので、ご注意ください。

引数
module プログラム・オーナー・モジュールの名前
name プログラムのユニークな名前(モジュール+名前は、OpenCLプログラム・キャッシングのキーとして使用されます。)
binary バッファアドレス。説明にあるバッファライフタイムの要件を参照。
size バッファサイズ
buildOptions clBuildProgram()に渡されるプログラム関連の追加ビルドオプション(これらのオプションは自動的に追加されます: '-x spir' と '-spir-std=1.2')
戻り値
作成ProgramSourceオブジェクトを作成します。

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