clEnqueueNDRangeKernel

提供: Tommy6
2011年5月21日 (土) 00:03時点におけるTommy6 (トーク | 投稿記録)による版

移動: 案内検索
OpenCL > OpenCLマニュアル > OpenCLランタイム > OpenCLランタイムAPI > カーネルの実行 > clEnqueueNDRangeKernel

cl_int clEnqueueNDRangeKernel (cl_command_queue command_queue, cl_kernel cl_kernel, cl_uint work_dim, const size_t *global_work_offset, const size_t *gloal_work_size, const size_t *local_work_size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)

OpenCLデバイス上でカーネルを実行するコマンドを挿入します。

1.1 : OpenCL 1.1で削除

1.1 : OpenCL 1.1で追加

パラメータ

command_queue
有効なコマンドキューを指定します。カーネルは、command_queue と関連付けられたOpenCLデバイス上での実行待ちに追加されます。
kernel
有効なカーネルオブジェクトを指定します。kernel と関連付けられたOpenCLコンテキストcommand_queue と関連付けられたOpenCLコンテキストは同じでなければなりません。
work_dim
グローバルワークアイテム数とワークグループ内のワークアイテム数を決定する際の次元数を指定します。work_dim は、0 より大きく CL_DEVICE_MAX_WORK_ITEM_DIMENSIONSOpenCL 1.0 では 3) 以下の値でなければなりません。
global_work_offset
現時点では、global_work_offset は NULL でなければなりません。将来的には、要素数 work_dim の配列で、ワークアイテムグローバルIDを決定する際のオフセット値を指定できます。global_work_offset が NULL のとき(OpenCL 1.0では常に)、グローバルIDはオフセット値 (0,0,...0) で始まる値になります。
global_work_size[1]
要素数 work_dim の配列で、カーネル関数を実行する work_dim 次元のグローバルワークアイテムの数を指定します。グローバルワークアイテムの総数は、global_work_size[0] * global_work_size[1] * ... * global_work_size[work_dim - 1] です。
local_work_size

脚注

  1. (global_work_size で指定した値 + 対応する global_work_offset の値) は、カーネルを実行するデバイスの sizeof(size_t) が与える範囲をこえることはできません。デバイスの sizeof(size_t) は CL_DEVICE_ADDRESS_BITS を利用して確認できます。一例として、CL_DEVICE_ADDRESS_BITS=32(デバイスが32ビットアドレス空間を使用している) のとき、デバイスの size_t は32ビットの符号無し整数であり、global_work_size の値は [1, 232-1] の範囲内になければなりません。この範囲外の値が与えられると、CL_OUT_OF_RESOURCES エラーを返します。


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