clCreateCommandQueue
About
特定のデバイスに対する OpenCL のコマンドキューを生成します。
- Original Reference
C/C++
cl_command_queue clCreateCommandQueue (cl_context context, cl_device_id device, cl_command_queue_properties properties, cl_int *errcode_ret)
C#
IntPtr clCreateCommandQueue (IntPtr context, IntPtr device, uint properties, out int errcode_ret);
Args
- context
- 有効なOpenCLコンテキストを指定します。
- device
- context に指定したOpenCLコンテキストに関連付けられたデバイスを指定します。clCreateContext によって context を生成するときに指定したデバイスか、あるいは、clCreateContextFromType によって指定したデバイスタイプと同じデバイスタイプのデバイスを指定することができます。
- properties
- コマンドキューのプロパティを指定します。この値は次のテーブルに述べられるビットフィールドです。properties に設定することのできるコマンドキューのプロパティは、次のテーブルに述べられているものだけです。それ以外の値が指定されるとき、properties は有効でないと判断されます。
- errcode_ret
- エラーコードの出力先を指定します。NULL のとき、エラーコードは返されません。
properties のテーブル
Command-Queue Properties | Description |
CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE | コマンドキューに含まれる命令(コマンド)が、順序通りに実行されるか否かを決定します。この値を設定するとき、コマンドキューに含まれる命令は、順序を無視して実行されます。設定しないとき、順序通りに実行されます。詳細については下の情報を参照してください。 |
CL_QUEUE_PROGILING_ENABLE | コマンドキューに含まれる命令(コマンド)のプロファイリングを有効または無効にします。この値を設定するとき、命令のプロファイリングが有効になります。設定しないとき、プロファイリングは無効になります。詳細については、clGetEventProfilingInfo を参照してください。 |
Return
実行に成功したとき、有効でゼロでないコマンドキューを返し、errcode に CL_SUCCESS を設定します。実行に失敗したとき、NULL を返し、errcode に次のうち1つのエラーを設定します。
- CL_INVALID_CONTEXT
- context に無効な値が指定されたとき。
- CL_INVALID_DEVICE
- device に無効な値が指定されたとき、指定された値が context に指定された値に関連付けられていないとき。
- CL_INVALID_VALUE
- value に無効な値が指定されたとき。
- CL_INVALID_QUEUE_PROPERTIES
- properties に指定した値が有効はあるが、デバイスによってサポートされないとき。
- CL_OUT_OF_RESOURCES
- デバイス上でリソースの確保、割り当てに失敗したとき。
- CL_OUT_OF_HOST_MEMORY
- ホスト上でリソースの確保、割り当てに失敗したとき。