clCreateKernelsInProgram

提供: Tommy6
移動: 案内検索
OpenCL > OpenCLマニュアル > OpenCLランタイム > OpneCLランタイムAPI > カーネルオブジェクト > clCreateKernelsInProgram

cl_int clCreateKernelsInProgram (cl_program program, cl_uint num_kernels, cl_kernel *kernels, cl_uint *num_kernels_ret)

program 内の全てのカーネル関数カーネルオブジェクトを作成します。実行可能プログラムが正常に作成された全てのデバイスでの関数定義が同じでないカーネル関数のカーネルオブジェクトは作成されません。

パラメータ

program
正常にビルドが行われた有効なプログラムオブジェクトを指定します。
num_kernels
kernels が指すメモリのサイズを cl_kernel エントリの数として指定します。
kernels
program 内のカーネルについてのカーネルオブジェクトが返されるバッファです。NULL を指定したときは無視されます。kernels が NULL でないとき、num_kernels の値は program 内のカーネルの数と同じかそれより大きくなければなりません。
num_kernels_ret
program 内のカーネルの数を返します。NULL を指定したときは無視されます。

エラー

カーネルオブジェクトの作成に成功すると、clCreateKernelsInProgram は CL_SUCCESS を返します。そうでない場合は以下のエラーのうちひとつを返します。

  • CL_INVALID_PROGRAM - program が有効なプログラムオブジェクトでないとき。
  • CL_INVALID_PROGRAM_EXECUTABLE - program に、どのデバイスについても正常にビルドされた実行可能プログラムがないとき。
  • CL_INVALID_VALUE - kernels が NULL でなく、num_kernels の値が program 内のカーネルの数より小さいとき。
  • CL_OUT_OF_RESOURCES - デバイス上でのリソース確保に失敗したとき。
  • CL_OUT_OF_HOST_MEMORY - ホスト上でのリソース確保に失敗したとき。

変更記録

脚注



―――― Revision 33, Version 1.1, The OpenCL Specification より翻訳