clCreateKernelsInProgram
提供: Tommy6
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 - ホスト上でのリソース確保に失敗したとき。
変更記録
脚注