「OpenCL 1.1/Changes from OpenCL 1.0」の版間の差分
提供: Tommy6
細 |
細 |
||
(1人の利用者による、間の2版が非表示) | |||
6行: | 6行: | ||
* [[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_DEVIDE_NATIVE_VECTOR_WIDTH_{CHAR|SHORT|INT|LONG|FLOAT|DOUBLE|HALF} - 命令セットアーキテクチャ?(ISA)のネイティブベクトルサイズを返す。 |
** [[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 言語 のバージョンのうち最も高いものを文字列で返す。 | ||
12行: | 12行: | ||
** [[CL_DEVICE_LOCAL_MEM_SIZE]] - 最小値が16KBから32KBに変更。 | ** [[CL_DEVICE_LOCAL_MEM_SIZE]] - 最小値が16KBから32KBに変更。 | ||
* [[clGetContextInfo]] への param_name クエリとして [[CL_CONTEXT_NUM_DEVICES]] が追加 | * [[clGetContextInfo]] への param_name クエリとして [[CL_CONTEXT_NUM_DEVICES]] が追加 | ||
− | * [[clSetCommandQueueProperty]] | + | * [[clSetCommandQueueProperty]] のサポートが廃止 |
* [[clCreateSubBuffer]] を用いたサブバッファオブジェクト―他のバッファオブジェクトの特定の領域を参照するバッファオブジェクト―作成のサポートが追加 | * [[clCreateSubBuffer]] を用いたサブバッファオブジェクト―他のバッファオブジェクトの特定の領域を参照するバッファオブジェクト―作成のサポートが追加 | ||
* バッファオブジェクトの矩形領域から読み出し、書き込み、複製を行う [[clEnqueueReadBufferRect]] / [[clEnqueueWriteBufferRect]] / [[clEnqueueCopyBufferRect]] が追加 | * バッファオブジェクトの矩形領域から読み出し、書き込み、複製を行う [[clEnqueueReadBufferRect]] / [[clEnqueueWriteBufferRect]] / [[clEnqueueCopyBufferRect]] が追加 | ||
39行: | 39行: | ||
** ベクトル関数 [[vec_step]]、[[shuffle]]、[[shuffle2]] | ** ベクトル関数 [[vec_step]]、[[shuffle]]、[[shuffle2]] | ||
* マクロ [[CL_VERSION_1_0]] および [[CL_VERSION_1_1]] が追加 | * マクロ [[CL_VERSION_1_0]] および [[CL_VERSION_1_1]] が追加 | ||
− | * マクロ [[__ROUNDING_MODE__]] | + | * マクロ [[__ROUNDING_MODE__]] のサポートが廃止 |
− | * 拡張機能 [[ | + | * 拡張機能 [[cl_khr_byte_addressable_store]] をコア機能として統合 |
* [[cl_khr_global_int32_base_atomics]]、[[cl_khr_global_int32_extended_atomics]]、[[cl_khr_local_int32_base_atomics]]、[[cl_khr_local_int32_extended_atmoics]] をコア機能として統合。組み込みアトミック関数としては atom_ プレフィックスの代わりに atomic_ プレフィックスを用いる。 | * [[cl_khr_global_int32_base_atomics]]、[[cl_khr_global_int32_extended_atomics]]、[[cl_khr_local_int32_base_atomics]]、[[cl_khr_local_int32_extended_atmoics]] をコア機能として統合。組み込みアトミック関数としては atom_ プレフィックスの代わりに atomic_ プレフィックスを用いる。 | ||
* OpenGL同期オブジェクトから[[OpenCLイベントオブジェクト]]を作る拡張機能 [[cl_khr_gl_event]] が追加 | * OpenGL同期オブジェクトから[[OpenCLイベントオブジェクト]]を作る拡張機能 [[cl_khr_gl_event]] が追加 |
2010年9月18日 (土) 09:15時点における最新版
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_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 関数がスレッドセーフに。
OpenCL C 言語への機能の追加と変更
- 要素数3のベクトルデータ型のサポートが追加
- 以下の組み込み関数が追加
- マクロ CL_VERSION_1_0 および CL_VERSION_1_1 が追加
- マクロ __ROUNDING_MODE__ のサポートが廃止
- 拡張機能 cl_khr_byte_addressable_store をコア機能として統合
- cl_khr_global_int32_base_atomics、cl_khr_global_int32_extended_atomics、cl_khr_local_int32_base_atomics、cl_khr_local_int32_extended_atmoics をコア機能として統合。組み込みアトミック関数としては atom_ プレフィックスの代わりに atomic_ プレフィックスを用いる。
- OpenGL同期オブジェクトからOpenCLイベントオブジェクトを作る拡張機能 cl_khr_gl_event が追加
- Direct3D 10 とメモリオブジェクトを共有する拡張機能 cl_khr_d3d10_sharing が追加
OpenCL組み込みプロファイルへの追加と変更
- cles_khr_int64 で64ビット整数をオプションとしてサポートできるように。