「clGetDeviceInfo」の版間の差分

提供: Tommy6
移動: 案内検索
122行: 122行:
 
{{!}} [[cl_uint]]
 
{{!}} [[cl_uint]]
 
{{!}} カーネルが同時に書き込めるイメージオブジェクトの最大数を返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は8です。
 
{{!}} カーネルが同時に書き込めるイメージオブジェクトの最大数を返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は8です。
 +
{{!-}}
 +
{{!}} CL_DEVICE_IMAGE2D_MAX_WIDTH
 +
{{!}} [[size_t]]
 +
{{!}} 2Dイメージの幅の最大サイズをピクセルで返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は8192です。
 +
{{!-}}
 +
{{!}} CL_DEVICE_IMAGE2D_MAX_HEIGHT
 +
{{!}} [[size_t]]
 +
{{!}} 2Dイメージの高さの最大サイズをピクセルで返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は8192です。
 +
{{!-}}
 +
{{!}} CL_DEVICE_IMAGE3D_MAX_WIDTH
 +
{{!}} [[size_t]]
 +
{{!}} 3Dイメージの幅の最大サイズをピクセルで返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は2048です。
 +
{{!-}}
 +
{{!}} CL_DEVICE_IMAGE3D_MAX_HEIGHT
 +
{{!}} [[size_t]]
 +
{{!}} 3Dイメージの高さの最大サイズをピクセルで返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は2048です。
 +
{{!-}}
 +
{{!}} CL_DEVICE_IMAGE3D_MAX_DEPTH
 +
{{!}} [[size_t]]
 +
{{!}} 3Dイメージの深さの最大サイズをピクセルで返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は2048です。
 +
{{!-}}
 +
{{!}} CL_DEVICE_MAX_SAMPLERS
 +
{{!}} [[cl_uint]]
 +
{{!}} カーネルで利用できるサンプラーの最大数を返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は16です。
 +
{{!-}}
 +
{{!}} CL_DEVICE_MAX_PARAMETER_SIZE
 +
{{!}} [[size_t]]
 +
{{!}} カーネルに渡せる引数の最大サイズをバイトで返します。最小値は1024です。返される値が最小値と同じ場合、カーネルに渡せる引数の数は最大で128になります。
 +
{{!-}}
 +
{{!}} CL_DEVICE_MEM_BASE_ADDR_ALIGN
 +
{{!}} [[cl_uint]]
 +
{{!}} 確保される[[メモリオブジェクト]]のベースアドレスのアラインメントをビットで返します。
 +
{{!-}}
 +
{{!}} CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE
 +
{{!}} [[cl_uint]]
 +
{{!}} どのデータ型でも用いることのできるアラインメントの最小値をバイトで返します。
 +
{{!-}}
 +
{{!}} CL_DEVICE_SINGLE_FP_CONFIG
 +
{{!}} [[cl_device_fp_config]]
 +
{{!}} デバイスの[[単精度浮動小数点]]処理能力を示します。結果はビットフィールドで返され、以下の値の組み合わせになります。
 +
* CL_FP_DENORM - 非正規化数が利用できます
 +
* CL_FP_INF_NAN - INF および quiet NaN が利用できます
 +
* CL_FP_ROUND_TO_NEAREST - 最近接偶数丸めモードが利用できます
 +
* CL_FP_ROUND_TO_ZERO - 0方向丸めモードが利用できます
 +
* CL_FP_ROUND_TO_INF - 正無限大方向丸めモードおよび負無限大方向丸めモードが利用できます
 +
* CL_FP_FMA - IEEE 754-2008 で規定されている Fused Multiply-Add (FMA) が利用できます。
 +
* CL_FP_SOFT_FLOAT - 基本的な浮動小数点操作(加算、減算、乗算など)がソフトウェアで実装されています
 +
{{!-}}
 +
{{!}} CL_DEVICE_GLOBAL_MEM_CACHE_TYPE
 +
{{!}} [[cl_device_mem_cache_type]]
 +
{{!}} [[グローバルメモリ]]のキャッシュのタイプを返します。有効な値は以下のとおりです。
 +
* CL_NONE
 +
* CL_READ_ONLY_CACHE
 +
* CL_READ_WRITE_CACHE
 +
{{!-}}
 +
{{!}} CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE
 +
{{!}} [[cl_uint]]
 +
{{!}} [[グローバルメモリ]]のキャッシュラインのサイズをバイトで返します。
 +
{{!-}}
 +
{{!}} CL_DEVICE_GLOBAL_MEM_CACHE_SIZE
 +
{{!}} [[cl_ulong]]
 +
{{!}} [[グローバルメモリ]]のキャッシュのサイズをバイトで返します。
 +
{{!-}}
 +
{{!}} CL_DEVICE_GLOBAL_MEM_SIZE
 +
{{!}} [[cl_ulong]]
 +
{{!}} [[グローバルメモリ]]のサイズをバイトで返します。
 +
{{!-}}
 +
{{!}} CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE
 +
{{!}} [[cl_ulong]]
 +
{{!}} 確保できる[[コンスタントメモリ|コンスタントバッファ]]の最大サイズをバイトで返します。最小値は64KBです。
 +
{{!-}}
 +
{{!}} CL_DEVICE_MAX_CONSTANT_ARGS
 +
{{!}} [[cl_uint]]
 +
{{!}} カーネルで __constant 修飾子をつけて宣言できる引数の最大数を返します。最小値は8です。
 +
{{!-}}
 +
{{!}} CL_DEVICE_LOCAL_MEM_TYPE
 +
{{!}} [[cl_device_local_mem_type]]
 +
{{!}} [[ローカルメモリ]]のタイプを返します。有効な値は以下のとおりです。
 +
