clGetKernelInfo
提供: Tommy6
cl_int clGetKernelInfo (cl_kernel kernel, cl_kernel_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
カーネルオブジェクトについての情報を取得します。
パラメータ
- kernel
- 有効なカーネルオブジェクトを指定します。
- param_name
- 取得する情報を指定します。下記の表にある定数からひとつ選んで指定できます。
- param_value
- 下記の表にしたがって param_name に指定した情報についての値が返されるメモリ空間へのポインタです。NULL の場合は無視されます。
- param_value_size
- param_value が指すメモリのサイズをバイトで指定します。このサイズは、下記の表で示されている戻り値型のサイズ以上でなければなりません。
- param_value_size_ret
- param_value にコピーされるデータの実際のサイズをバイトで返します。NULL の場合は無視されます。
取得できる情報
param_name で指定できる情報およびこれに対応して param_value に返される情報を以下の表に示しています。
cl_kernel_info | 戻り値型 | 解説 |
---|---|---|
CL_KERNEL_FUNCTION_NAME | char [] | kernel の関数名を返します。 |
CL_KERNEL_NUM_ARGS | cl_uint | kernel の引数の数を返します。 |
CL_KERNEL_REFERENCE_COUNT[1] | cl_uint | kernel の参照カウントを返します。 |
CL_KERNEL_CONTEXT | cl_context | kernel と関連付けられたOpenCLコンテキストを返します。 |
CL_KERNEL_PROGRAM | cl_program | kernel と関連付けられたプログラムオブジェクトを返します。 |
エラー
実行が成功した場合、clGetKernelInfo は CL_SUCCESS を返します。そうでない場合は以下のエラーのうちひとつを返します。
- CL_INVALID_KERNEL - kernel が有効なカーネルオブジェクトでないとき。
- CL_INVALID_VALUE - param_name がサポートされている値でない、あるいは、param_value_size で指定されたサイズが上記の表で指定されている戻り値型のサイズより小さくかつ param_value が NULL でないとき。
- CL_OUT_OF_RESOURCES - デバイス上でのリソース確保に失敗したとき。
- CL_OUT_OF_HOST_MEMORY - ホスト上でのリソース確保に失敗したとき。
変更記録
脚注
- ↑ 返された参照カウントの値はすぐに古くなるものと考えるべきです。アプリケーションでの一般的な使用には向いていません。この機能はメモリリークを検出するために提供されています。