clGetMemObjectInfo

提供: Tommy6
移動: 案内検索
OpenCL > OpenCLマニュアル > OpenCLランタイム > メモリオブジェクト > clGetMemObjectInfo

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
メモリオブジェクトを指定します。
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_OBJECT_BUFFER - memobjclCreateBuffer +1.1(あるいは clCreateSubBuffer) で作成されたものであるとき
  • CL_MEM_OBJECT_IMAGE2D - memobj が2Dイメージオブジェクトであるとき
  • CL_MEM_OBJECT_IMAGE3D - memobj が3Dイメージオブジェクトであるとき
CL_MEM_FLAGS cl_mem_flags memobjclCreateBuffer+1.1(clCreateSubBuffer)clCreateImage2DclCreateImage3D で作成したときに 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 memobjclCreateSubBuffer を用いて作成されたサブバッファオブジェクトであるとき、オフセット値を返します。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 が追加

脚注

  1. 返されたマップカウントの値はすぐに古くなるものと考えるべきです。アプリケーションでの一般的な使用には向いていません。この機能はデバッグのために提供されています。
  2. 返された参照カウントの値はすぐに古くなるものと考えるべきです。アプリケーションでの一般的な使用には向いていません。この機能はメモリリークを検出するために提供されています。


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