「clBuildProgram」の版間の差分

提供: Tommy6
移動: 案内検索
(Tommy6 (会話) による ID:325 の版を取り消し)
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_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 Revision 33, Version 1.1, The OpenCL Specification]
+
|[http://www.khronos.org/registry/cl/specs/opencl-1.1.pdf Version 1.1, The OpenCL Specification]
 
}}
 
}}
  

2014年7月2日 (水) 00:01時点における版

OpenCL > OpenCLマニュアル > OpenCLランタイム > OpneCLランタイムAPI > プログラムオブジェクト > clBuildProgram

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 では、プログラムソースもしくはバイナリを使用して実行可能プログラムをビルドできます。clBuildProgramclCreateProgramWithSource あるいは 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 - programclCreateProgramWithSource を使用して作成されたもので、コンパイラが利用可能でないとき。
  • CL_BUILD_PROGRAM_FAILURE - 実行可能プログラムのビルドに失敗したとき。このエラーは、ビルドが完了するまで clBuildProgram が返らないときに返されます。
  • +1.1(CL_OUT_OF_RESOURCES - デバイス上でのリソース確保に失敗したとき。)
  • CL_OUT_OF_HOST_MEMORY - ホスト上でのリソース確保に失敗したとき。

変更記録

脚注



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