clEnqueueReadBuffer

提供: Tommy6
2014年2月9日 (日) 17:12時点におけるTommy6 (トーク | 投稿記録)による版

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

cl_int clEnqueueReadBuffer (cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read,                   size_t offset, size_t cb, void *ptr,                   cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)

バッファオブジェクトからホストメモリへの読み込みを行うコマンドを挿入します。

-1.1() : OpenCL 1.1で削除

+1.1() : OpenCL 1.1で追加

パラメータ

command_queue
読み込みコマンドを挿入するコマンドキューを指定します。command_queuebuffer は同じOpenCLコンテキスト上で作成されたものでなければなりません。
buffer
有効なバッファオブジェクトを指定します。
blocking_read
読み込み操作を、ブロッキングで行うのかノンブロッキングで行うのかを指定します。
blocking_readCL_TRUE を指定すると、読み込みコマンドはブロッキングとなり、バッファデータを読み込んで buffer が指すメモリ領域に複製し終わるまで、clEnqueueReadBuffer は返りません。

エラー

コンテキストの作成が成功すると、clCreateContext は有効な非ゼロのコンテキストを返し errcode_ret に CL_SUCCESS を設定します。そうでない場合は NULL を返して errcode_ret に以下のエラーのうちのひとつを設定します。

  • CL_INVALID_PLATFORM - properties が NULL でかつプラットフォームがひとつも選択されなかったとき。または、properties 内で指定したプラットフォームが有効なプラットフォームでないとき。
  • -1.1(CL_INVALID_VALUE)+1.1(CL_INVALID_PROPERTY) - properties 内で指定したコンテキストプロパティ名がサポートされているプロパティ名でないとき。または、サポートされているプロパティ名に対して指定した値が有効でないとき。または、同じプロパティ名が重複して指定されているとき。
  • CL_INVALID_VALUE - devices が NULL のとき。
  • CL_INVALID_VALUE - num_devices が0のとき。
  • CL_INVALID_VALUE - pfn_notify が NULL で user_data が NULL でないとき。
  • CL_INVALID_DEVICE - devices に有効でないデバイスが含まれているとき。-1.1(または、指定したプラットフォームと関連付けられたものでないとき。)
  • CL_DEVICE_NOT_AVAILABLE - devices 内のデバイスが、clGetDeviceIDs で返されたデバイスであるものの現在利用可能でないとき。
  • +1.1(CL_OUT_OF_RESOURCES - デバイス上でのリソース確保に失敗したとき。)
  • CL_OUT_OF_HOST_MEMORY - ホスト上でのリソース確保に失敗したとき。

変更記録

脚注



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