「OpenCL 1.1/Changes from OpenCL 1.0」の版間の差分
提供: Tommy6
細 |
|||
3行: | 3行: | ||
Appendix E, OpenCL 1.1 Specification Revision 33 の翻訳を含む。 | Appendix E, OpenCL 1.1 Specification Revision 33 の翻訳を含む。 | ||
− | == | + | == OpenCLランタイムへの機能の追加と変更 == |
− | * [[clGetDeviceInfo]] への param_name | + | * [[clGetDeviceInfo]] への param_name クエリとして以下が追加あるいは変更 |
** [[CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF]] - 半精度型について、推奨されるベクトルサイズを返す。ベクトルサイズはベクトル内に格納できるスカラ要素の数として定義される。 | ** [[CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF]] - 半精度型について、推奨されるベクトルサイズを返す。ベクトルサイズはベクトル内に格納できるスカラ要素の数として定義される。 | ||
** CL_DEVIDE_NATIVE_VECTOR_WIDTH_{CHAR|SHORT|INT|LONG|FLOAT|DOUBLE|HALF} - 命令セットアーキテクチャ?(ISA)のネイティブベクトルサイズを返す。ベクトルサイズは、ベクトルに格納されるスカラ要素の数として定義される。 [[cl_khr_fp64]] 拡張がサポートされていない場合、[[CL_DEVIDE_NATIVE_VECTOR_WIDTH_DOUBLE]] は0を返さなければならない。[[cl_khr_fp16]] 拡張がサポートされていない場合、[[CL_DEVIDE_NATIVE_VECTOR_WIDTH_HALF]] は0を返さなければならない。 | ** CL_DEVIDE_NATIVE_VECTOR_WIDTH_{CHAR|SHORT|INT|LONG|FLOAT|DOUBLE|HALF} - 命令セットアーキテクチャ?(ISA)のネイティブベクトルサイズを返す。ベクトルサイズは、ベクトルに格納されるスカラ要素の数として定義される。 [[cl_khr_fp64]] 拡張がサポートされていない場合、[[CL_DEVIDE_NATIVE_VECTOR_WIDTH_DOUBLE]] は0を返さなければならない。[[cl_khr_fp16]] 拡張がサポートされていない場合、[[CL_DEVIDE_NATIVE_VECTOR_WIDTH_HALF]] は0を返さなければならない。 | ||
** [[CL_DEVICE_HOST_UNIFIED_MEMORY]] - デバイスとホストが、統一されたメモリサブシステム(?)を持つのであれば CL_TRUE となり、そうでない場合は CL_FALSE。 | ** [[CL_DEVICE_HOST_UNIFIED_MEMORY]] - デバイスとホストが、統一されたメモリサブシステム(?)を持つのであれば CL_TRUE となり、そうでない場合は CL_FALSE。 | ||
** [[CL_DEVICE_OPENCL_C_VERSION]] - このデバイスに対応するコンパイラがサポートする OpenCL C 言語 のバージョンのうち最も高いものを文字列で返す。 | ** [[CL_DEVICE_OPENCL_C_VERSION]] - このデバイスに対応するコンパイラがサポートする OpenCL C 言語 のバージョンのうち最も高いものを文字列で返す。 | ||
+ | ** [[CL_DEVICE_MAX_PARAMETER_SIZE]] - 最小値が256から1024に変更。 | ||
+ | ** [[CL_DEVICE_LOCAL_MEM_SIZE]] - 最小値が16KBから32KBに変更。 | ||
* [[clGetContextInfo]] への param_name クエリとして [[CL_CONTEXT_NUM_DEVICES]] が追加 | * [[clGetContextInfo]] への param_name クエリとして [[CL_CONTEXT_NUM_DEVICES]] が追加 | ||
* [[clSetCommandQueueProperty]] が廃止 | * [[clSetCommandQueueProperty]] が廃止 | ||
21行: | 23行: | ||
** [[CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE]] - 推奨されるワークグループサイズの倍数を返す。 | ** [[CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE]] - 推奨されるワークグループサイズの倍数を返す。 | ||
** [[CL_KERNEL_PRIVATE_MEM_SIZE]] - カーネル内でそれぞれのワークアイテムが使用する[[プライベートメモリ]]の最小量を返す。 | ** [[CL_KERNEL_PRIVATE_MEM_SIZE]] - カーネル内でそれぞれのワークアイテムが使用する[[プライベートメモリ]]の最小量を返す。 | ||
+ | * [[clEnqueueNDRangeKernel]] の ''global_work_offset'' 引数に NULL 以外の値を指定できるように | ||
* [[ユーザーイベント]]のサポートが追加。ユーザーイベントによりアプリケーションは、デバイスが実行を開始する前にユーザーイベントの終了を待つコマンドをキューに挿入できるようになる。これをサポートする API として [[clCreateUserEvent]] および [[clSetUserEventStatus]] が追加。 | * [[ユーザーイベント]]のサポートが追加。ユーザーイベントによりアプリケーションは、デバイスが実行を開始する前にユーザーイベントの終了を待つコマンドをキューに挿入できるようになる。これをサポートする API として [[clCreateUserEvent]] および [[clSetUserEventStatus]] が追加。 | ||
* 特定のコマンド実行状態に対してコールバック関数を登録する [[clSetEventCallback]] が追加。 | * 特定のコマンド実行状態に対してコールバック関数を登録する [[clSetEventCallback]] が追加。 | ||
+ | * [[clSetKernelArg]] を除く全ての API 関数が[[スレッドセーフ]]に。 | ||
{{DEFAULTSORT:{{PAGENAME}}}} | {{DEFAULTSORT:{{PAGENAME}}}} | ||
[[Category:OpenCL]] | [[Category:OpenCL]] | ||
[[Category:OpenCL 1.1]] | [[Category:OpenCL 1.1]] |
2010年9月2日 (木) 16:52時点における版
Appendix E, OpenCL 1.1 Specification Revision 33 の翻訳を含む。
OpenCLランタイムへの機能の追加と変更
- clGetDeviceInfo への param_name クエリとして以下が追加あるいは変更
- CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF - 半精度型について、推奨されるベクトルサイズを返す。ベクトルサイズはベクトル内に格納できるスカラ要素の数として定義される。
- CL_DEVIDE_NATIVE_VECTOR_WIDTH_{CHAR|SHORT|INT|LONG|FLOAT|DOUBLE|HALF} - 命令セットアーキテクチャ?(ISA)のネイティブベクトルサイズを返す。ベクトルサイズは、ベクトルに格納されるスカラ要素の数として定義される。 cl_khr_fp64 拡張がサポートされていない場合、CL_DEVIDE_NATIVE_VECTOR_WIDTH_DOUBLE は0を返さなければならない。cl_khr_fp16 拡張がサポートされていない場合、CL_DEVIDE_NATIVE_VECTOR_WIDTH_HALF は0を返さなければならない。
- CL_DEVICE_HOST_UNIFIED_MEMORY - デバイスとホストが、統一されたメモリサブシステム(?)を持つのであれば CL_TRUE となり、そうでない場合は CL_FALSE。
- CL_DEVICE_OPENCL_C_VERSION - このデバイスに対応するコンパイラがサポートする OpenCL C 言語 のバージョンのうち最も高いものを文字列で返す。
- CL_DEVICE_MAX_PARAMETER_SIZE - 最小値が256から1024に変更。
- CL_DEVICE_LOCAL_MEM_SIZE - 最小値が16KBから32KBに変更。
- clGetContextInfo への param_name クエリとして CL_CONTEXT_NUM_DEVICES が追加
- clSetCommandQueueProperty が廃止
- clCreateSubBuffer を用いたサブバッファオブジェクト―他のバッファオブジェクトの特定の領域を参照するバッファオブジェクト―作成のサポートが追加
- バッファオブジェクトの矩形領域から読み出し、書き込み、複製を行う clEnqueueReadBufferRect / clEnqueueWriteBufferRect / clEnqueueCopyBufferRect が追加
- メモリオブジェクトが削除されそのリソースが開放されたときに呼び出されるコールバック関数を登録できる clSetMemObjectDestructorCallback が追加
- clGetMemObjectInfo への param_name クエリとして以下が追加
- CL_MEM_ASSOCIATED_MEMOBJECT - memobj が作成されたメモリオブジェクトを返す。clCreateSubBuffer に buffer 引数として指定されたメモリオブジェクトを返す。そうでない場合は NULL を返す。
- CL_MEM_OFFSET - memobj がclCreateSubBufferを用いて作られたサブバッファオブジェクトであるとき、オフセットを返す。memobjがサブバッファオブジェクトでないときは0を返す。
- 実行可能プログラムをビルドする際の OpenCL C のバージョンを指定するオプションが追加
- clGetKernelWorkGroupInfo への param_name クエリとして以下が追加
- CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE - 推奨されるワークグループサイズの倍数を返す。
- CL_KERNEL_PRIVATE_MEM_SIZE - カーネル内でそれぞれのワークアイテムが使用するプライベートメモリの最小量を返す。
- clEnqueueNDRangeKernel の global_work_offset 引数に NULL 以外の値を指定できるように
- ユーザーイベントのサポートが追加。ユーザーイベントによりアプリケーションは、デバイスが実行を開始する前にユーザーイベントの終了を待つコマンドをキューに挿入できるようになる。これをサポートする API として clCreateUserEvent および clSetUserEventStatus が追加。
- 特定のコマンド実行状態に対してコールバック関数を登録する clSetEventCallback が追加。
- clSetKernelArg を除く全ての API 関数がスレッドセーフに。