* CL_LOCAL - SRAMのような専用のローカルメモリが用意されていることを示唆しています
 +
* CL_GLOBAL
 +
{{!-}}
 +
{{!}} CL_DEVICE_LOCAL_MEM_SIZE
 +
{{!}} [[cl_ulong]]
 +
{{!}} [[ローカルメモリ]]領域のサイズをバイトで返します。最小値は32KBです。
 +
{{!-}}
 +
{{!}} CL_DEVICE_ERROR_CORRECTION_SUPPORT
 +
{{!}} [[cl_bool]]
 +
{{!}} デバイスメモリ(グローバルおよびコンスタント)に対する全てのアクセスについてのエラー訂正機能がデバイスに実装されている場合は CL_TRUE となり、そうでない場合は CL_FALSE になります。
  
 
{{!}}}
 
{{!}}}

2010年9月2日 (木) 13:11時点における版

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です。
CL_DEVICE_IMAGE2D_MAX_WIDTH size_t 2Dイメージの幅の最大サイズをピクセルで返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は8192です。
CL_DEVICE_IMAGE2D_MAX_HEIGHT size_t 2Dイメージの高さの最大サイズをピクセルで返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は8192です。
CL_DEVICE_IMAGE3D_MAX_WIDTH size_t 3Dイメージの幅の最大サイズをピクセルで返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は2048です。
CL_DEVICE_IMAGE3D_MAX_HEIGHT size_t 3Dイメージの高さの最大サイズをピクセルで返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は2048です。
CL_DEVICE_IMAGE3D_MAX_DEPTH size_t 3Dイメージの深さの最大サイズをピクセルで返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は2048です。
CL_DEVICE_MAX_SAMPLERS cl_uint カーネルで利用できるサンプラーの最大数を返します。CL_DEVICE_IMAGE_SUPPORT が CL_TRUE の場合、最小値は16です。
CL_DEVICE_MAX_PARAMETER_SIZE size_t カーネルに渡せる引数の最大サイズをバイトで返します。最小値は1024です。返される値が最小値と同じ場合、カーネルに渡せる引数の数は最大で128になります。
CL_DEVICE_MEM_BASE_ADDR_ALIGN cl_uint 確保されるメモリオブジェクトのベースアドレスのアラインメントをビットで返します。
CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE cl_uint どのデータ型でも用いることのできるアラインメントの最小値をバイトで返します。
CL_DEVICE_SINGLE_FP_CONFIG cl_device_fp_config デバイスの単精度浮動小数点処理能力を示します。結果はビットフィールドで返され、以下の値の組み合わせになります。
  • CL_FP_DENORM - 非正規化数が利用できます
  • CL_FP_INF_NAN - INF および quiet NaN が利用できます
  • CL_FP_ROUND_TO_NEAREST - 最近接偶数丸めモードが利用できます
  • CL_FP_ROUND_TO_ZERO - 0方向丸めモードが利用できます
  • CL_FP_ROUND_TO_INF - 正無限大方向丸めモードおよび負無限大方向丸めモードが利用できます
  • CL_FP_FMA - IEEE 754-2008 で規定されている Fused Multiply-Add (FMA) が利用できます。
  • CL_FP_SOFT_FLOAT - 基本的な浮動小数点操作(加算、減算、乗算など)がソフトウェアで実装されています
CL_DEVICE_GLOBAL_MEM_CACHE_TYPE cl_device_mem_cache_type グローバルメモリのキャッシュのタイプを返します。有効な値は以下のとおりです。
  • CL_NONE
  • CL_READ_ONLY_CACHE
  • CL_READ_WRITE_CACHE
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE cl_uint グローバルメモリのキャッシュラインのサイズをバイトで返します。
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE cl_ulong グローバルメモリのキャッシュのサイズをバイトで返します。
CL_DEVICE_GLOBAL_MEM_SIZE cl_ulong グローバルメモリのサイズをバイトで返します。
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE cl_ulong 確保できるコンスタントバッファの最大サイズをバイトで返します。最小値は64KBです。
CL_DEVICE_MAX_CONSTANT_ARGS cl_uint カーネルで __constant 修飾子をつけて宣言できる引数の最大数を返します。最小値は8です。
CL_DEVICE_LOCAL_MEM_TYPE cl_device_local_mem_type ローカルメモリのタイプを返します。有効な値は以下のとおりです。
  • CL_LOCAL - SRAMのような専用のローカルメモリが用意されていることを示唆しています
  • CL_GLOBAL
CL_DEVICE_LOCAL_MEM_SIZE cl_ulong ローカルメモリ領域のサイズをバイトで返します。最小値は32KBです。
CL_DEVICE_ERROR_CORRECTION_SUPPORT cl_bool デバイスメモリ(グローバルおよびコンスタント)に対する全てのアクセスについてのエラー訂正機能がデバイスに実装されている場合は CL_TRUE となり、そうでない場合は CL_FALSE になります。


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