「clGetMemObjectInfo」の版間の差分
提供: Tommy6
細 |
|||
25行: | 25行: | ||
''param_name'' で指定できる情報およびこれに対応して ''param_value'' に返される情報を以下の表に示しています。 | ''param_name'' で指定できる情報およびこれに対応して ''param_value'' に返される情報を以下の表に示しています。 | ||
− | |||
{{{!}} class{{=}}"wikitable" | {{{!}} class{{=}}"wikitable" | ||
![[cl_mem_info]] | ![[cl_mem_info]] | ||
33行: | 32行: | ||
{{!}} CL_MEM_TYPE | {{!}} CL_MEM_TYPE | ||
{{!}} [[cl_mem_object_type]] | {{!}} [[cl_mem_object_type]] | ||
− | {{!}} | + | {{!}} メモリオブジェクトの種類を返します。以下の値のうちからひとつ返されます。 |
* CL_MEM_OBJECT_BUFFER - ''memobj'' が [[clCreateBuffer]] {{ChangePlus|1.1|あるいは [[clCreateSubBuffer]]}} で作成されたものであるとき | * CL_MEM_OBJECT_BUFFER - ''memobj'' が [[clCreateBuffer]] {{ChangePlus|1.1|あるいは [[clCreateSubBuffer]]}} で作成されたものであるとき | ||
* CL_MEM_OBJECT_IMAGE2D - ''memobj'' が2Dイメージオブジェクトであるとき | * CL_MEM_OBJECT_IMAGE2D - ''memobj'' が2Dイメージオブジェクトであるとき | ||
40行: | 39行: | ||
{{!}} CL_MEM_FLAGS | {{!}} CL_MEM_FLAGS | ||
{{!}} [[cl_mem_flags]] | {{!}} [[cl_mem_flags]] | ||
− | {{!}} ''memobj'' を [[clCreateBuffer]]、[[clCreateSubBuffer]]、[[clCreateImage2D]]、[[clCreateImage3D]] で作成したときに ''flags'' 引数に指定した値を返します。 | + | {{!}} ''memobj'' を [[clCreateBuffer]]、{{ChangePlus|1.1|[[clCreateSubBuffer]]}}、[[clCreateImage2D]]、[[clCreateImage3D]] で作成したときに ''flags'' 引数に指定した値を返します。 |
{{!-}} | {{!-}} | ||
{{!}} CL_MEM_SIZE | {{!}} CL_MEM_SIZE | ||
{{!}} [[size_t]] | {{!}} [[size_t]] | ||
− | {{!}} ''memobj'' | + | {{!}} ''memobj'' と関連付けられたデータ保存領域のサイズをバイトで返します |
{{!-}} | {{!-}} | ||
{{!}} CL_MEM_HOST_PTR | {{!}} CL_MEM_HOST_PTR | ||
{{!}} [[void]] * | {{!}} [[void]] * | ||
− | {{!}} ''memobj'' | + | {{!}} ''memobj'' を作成するときに ''host_ptr'' 引数に指定した値を返します。 |
{{!-}} | {{!-}} | ||
{{!}} CL_MEM_MAP_COUNT<ref name="mem-map-count">返されたマップカウントの値はすぐに古くなるものと考えるべきです。アプリケーションでの一般的な使用には向いていません。この機能はデバッグのために提供されています。</ref> | {{!}} CL_MEM_MAP_COUNT<ref name="mem-map-count">返されたマップカウントの値はすぐに古くなるものと考えるべきです。アプリケーションでの一般的な使用には向いていません。この機能はデバッグのために提供されています。</ref> | ||
60行: | 59行: | ||
{{!}} CL_MEM_CONTEXT | {{!}} CL_MEM_CONTEXT | ||
{{!}} [[cl_context]] | {{!}} [[cl_context]] | ||
− | {{!}} ''memobj'' | + | {{!}} ''memobj'' を作成するときに指定した[[OpenCLコンテキスト|コンテキスト]]を返します |
{{!-}} | {{!-}} | ||
{{!}} style{{=}}"background-color:#FFEEEE;"{{!}} CL_MEM_ASSOCIATED_MEMOBJECT | {{!}} style{{=}}"background-color:#FFEEEE;"{{!}} CL_MEM_ASSOCIATED_MEMOBJECT | ||
{{!}} style{{=}}"background-color:#FFEEEE;"{{!}} [[cl_mem]] | {{!}} style{{=}}"background-color:#FFEEEE;"{{!}} [[cl_mem]] | ||
− | {{!}} style{{=}}"background-color:#FFEEEE;"{{!}} ''memobj'' | + | {{!}} style{{=}}"background-color:#FFEEEE;"{{!}} ''memobj'' の作成元となる[[メモリオブジェクト]]を返します。[[clCreateSubBuffer]] を用いて ''memobj'' を作成するときに ''buffer'' に指定したメモリオブジェクトを返します。[[clCreateSubBuffer]] を使用していない場合などには NULL を返します。 |
{{!-}} | {{!-}} | ||
{{!}} style{{=}}"background-color:#FFEEEE;"{{!}} CL_MEM_OFFSET | {{!}} style{{=}}"background-color:#FFEEEE;"{{!}} CL_MEM_OFFSET | ||
{{!}} style{{=}}"background-color:#FFEEEE;"{{!}} [[size_t]] | {{!}} style{{=}}"background-color:#FFEEEE;"{{!}} [[size_t]] | ||
− | {{!}} style{{=}}"background-color:#FFEEEE;"{{!}} ''memobj'' が [[clCreateSubBuffer]] を用いて作成された [[ | + | {{!}} style{{=}}"background-color:#FFEEEE;"{{!}} ''memobj'' が [[clCreateSubBuffer]] を用いて作成された[[サブバッファオブジェクト]]であるとき、オフセット値を返します。''memobj'' がサブバッファオブジェクトでない場合は0を返します。 |
{{!}}} | {{!}}} | ||
86行: | 85行: | ||
<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] |
}} | }} | ||
92行: | 91行: | ||
[[Category:OpenCL]] | [[Category:OpenCL]] | ||
[[Category:OpenCLランタイム]] | [[Category:OpenCLランタイム]] | ||
− | [[Category: | + | [[Category:OpenCLランタイムAPI]] |
+ | [[Category:メモリオブジェクト]] |
2014年6月15日 (日) 00:38時点における版
cl_int clGetMemObjectInfo (cl_mem memobj, cl_mem_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
-1.1() : OpenCL 1.1で削除
+1.1() : OpenCL 1.1で追加
全てのメモリオブジェクト(バッファオブジェクトおよびイメージオブジェクト)に共通の情報を取得します。
パラメータ
- memobj
- 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_mem_info | 戻り値型 | 解説 |
---|---|---|
CL_MEM_TYPE | cl_mem_object_type | メモリオブジェクトの種類を返します。以下の値のうちからひとつ返されます。
|
CL_MEM_FLAGS | cl_mem_flags | memobj を clCreateBuffer、+1.1(clCreateSubBuffer)、clCreateImage2D、clCreateImage3D で作成したときに flags 引数に指定した値を返します。 |
CL_MEM_SIZE | size_t | memobj と関連付けられたデータ保存領域のサイズをバイトで返します |
CL_MEM_HOST_PTR | void * | memobj を作成するときに host_ptr 引数に指定した値を返します。 |
CL_MEM_MAP_COUNT[1] | cl_uint | memobj のマップカウントを返します。 |
CL_MEM_REFERENCE_COUNT[2] | cl_uint | memobj の参照カウントを返します。 |
CL_MEM_CONTEXT | cl_context | memobj を作成するときに指定したコンテキストを返します |
CL_MEM_ASSOCIATED_MEMOBJECT | cl_mem | memobj の作成元となるメモリオブジェクトを返します。clCreateSubBuffer を用いて memobj を作成するときに buffer に指定したメモリオブジェクトを返します。clCreateSubBuffer を使用していない場合などには NULL を返します。 |
CL_MEM_OFFSET | size_t | memobj が clCreateSubBuffer を用いて作成されたサブバッファオブジェクトであるとき、オフセット値を返します。memobj がサブバッファオブジェクトでない場合は0を返します。 |
エラー
実行が成功した場合、clGetMemObjectInfo は CL_SUCCESS を返します。そうでない場合は以下のエラーのうちひとつを返します。
- CL_INVALID_VALUE - param_name がサポートされている値でない、あるいは、param_value_size で指定されたサイズが上記の表で指定されている戻り値型のサイズより小さくかつ param_value が NULL でないとき。
- CL_INVALID_MEM_OBJECT - memobj が有効なメモリオブジェクトでないとき。
- +1.1(CL_OUT_OF_RESOURCES - デバイス上でのリソース確保に失敗したとき。)
- +1.1(CL_OUT_OF_HOST_MEMORY - ホスト上でのリソース確保に失敗したとき。)
変更記録
- OpenCL 1.1
- param_name に指定できる値として CL_MEM_ASSOCIATED_MEMOBJECT, CL_MEM_OFFSET が追加
脚注
- ↑ 返されたマップカウントの値はすぐに古くなるものと考えるべきです。アプリケーションでの一般的な使用には向いていません。この機能はデバッグのために提供されています。
- ↑ 返された参照カウントの値はすぐに古くなるものと考えるべきです。アプリケーションでの一般的な使用には向いていません。この機能はメモリリークを検出するために提供されています。
―――― Version 1.1, The OpenCL Specification
より翻訳