「clEnqueueNDRangeKernel」の版間の差分

提供: Tommy6
移動: 案内検索
(ページの作成: {{Pathnav|OpenCL|OpenCLマニュアル|OpenCLランタイム|OpenCLランタイムAPI|カーネルの実行}} {{関数| cl_int clEnqueueNDRangeKernel ([[cl_command_queue...)
 
21行: 21行:
 
:<span style{{=}}"background-color:#DDDDFF;">現時点では、''global_work_offset'' は NULL でなければなりません。将来的には、</span>要素数 ''work_dim'' の配列で、[[ワークアイテム]]の[[グローバルID]]を決定する際のオフセット値を指定できます。''global_work_offset'' が NULL のとき([[OpenCL 1.0]]では常に)、グローバルIDはオフセット値 (0,0,...0) で始まる値になります。
 
:<span style{{=}}"background-color:#DDDDFF;">現時点では、''global_work_offset'' は NULL でなければなりません。将来的には、</span>要素数 ''work_dim'' の配列で、[[ワークアイテム]]の[[グローバルID]]を決定する際のオフセット値を指定できます。''global_work_offset'' が NULL のとき([[OpenCL 1.0]]では常に)、グローバルIDはオフセット値 (0,0,...0) で始まる値になります。
 
;global_work_size<ref>(''global_work_size'' で指定した値<span style{{=}}"background-color:#FFEEEE;"> + 対応する ''global_work_offset'' の値</span>) は、カーネルを実行するデバイスの [[sizeof]]([[size_t]]) が与える範囲をこえることはできません。デバイスの [[sizeof]]([[size_t]]) は [[CL_DEVICE_ADDRESS_BITS]] を利用して確認できます。一例として、CL_DEVICE_ADDRESS_BITS{{=}}32(デバイスが32ビットアドレス空間を使用している) のとき、デバイスの [[size_t]] は32ビットの符号無し整数であり、''global_work_size'' の値は [1, 2<sup>32</sup>-1] の範囲内になければなりません。この範囲外の値が与えられると、CL_OUT_OF_RESOURCES エラーを返します。</ref>
 
;global_work_size<ref>(''global_work_size'' で指定した値<span style{{=}}"background-color:#FFEEEE;"> + 対応する ''global_work_offset'' の値</span>) は、カーネルを実行するデバイスの [[sizeof]]([[size_t]]) が与える範囲をこえることはできません。デバイスの [[sizeof]]([[size_t]]) は [[CL_DEVICE_ADDRESS_BITS]] を利用して確認できます。一例として、CL_DEVICE_ADDRESS_BITS{{=}}32(デバイスが32ビットアドレス空間を使用している) のとき、デバイスの [[size_t]] は32ビットの符号無し整数であり、''global_work_size'' の値は [1, 2<sup>32</sup>-1] の範囲内になければなりません。この範囲外の値が与えられると、CL_OUT_OF_RESOURCES エラーを返します。</ref>
:要素数 ''work_dim'' の配列で、カーネル関数を実行する ''work_dim'' 次元のグローバルワークアイテムの数を指定します。グローバルワークアイテムの総数は、''global_work_size''[0] * ''global_work_size''[1] * ... * ''global_work_size''[''work_dim'' - 1] になります。
+
:要素数 ''work_dim'' の配列で、カーネル関数を実行する ''work_dim'' 次元のグローバルワークアイテムの数を指定します。グローバルワークアイテムの総数は、''global_work_size''[0] * ''global_work_size''[1] * ... * ''global_work_size''[''work_dim'' - 1] です。
 
;local_work_size
 
;local_work_size
 
:
 
:

2011年5月21日 (土) 00:03時点における版

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 エラーを返します。


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