clEnqueueCopyBuffer/1.0

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

cl_int clEnqueueCopyBuffer (cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_buffer,                    size_t src_offset, size_t dst_offset, size_t cb,                    cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)

バッファオブジェクト src_buffer から dst_buffer への複製を行うコマンドを挿入します。

パラメータ

command_queue
複製コマンドを挿入するコマンドキューを指定します。command_queuesrc_bufferdst_buffer と関連付けられたOpenCLコンテキストは同じでなければなりません。
src_buffer
複製元となる有効なバッファオブジェクトを指定します。
dst_buffer
複製先となる有効なバッファオブジェクトを指定します。
src_offset
src_buffer から複製を行う際に、読み込み開始位置をどれだけずらすかを指定します。
dst_offset
dst_buffer へ複製を行う際に、書き込み開始位置をどれだけずらすかを指定します。
cb
複製するデータのサイズをバイトで指定します。
num_events_in_wait_list
event_wait_list で指定したイベントオブジェクトの数を指定します。
event_wait_list
このコマンドが実行される前に完了していなければならないイベントを指定します。event_wait_list が NULL のとき、このコマンドはどのイベントの完了待ちも行いません。event_wait_list が NULL のとき、num_events_in_wait_list は 0 でなければなりません。event_wait_list が NULL ではないとき、event_wait_list が指す各イベントは有効でなければならず、また num_events_in_wait_list は0より大きな値でなければなりません。event_wait_list に指定したイベントは同期点としてふるまいます。event_wait_list 内のイベントと関連付けられたOpenCLコンテキストと command_queue と関連付けられたOpenCLコンテキストは同じでなければなりません。
event
この複製コマンドを識別するイベントオブジェクトが返され、コマンド完了の確認やコマンド完了待ちを行えます。event が NULL のとき、アプリケーションはコマンドの状況確認やコマンド完了待ちを行えなくなります。代わりとして、clEnqueueBarrier を使えます。

エラー

実行が成功した場合、clEnqueueCopyBuffer は CL_SUCCESS を返します。そうでない場合は以下のエラーのうちひとつを返します。

  • CL_INVALID_COMMAND_QUEUE - command_queue が有効なコマンドキューでないとき。
  • CL_INVALID_CONTEXT - command_queuesrc_bufferdst_buffer と関連付けられたコンテキストが同じでないとき、あるいは command_queue と関連付けられたコンテキストと event_wait_list 内のイベントと関連付けられたコンテキストが同じでないとき。
  • CL_INVALID_MEM_OBJECT - src_bufferdst_buffer が有効なバッファオブジェクトでないとき。
  • CL_INVALID_VALUE - src_offsetdst_offsetcbsrc_offset + cbdst_offset + cb が要求するアクセス領域が、バッファオブジェクトの範囲外のとき。
  • CL_INVALID_EVENT_WAIT_LIST - event_wait_list が NULL で num_events_in_wait_list が 0 より大きいとき。あるいは event_wait_list が NULL でなく num_events_in_wait_list が 0 のとき。あるいは event_wait_list 内のイベントオブジェクトが有効なものでないとき。
  • CL_MEM_COPY_OVERLAP - src_bufferdst_buffer が同じバッファオブジェクトで、かつ複製元と複製先の領域が重なっているとき。
  • CL_MEM_OBJECT_ALLOCATION_FAILURE - src_buffer もしくは dst_buffer と関連付けられたデータ保存領域のためのメモリの確保に失敗したとき。
  • CL_OUT_OF_HOST_MEMORY - ホスト上でのリソース確保に失敗したとき。

変更記録

脚注



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