clGetDeviceInfo

提供: Tommy6
2010年9月2日 (木) 00:07時点における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を返さなければなりません。

CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR

CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT

CL_DEVICE_NATIVE_VECTOR_WIDTH_INT

CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG

CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT

CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE

CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF

cl_uint 命令セットアーキテクチャ? (ISA) のネイティブベクトルサイズを返します。ベクトルサイズはベクトル内に格納できるスカラ要素の数として定義されます。

cl_khr_fp64 がサポートされていない場合、CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE は0を返さなければなりません。

cl_khr_fp16 がサポートされていない場合、CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF は0を返さなければなりません。

CL_DEVICE_MAX_CLOCK_FREQUENCY cl_uint デバイスの最大設計クロック周波数を MHz で返します。
CL_DEVICE_ADDRESS_BITS cl_uint 演算デバイスのアドレス空間のサイズを符号なし整数値としてビットで返します。サポートされる値は32ビットか64ビットです。
CL_DEVICE_MAX_MEM_ALLOC_SIZE cl_ulong メモリオブジェクトで確保できる最大のサイズをバイトで返します。最小値は、「CL_DEVICE_GLOBAL_MEM_SIZE の4分の1」と「128*1024*1024」 のうち値の大きなほうになります。
CL_DEVICE_IMAGE_SUPPORT cl_bool OpenCLデバイスがイメージをサポートする場合は CL_TRUE、そうでない場合は CL_FALSE になります。
CL_DEVICE_MAX_READ_IMAGE_ARGS cl_uint カーネルが同時に読み込めるイメージオブジェクトの最大数を返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は128です。
CL_DEVICE_MAX_WRITE_IMAGE_ARGS cl_uint カーネルが同時に書き込めるイメージオブジェクトの最大数を返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は8です。


―――― Revision 33, Version 1.1, The OpenCL Specification より翻訳