clGetPlatformInfo

提供: Tommy6
移動: 案内検索
OpenCL > OpenCLマニュアル > OpenCLランタイム > OpenCLプラットフォーム > clGetPlatformInfo

cl_int clGetPlatformInfo (cl_platform_id platform, cl_platform_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)

OpenCLプラットフォームについての情報を取得します。

-1.1() : OpenCL 1.1で削除

+1.1() : OpenCL 1.1で追加

パラメータ

platform
clGetPlatformIDs で取得したプラットフォームIDを指定します。NULL を指定することもできます。platform が NULL のときの振る舞いは実装に依存します。
param_name
取得する情報を指定します。下記の表にある値からひとつ選んで指定できます。
param_value
下記の表にしたがって param_name に指定した情報についての値が返されるメモリ空間へのポインタを指定します。NULL の場合は無視されます。
param_value_size
param_value が指すメモリのサイズをバイトで指定します。このサイズは、下記の表で示されている戻り値型のサイズ以上でなければなりません。
param_value_size_ret
param_value にコピーされるデータの実際のサイズをバイトで返します。NULL の場合は無視されます。

取得できる情報

param_name で指定できる情報およびこれに対応して param_value に返される情報を以下の表に示しています。

cl_platform_info 戻り値型 解説
CL_PLATFORM_PROFILE char [][1] 実装がサポートするOpenCLプロファイルの名称を文字列で返します。返される名称は以下のうちのひとつになります。
  • FULL_PROFILE - 実装がOpenCLの仕様をサポートする場合(コア仕様として定義されている機能。拡張機能のサポートは求められない)
  • EMBEDDED_PROFILE - OpenCL組み込みプロファイルをサポートする場合。組み込みプロファイルは、それぞれのバージョンの OpenCL のサブセットとして定義されます。
CL_PLATFORM_VERSION char [] 実装がサポートするOpenCLのバージョンを次の形式の文字列で返します。
  • OpenCL<space><major_version.minor_version><space><platform-specific information>
CL_PLATFORM_NAME char [] プラットフォーム名を文字列で返します。
CL_PLATFORM_VENDOR char [] プラットフォームベンダ名を文字列で返します。
CL_PLATFORM_EXTENSIONS char [] プラットフォームがサポートする拡張機能の名称を、スペースで区切ったリスト形式の文字列で返します(拡張機能の名称自体にはスペースは含まれません)。ここで示された拡張機能は、このプラットフォームと関連付けられた全てのデバイスでサポートされていなければなりません。

エラー

実行が成功した場合、clGetPlatformInfo は CL_SUCCESS を返します。そうでない場合は以下のエラーのうちひとつを返します[2]

  • CL_INVALID_PLATFORM - platform が有効でないとき。
  • CL_INVALID_VALUE - param_name がサポートされている値でない、あるいは、param_value_size で指定されたサイズが上記の表で指定されている戻り値型のサイズより小さくかつ param_value が NULL でないとき。
  • +1.1(CL_OUT_OF_HOST_MEMORY - ホスト上でのリソース確保に失敗したとき。)

変更記録

脚注

  1. 戻り値型が char [] のとき、OpenCL関数はヌルを終端とする文字列を返します。
  2. OpenCLの仕様では、APIがエラーコードを返す際の具体的な処理手順を定めていません。


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