clCreateKernel
About
OpenCL カーネルオブジェクトを生成します。
- Original Reference
C/C++
cl_kernel clCreateKernel (cl_program program, const char *kernel_name, cl_int *errcode_ret)
C#
IntPtr clCreateKernel (IntPtr program, string kernel_name, out int errcode_ret);
Args
- program
- ビルド済みの実行可能な OpenCL プログラムを指定します。
- kernel_name
- program に指定したプログラムに含まれる、'__kernel' 修飾子付で宣言された関数名を指定します。
- errcode_ret
- エラーコードの出力先を指定します。NULL のとき、エラーコードは返されません。
Return
実行に成功したとき、有効でゼロでない OpenCL カーネルオブジェクトを返し、errcode_ret に CL_SUCCESS を設定します。 実行に失敗したとき、NULL を返し、errcode_ret に次のうち1つのエラーを設定します。
- CL_INVALID_PROGRAM
- program に無効な値が指定されたとき。
- CL_INVALID_PROGRAM_EXECUTABLE
- program に正常にビルドされた実行可能なプログラムが指定されないとき。
- CL_INVALID_KERNEL_NAME
- kernel_name に指定した関数が program に含まれないとき。
- CL_INVALID_KERNEL_DEFINITION
- kernel_name によって指定された、'__kernerl' 関数が定義する引数や引数の型が、ビルドされた全ての実行可能なプログラムのデバイスで等しくないとき。
- CL_INVALID_VALUE
- kernel_name が NULL のとき。
- CL_OUT_OF_RESOURCES
- デバイス上でリソースの確保、割り当てに失敗したとき。
- CL_OUT_OF_HOST_MEMORY
- ホスト上でリソースの確保、割り当てに失敗したとき。