clGetDeviceInfo

提供: Tommy6
2010年9月1日 (水) 23:24時点におけるTommy6 (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
OpenCL > OpenCLマニュアル > OpenCLランタイム > OpenCLデバイス > clGetDeviceInfo

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_TYPE_CPU
  • CL_DEVICE_TYPE_GPU
  • CL_DEVICE_TYPE_ACCELERATOR
  • CL_DEVICE_TYPE_DEFAULT
  • 上記の組み合わせ

のいずれかです。

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を返さなければなりません。