「clBuildProgram」の版間の差分
提供: Tommy6
細 |
|||
9行: | 9行: | ||
{{翻訳| | {{翻訳| | ||
+ | {{ChangeNote|1.1}} | ||
+ | |||
''program'' と関連付けられた[[OpenCLコンテキスト]]内の全てもしくは特定のデバイス用の実行可能プログラムを、プログラムソースもしくはバイナリからビルド(コンパイルとリンク)します。[[OpenCL]] では、プログラムソースもしくはバイナリを使用して実行可能プログラムをビルドできます。[[clBuildProgram]] は [[clCreateProgramWithSource]] あるいは [[clCreateProgramWithBinary]] を呼び出して作成した ''program'' に対して使用しなければなりません。 | ''program'' と関連付けられた[[OpenCLコンテキスト]]内の全てもしくは特定のデバイス用の実行可能プログラムを、プログラムソースもしくはバイナリからビルド(コンパイルとリンク)します。[[OpenCL]] では、プログラムソースもしくはバイナリを使用して実行可能プログラムをビルドできます。[[clBuildProgram]] は [[clCreateProgramWithSource]] あるいは [[clCreateProgramWithBinary]] を呼び出して作成した ''program'' に対して使用しなければなりません。 | ||
19行: | 21行: | ||
:''program'' と関連付けられたデバイスのリストへのポインタを指定します。''deivce_list'' が NULL のとき、''program'' と関連付けられたすべてのデバイス用の実行可能プロうグラムがビルドされます。''deivce_list'' が NULL でないとき、このリストで指定されたデバイス用の実行可能プログラムがビルドされます。 | :''program'' と関連付けられたデバイスのリストへのポインタを指定します。''deivce_list'' が NULL のとき、''program'' と関連付けられたすべてのデバイス用の実行可能プロうグラムがビルドされます。''deivce_list'' が NULL でないとき、このリストで指定されたデバイス用の実行可能プログラムがビルドされます。 | ||
;options | ;options | ||
− | :実行可能プログラムをビルドする際に適用するビルドオプションを指定する NULL | + | :実行可能プログラムをビルドする際に適用するビルドオプションを指定する {{ChangePlus|1.1|NULL 終端}}文字列へのポインタを指定します。サポートされるオプションについては[[#ビルドオプション|以下の節]]にあります。 |
;pfn_notify | ;pfn_notify | ||
:[[コールバック関数]]を登録します。アプリケーションがコールバック関数を登録すると、実行可能プログラムがビルドされたときに、登録した関数が成功失敗に関わらず呼び出されます。''pfn_notify'' が NULL でないとき、[[clBuildProgram]] はビルドの完了を待つ必要が無くなりすぐに返ることができます。''pfn_notify'' が NULL のとき、[[clBuildProgram]] はビルドが完了するまで返りません。このコールバック関数は非同期的に呼び出されます。コールバック関数が[[スレッドセーフ]]であることを確実にするのは、アプリケーションの責任です。このコールバック関数に対するパラメータは以下のとおりです。 | :[[コールバック関数]]を登録します。アプリケーションがコールバック関数を登録すると、実行可能プログラムがビルドされたときに、登録した関数が成功失敗に関わらず呼び出されます。''pfn_notify'' が NULL でないとき、[[clBuildProgram]] はビルドの完了を待つ必要が無くなりすぐに返ることができます。''pfn_notify'' が NULL のとき、[[clBuildProgram]] はビルドが完了するまで返りません。このコールバック関数は非同期的に呼び出されます。コールバック関数が[[スレッドセーフ]]であることを確実にするのは、アプリケーションの責任です。このコールバック関数に対するパラメータは以下のとおりです。 | ||
40行: | 42行: | ||
* CL_COMPILER_NOT_AVAILABLE - ''program'' が [[clCreateProgramWithSource]] を使用して作成されたもので、コンパイラが利用可能でないとき。 | * CL_COMPILER_NOT_AVAILABLE - ''program'' が [[clCreateProgramWithSource]] を使用して作成されたもので、コンパイラが利用可能でないとき。 | ||
* CL_BUILD_PROGRAM_FAILURE - 実行可能プログラムのビルドに失敗したとき。このエラーは、ビルドが完了するまで [[clBuildProgram]] が返らないときに返されます。 | * CL_BUILD_PROGRAM_FAILURE - 実行可能プログラムのビルドに失敗したとき。このエラーは、ビルドが完了するまで [[clBuildProgram]] が返らないときに返されます。 | ||
− | * | + | * {{ChangePlus|1.1|CL_OUT_OF_RESOURCES - デバイス上でのリソース確保に失敗したとき。}} |
− | + | ||
* CL_OUT_OF_HOST_MEMORY - ホスト上でのリソース確保に失敗したとき。 | * CL_OUT_OF_HOST_MEMORY - ホスト上でのリソース確保に失敗したとき。 | ||
49行: | 50行: | ||
<references /> | <references /> | ||
− | |[http://www.khronos.org/registry/cl/specs/opencl-1.1.pdf | + | |[http://www.khronos.org/registry/cl/specs/opencl-1.1.pdf Version 1.1, The OpenCL Specification] |
}} | }} | ||
2014年7月2日 (水) 00:01時点における版
cl_int clBuildProgram (cl_program program, cl_uint num_devices, const cl_device_id *device_list, const char *options,
void (CL_CALLBACK *pfn_notify)(cl_program program, void *user_data), void *user_data)
-1.1() : OpenCL 1.1で削除
+1.1() : OpenCL 1.1で追加
program と関連付けられたOpenCLコンテキスト内の全てもしくは特定のデバイス用の実行可能プログラムを、プログラムソースもしくはバイナリからビルド(コンパイルとリンク)します。OpenCL では、プログラムソースもしくはバイナリを使用して実行可能プログラムをビルドできます。clBuildProgram は clCreateProgramWithSource あるいは clCreateProgramWithBinary を呼び出して作成した program に対して使用しなければなりません。
パラメータ
- program
- 有効なプログラムオブジェクトを指定します。
- num_devices
- device_list 引数に渡したデバイスの数を指定します。
- device_list
- program と関連付けられたデバイスのリストへのポインタを指定します。deivce_list が NULL のとき、program と関連付けられたすべてのデバイス用の実行可能プロうグラムがビルドされます。deivce_list が NULL でないとき、このリストで指定されたデバイス用の実行可能プログラムがビルドされます。
- options
- 実行可能プログラムをビルドする際に適用するビルドオプションを指定する +1.1(NULL 終端)文字列へのポインタを指定します。サポートされるオプションについては以下の節にあります。
- pfn_notify
- コールバック関数を登録します。アプリケーションがコールバック関数を登録すると、実行可能プログラムがビルドされたときに、登録した関数が成功失敗に関わらず呼び出されます。pfn_notify が NULL でないとき、clBuildProgram はビルドの完了を待つ必要が無くなりすぐに返ることができます。pfn_notify が NULL のとき、clBuildProgram はビルドが完了するまで返りません。このコールバック関数は非同期的に呼び出されます。コールバック関数がスレッドセーフであることを確実にするのは、アプリケーションの責任です。このコールバック関数に対するパラメータは以下のとおりです。
- user_data
- ユーザが与えたデータへのポインタです。
- user_data
- pfn_notify が呼び出されたときに、user_data 引数として渡されます。NULL を指定することもできます。
ビルドオプション
エラー
実行が成功した場合、clBuildProgram は CL_SUCCESS を返します。そうでない場合は以下のエラーのうちひとつを返します。
- CL_INVALID_PROGRAM - program が有効なプログラムオブジェクトでないとき。
- CL_INVALID_VALUE - device_list が NULL で num_devices が 0 より大きいとき。あるいは、device_list が NULL でなく num_devices が 0 のとき。
- CL_INVALID_VALUE - pfn_notify が NULL で user_data が NULL でないとき。
- CL_INVALID_DEVICE - device_list にリストされたOpenCLデバイスが program に関連付けられたデバイスのリスト内にないとき。
- CL_INVALID_BINARY - clCreateWithProgramBinary を使用して作成した program について、device_list 内のデバイス用の有効なプログラムバイナリがないとき。
- CL_INVALID_BUILD_OPTIONS - options に指定したビルドオプションが有効でないとき。
- CL_INVALID_OPERATION - この呼び出しより前に program に対して行われた clBuildProgram の呼び出しでの、device_list 内のいずれかのデバイスについての実行可能プログラムのビルドが完了していないとき。
- CL_COMPILER_NOT_AVAILABLE - program が clCreateProgramWithSource を使用して作成されたもので、コンパイラが利用可能でないとき。
- CL_BUILD_PROGRAM_FAILURE - 実行可能プログラムのビルドに失敗したとき。このエラーは、ビルドが完了するまで clBuildProgram が返らないときに返されます。
- +1.1(CL_OUT_OF_RESOURCES - デバイス上でのリソース確保に失敗したとき。)
- CL_OUT_OF_HOST_MEMORY - ホスト上でのリソース確保に失敗したとき。
変更記録
脚注
―――― Version 1.1, The OpenCL Specification
より翻訳