OpenCLの(5)キャッシュ・オブジェクト

1:キャッシュオブジェクトを作成します。

cl_mem clCreateBuffer(

cl_contextコンテキスト、//コンテキスト

cl_mem_flagsフラグ、//オブジェクトタグのメモリプロパティ

size_tのサイズ、//サイズ

void *型host_ptr、//ホストアドレス

cl_int * errcode_ret //エラーコード

自然タグ:

CL_MEM_READ_WRITEはカーネルによって読み書きするカーネルオブジェクトを指定しました

CL_MEM_WRITE_ONLYのみ書き込みにカーネルによってカーネルオブジェクトを指定

CL_MEM_READ_ONLY指定されたカーネルオブジェクトは、読み込み専用のカーネルで

CL_MEM_ALLOC_HOST_PTR指定されたバッファがホストによってアクセス可能なメモリに割り当てられなければならない、次のプロパティを使用することはできません

メモリビットCL_MEM_USE_HOST_PTRメモリオブジェクトとしてhost_ptr参照されるメモリを用いて実現しました

上記目的を達成するためのメモリのCL_MEM_COPY_HOST_PTRメモリ割り当て、及びから参照、および1つのプロパティで使用されていないhst_ptrにデータをコピーします。缶CL_MEM_ALLOC_HOST_PTRは、これらのオブジェクトの内容を初期化します。そしてhost_ptrはNULLではありません

2:サブキャッシュオブジェクトを作成します

cl_mem clCreateSubBuffer(

cl_memバッファ、//キャッシュオブジェクト

cl_mem_flagsフラグ、//オブジェクトのプロパティ

cl_buffer_create_typeのbuffer_create_type、// CL_BUFFER_CREATE_TYPE_ORGIN

void *型buffer_create_info、//キャッシュデータ作成情報のconst

cl_int * errcode_ret //エラーコード

キャッシュデータ構造を作成:(buffer_create_info)

typedefは構造体_cl_buffer_region {

size_tの起源;

size_tのサイズ;

} cl_buffer_region。

3:オブジェクト・キャッシュについての情報を取得します。

cl_int clGetMemObjectInfo(

cl_mem memobj、//キャッシュオブジェクト

PARAM_NAME cl_mem_info、//情報タイプ名

size_tのparam_value_size、//サイズは、関連する情報を取得します

void *型param_valueに、//キャッシュ情報の格納アドレス

size_tのparam_value_size_ret //取得情報の実際のサイズ

おすすめ

転載: www.cnblogs.com/pengtangtang/p/PengTangTang_OpenCL_numberfour.html