clGetDeviceInfo
提供: Tommy6
cl_int clGetDeviceInfo(cl_device_id device, cl_device_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
OpenCLデバイスについての情報を取得します。
パラメータ
- device
- clGetDeviceIDs で取得したデバイスを指定します。
- param_name
- 取得する情報を指定します。下記の表にある定数からひとつ選んで指定できます。
- param_value
- 下記の表にしたがって param_name に指定した情報についての値が返されるメモリ空間へのポインタです。NULL の場合は無視されます。
- param_value_size
- param_value が指すメモリのサイズをバイトで指定します。このサイズは、下記の表で示されている戻り値型のサイズ以上でなければなりません。
- param_value_size_ret
- param_value が指すメモリの実際のサイズをバイトで返します。NULL の場合は無視されます。
取得できる情報
param_name で指定できる情報およびこれに対して param_value に返される情報を以下の表に示しています。
cl_device_info | 戻り値型 | 解説 |
---|---|---|
CL_DEVICE_TYPE | cl_device_type | OpenCLデバイスのタイプを返します。現在サポートされている値は、
のいずれかです。 |
CL_DEVICE_VENDOR_ID | cl_uint | デバイスベンダのユニークな識別子を返します。ユニークなデバイス識別子の一例として、PCIe の ID があります。 |
CL_DEVICE_MAX_COMPUTE_UNITS | cl_uint | OpenCLデバイス上の並列演算コアの数を返します。最小値は1です。 |
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS | cl_uint | データ並列実行モデル(clEnqueueNDRangeKernel 参照)で用いるグローバル・ローカルワークアイテムIDの次元数の最大値を返します。最小値は3です。 |
CL_DEVICE_MAX_WORK_ITEM_SIZES | size_t [] | clEnqueueNDRangeKernel に指定するワークアイテム数のそれぞれの次元についての最大値を返します。CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS で返される数の個数の size_t エントリが返されます。最小値は (1, 1, 1) です。 |
CL_DEVICE_MAX_WORK_GROUP_SIZE | size_t | データ並列実行モデル(clEnqueueNDRangeKernel 参照)を用いたカーネル実行における、ひとつのワークグループ内のワークアイテム数の最大値を返します。最小値は1です。 |
CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR
CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF |
cl_uint | ベクトル化できる組み込みスカラ型について、推奨されるベクトルサイズを返します。ベクトルサイズはベクトル内に格納できるスカラ要素の数として定義されます。
cl_khr_fp64 がサポートされていない場合、CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE は0を返さなければなりません。 cl_khr_fp16 がサポートされていない場合、CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF は0を返さなければなりません。
|