「clGetContextInfo」の版間の差分
提供: Tommy6
細 |
|||
7行: | 7行: | ||
{{翻訳| | {{翻訳| | ||
[[OpenCLコンテキスト]]についての情報を取得します。 | [[OpenCLコンテキスト]]についての情報を取得します。 | ||
+ | |||
+ | {{ChangeNote|1.1}} | ||
== パラメータ == | == パラメータ == | ||
14行: | 16行: | ||
:取得する情報を指定します。[[#取得できる情報|下記の表]]にある定数からひとつ選んで指定できます。 | :取得する情報を指定します。[[#取得できる情報|下記の表]]にある定数からひとつ選んで指定できます。 | ||
;param_value | ;param_value | ||
− | :[[#取得できる情報|下記の表]]にしたがって param_name に指定した情報についての値が返されるメモリ空間へのポインタです。NULL の場合は無視されます。 | + | :[[#取得できる情報|下記の表]]にしたがって ''param_name'' に指定した情報についての値が返されるメモリ空間へのポインタです。NULL の場合は無視されます。 |
;param_value_size | ;param_value_size | ||
− | :param_value が指すメモリのサイズをバイトで指定します。このサイズは、[[#取得できる情報|下記の表]]で示されている戻り値型のサイズ以上でなければなりません。 | + | :''param_value'' が指すメモリのサイズをバイトで指定します。このサイズは、[[#取得できる情報|下記の表]]で示されている戻り値型のサイズ以上でなければなりません。 |
;param_value_size_ret | ;param_value_size_ret | ||
:''param_value'' にコピーされるデータの実際のサイズをバイトで返します。NULL の場合は無視されます。 | :''param_value'' にコピーされるデータの実際のサイズをバイトで返します。NULL の場合は無視されます。 | ||
== 取得できる情報 == | == 取得できる情報 == | ||
− | param_name で指定できる情報およびこれに対応して param_value に返される情報を以下の表に示しています。 | + | ''param_name'' で指定できる情報およびこれに対応して ''param_value'' に返される情報を以下の表に示しています。 |
− | |||
{{{!}} class{{=}}"wikitable" | {{{!}} class{{=}}"wikitable" | ||
![[cl_context_info]] | ![[cl_context_info]] | ||
45行: | 46行: | ||
{{!}} [[clCreateContext]] あるいは [[clCreateContextFromType]] で指定した ''properties'' 引数を返します。 | {{!}} [[clCreateContext]] あるいは [[clCreateContextFromType]] で指定した ''properties'' 引数を返します。 | ||
− | ''context'' を作成するのに使用した [[clCreateContext]] あるいは [[clCreateContextFromType]] への ''properties'' 引数が NULL | + | ''context'' を作成するのに使用した [[clCreateContext]] あるいは [[clCreateContextFromType]] への ''properties'' 引数が NULL でないとき、実装は ''properties'' に指定した値を返さなければなりません。 |
− | + | ||
− | + | ||
+ | ''context'' を作成するのに使用した [[clCreateContext]] あるいは [[clCreateContextFromType]] への ''properties'' 引数が NULL のとき、''param_value_size_ret'' は0、つまり、プロパティの値は何も返されないか、''param_value'' が指すメモリ内のプロパティ値を0(0は、コンテキストプロパティリストの終端に使用されます)にして返されます。 | ||
{{!}}} | {{!}}} | ||
55行: | 55行: | ||
* CL_INVALID_CONTEXT - ''context'' が有効な[[OpenCLコンテキスト]]でないとき。 | * CL_INVALID_CONTEXT - ''context'' が有効な[[OpenCLコンテキスト]]でないとき。 | ||
* CL_INVALID_VALUE - ''param_name'' がサポートされている値でない、あるいは、''param_value_size'' で指定されたサイズが[[#取得できる情報|上記の表]]で指定されている戻り値型のサイズより小さくかつ ''param_value'' が NULL でないとき。 | * CL_INVALID_VALUE - ''param_name'' がサポートされている値でない、あるいは、''param_value_size'' で指定されたサイズが[[#取得できる情報|上記の表]]で指定されている戻り値型のサイズより小さくかつ ''param_value'' が NULL でないとき。 | ||
− | * CL_OUT_OF_RESOURCES - デバイス上でのリソース確保に失敗したとき。 | + | * {{ChangePlus|CL_OUT_OF_RESOURCES - デバイス上でのリソース確保に失敗したとき。}} |
− | * CL_OUT_OF_HOST_MEMORY - ホスト上でのリソース確保に失敗したとき。 | + | * {{ChangePlus|CL_OUT_OF_HOST_MEMORY - ホスト上でのリソース確保に失敗したとき。}} |
== 変更記録 == | == 変更記録 == | ||
65行: | 65行: | ||
<references /> | <references /> | ||
− | |[http://www.khronos.org/registry/cl/specs/opencl-1.1.pdf | + | |[http://www.khronos.org/registry/cl/specs/opencl-1.1.pdf Version 1.1, The OpenCL Specification] |
}} | }} | ||
2012年4月9日 (月) 12:27時点における版
cl_int clGetContextInfo (cl_context context, cl_context_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で追加
パラメータ
- context
- OpenCLコンテキストを指定します。
- param_name
- 取得する情報を指定します。下記の表にある定数からひとつ選んで指定できます。
- param_value
- 下記の表にしたがって param_name に指定した情報についての値が返されるメモリ空間へのポインタです。NULL の場合は無視されます。
- param_value_size
- param_value が指すメモリのサイズをバイトで指定します。このサイズは、下記の表で示されている戻り値型のサイズ以上でなければなりません。
- param_value_size_ret
- param_value にコピーされるデータの実際のサイズをバイトで返します。NULL の場合は無視されます。
取得できる情報
param_name で指定できる情報およびこれに対応して param_value に返される情報を以下の表に示しています。
cl_context_info | 戻り値型 | 解説 |
---|---|---|
CL_CONTEXT_REFERENCE_COUNT[1] | cl_uint | context の参照カウントを返します |
CL_CONTEXT_NUM_DEVICES | cl_uint | context 内のデバイスの数を返します。 |
CL_CONTEXT_DEVICES | cl_device_id [] | context 内のデバイスのリストを返します。 |
CL_CONTEXT_PROPERTIES | cl_context_properties [] | clCreateContext あるいは clCreateContextFromType で指定した properties 引数を返します。
context を作成するのに使用した clCreateContext あるいは clCreateContextFromType への properties 引数が NULL でないとき、実装は properties に指定した値を返さなければなりません。 context を作成するのに使用した clCreateContext あるいは clCreateContextFromType への properties 引数が NULL のとき、param_value_size_ret は0、つまり、プロパティの値は何も返されないか、param_value が指すメモリ内のプロパティ値を0(0は、コンテキストプロパティリストの終端に使用されます)にして返されます。 |
エラー
実行が成功した場合、clGetContextInfo は CL_SUCCESS を返します。そうでない場合は以下のエラーのうちひとつを返します。
- CL_INVALID_CONTEXT - context が有効なOpenCLコンテキストでないとき。
- CL_INVALID_VALUE - param_name がサポートされている値でない、あるいは、param_value_size で指定されたサイズが上記の表で指定されている戻り値型のサイズより小さくかつ param_value が NULL でないとき。
- +CL_OUT_OF_RESOURCES - デバイス上でのリソース確保に失敗したとき。()
- +CL_OUT_OF_HOST_MEMORY - ホスト上でのリソース確保に失敗したとき。()
変更記録
- OpenCL 1.1
- param_name に指定できる値として CL_CONTEXT_NUM_DEVICES が追加
脚注
- ↑ 返された参照カウントの値はすぐに古くなるものと考えるべきです。アプリケーションでの一般的な使用には向いていません。この機能はメモリリークを検出するために提供されています。
―――― Version 1.1, The OpenCL Specification
より翻訳