転送コマンドメモリマッピングコマンドを読み書きするOpenCLの(6)

1:キャッシュの内容は、(デバイスからホストへの)オブジェクト・キャッシュ内のオブジェクトを読み取ります

cl_int clEnqueuReadBuffer(

cl_command_queue command_queue、//コマンドキューイング

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

cl_boolのblocking_read、// CL_TRUE CL_FALSEブロックされています

size_tのは、バッファオフセットを開始//、オフセット

size_tのサイズ、バッファサイズの//サイズ

無効* ptrは、ホストメモリへの//ポインタは、読み出したデータを示して書かれている場合

cl_uint num_events_wait_in_list、

constのcl_event * event_wait_list、

cl_event *イベント

 

2:(ホスト装置から書き込まれた)書き込みバッファ・オブジェクト・ホスト・メモリ

cl_int clEnqueueWriteBuffer(

cl_command_queue command_queue、

cl_memバッファ、

cl_bool blocking_write、//ブロックされています

size_tのは、オフセット

size_tのサイズ、

無効* ptrは、ホストメモリに書き込まれた// PTRデータがバッファ内に示されています

cl_uint num_events_waut_in_list、

constのcl_event * event_wait_list、

cl_event *イベント

) 

 

3:メモリマップコマンド

1)バッファ・オブジェクト・ホスト・メモリ・マップポインタリターンの領域にマップ

void *型clEnqueueMapBuffer(

cl_command_queue command_queue、

cl_memバッファ、

、blocking_map cl_bool

cl_map_flagsのmap_flags、

size_tのは、オフセット

size_tのサイズ、

cl_uint num_events_wait_in_list、

constのcl_event * event_wait_list、

cl_event *イベント、

cl_int * errcode_ret

 

2)デマッピング

cl_int clEnqueueUnmapMemObject(

cl_command_queue command_queue、//コマンドキューイング

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

void *型mapped_ptr、//ポインタマップ

cl_uint num_events_in_wait_list、

constのcl_event * event_wait_list、

cl_event *イベント

 

cl_map_flags:

CL_MAP_READマップ読み出し動作

マップを完了するためにCL_MAP_WRITE書き込み操作

CL_MAP_WRITE_INVALIDATE_REGION     

このフラグは、メモリ内のオブジェクトがマッピングされるマッピング領域に書き込まれている特定します。

コンテンツは、マップされた領域が破棄されますされています。これは、典型的には、マップされた領域は、ホストで覆われている場合です。このフラグができます長い保証{バッファ|画像}キューポインタに戻り、最新のビットマップによってグリップは、パフォーマンスの大幅な強化でマッピングされたエリアを、含まれています。

おすすめ

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