B.35. イベントオブジェクト

B.35.1. clCreateUserEvent

Table B.93. 表:clCreateUserEvent

関数

cl_event

clCreateUserEvent (
    cl_context context,
    cl_int *errcode_ret
)

ユーザイベントオブジェクトを生成。ユーザイベントはコマン ドがデバイスに実行される前に、アプリケーションがユーザーイベ ントを終了するまで待機するコマンドを挿入させることを可能とする。

引数

context

有効なOpenCLコ
ンテキストを指定。

errcode_ret

適切なエラーコー
ドを戻す。NULLの場
合、エラーコードは戻
さない。

成功した場合の戻り値

ユーザイベント オブジェクト

失敗した場合の errcode_retに設定 されるエラーコード

CL_INVALID_ CONTEXT

contextが有効
なコンテキストで
ない場合。

CL_OUT_ OF_RESOURCES

デバイス上のOpenCL
実装が必要とする
リソース確保に失敗
した場合。

CL_OUT_OF_ HOST_MEMORY

ホスト上のOpenCL
実装が必要とする
リソース確保に失敗
した場合。

B.35.2. clSetUserEventStatus

Table B.94. 表:clSetUserEventStatus

関数

cl_int

clSetUserEventStatus (
    cl_event event,
    cl_int execution_status
)

ユーザイベントオブジェクトの実行状態を設定。

引数

event

clCreateUserEventを使って生成したユーザイベントオブ
ジェクトを指定。

execution_ status

設定される新たな実
行状態を指定。
CL_COMPLETEまたは、
負の整数値でエラーを
示すことができる。負
の整数値は全ての挿入さ
れたユーザーイベント
待機中のコマンドを停止
させる。clSetUser
EventStatusはイベン
トの実行状態を変更する
ときのみ呼び出せる。

成功した場合の戻り値

CL_SUCCESS

失敗した場合の戻り値

CL_INVALID_ EVENT

eventが有効なユーザ
イベントオブジェクトの場合。

CL_INVALID_ VALUE

execution_status
がCL_COMPLETEでな
いか、負の整数値の場合。

CL_INVALID_ OPERATION

execution_status
が既に前のclSetUser
EventStatusの呼び
出しで変更されてい
る場合。

CL_OUT_OF_ RESOURCES

デバイス上のOpenCL
実装が必要とする
リソース確保に失敗
した場合。

CL_OUT_OF_ HOST_MEMORY

ホスト上のOpenCL
実装が必要とする
リソース確保に失敗
した場合。

B.35.3. clWaitForEvents

Table B.95. 表:clWaitForEvents

関数

cl_int

clWaitForEvents (
    cl_uint num_events,
    const cl_event *event_list
)

event_list内のイベントオブジェクトで識別されるコマン ドのホストスレッドの完了を待機。実行ステータスがCL_COMPLETE または負の値の場合、コマンドは完了とみなす。event_listで指 定したイベントは同期点としても作用する。

成功した場合の戻り値

CL_SUCCESS

失敗した場合の戻り値

CL_INVALID_VALUE

num_eventsが0の場合。
event_listがNULLの場合。

CL_INVALID_ CONTEXT

event_list内のイ
ベントが同じコンテキ
ストに所属しない場合。

CL_INVALID_ EVENT

event_list内のイ
ベントオブジェクト
が有効なイベントオ
ブジェクトでない場合。

CL_EXEC_ STATUS_ERROR_ FOR_EVENTS_ IN_WAIT_LIST

event_list内の、
いずれかのイベント
の実行状態が負の
整数値の場合。

CL_OUT_OF_ RESOURCES

デバイス上のOpenCL
実装が必要とする
リソース確保に失敗
した場合。

CL_OUT_OF_ HOST_MEMORY

ホスト上のOpenCL
実装が必要とする
リソース確保に失敗
した場合。

B.35.4. clGetEventInfo

Table B.96. 表:clGetEventInfo

関数

cl_int

clGetEventInfo (
    cl_event event,
    cl_event_info param_name,
    size_t param_value_size,
    void *param_value,
    size_t *param_value_size_ret
)

イベントオブジェクトに関する情報を取得。

引数

event

情報取得するイベ
ントオブジェクト
を指定。

param_name

取得する情報の
パラメータの名称
を指定。

param_value

取得する結果が
戻されるメモリを
指すポインタ。
NULLの場合は無視。

param_value_ size

param_value
を指すメモリのバ
イトサイズを指定。
サイズは戻り値の型
のサイズ以上とな
る必要がある。

param_value_ size_ret

param_valueに
複製されるデータ
の実際のバイトサイ
ズを戻す。NULLの
場合は無視。

成功した場合の戻り値

CL_SUCCESS

失敗した場合の戻り値

CL_INVALID_ VALUE

param_nameが
有効でない場合。

param_value_
sizeが指定する
バイトサイズが戻
り値型のサイズよ
り小さい場合。

CL_INVALID_ VALUE

param_nameで指
定した取得するイベ
ント情報が、取得で
きない場合。

CL_INVALID_ EVENT

eventが有効なイ
ベントオブジェクト
でない場合。

CL_OUT_OF_ RESOURCES

デバイス上のOpenCL
実装が必要とする
リソース確保に失敗
した場合。

CL_OUT_OF_ HOST_MEMORY

ホスト上のOpenCL
実装が必要とする
リソース確保に失敗
した場合。

B.35.5. cl_event_info

Table B.97. 表:cl_event_info

cl_event_
info

戻り値型
param_value
に戻される情報
CL_EVENT_
COMMAND_
QUEUE
cl_command_
queue
eventに関連づけら
れたcommand-queue
を戻す。ユーザイベ
ントオブジェクトであ
れば、NULL値を戻す。
CL_EVENT_
CONTEXT
cl_context

eventに関連付け
られたコンテキスト
を戻す。

CL_EVENT_
COMMAND_
TYPE
cl_command_
type
eventに関連付け
られたコマンドを戻
す。次のいずれかの
値をとる。

CL_COMMAND_
NDRANGE_KERNEL

CL_COMMAND_
TASK

CL_COMMAND_
NATIVE_KERNEL

CL_COMMAND_
READ_BUFFER

CL_COMMAND_
WRITE_BUFFER

CL_COMMAND_
COPY_BUFFER

CL_COMMAND_
READ_IMAGE

CL_COMMAND_
WRITE_IMAGE

CL_COMMAND_
COPY_IMAGE

CL_COMMAND_
COPY_BUFFER_
TO_IMAGE

CL_COMMAND_
COPY_IMAGE_
TO_BUFFER

CL_COMMAND_
MAP_BUFFER

CL_COMMAND_
MAP_IMAGE

CL_COMMAND_
UNMAP_MEM_
OBJECT

CL_COMMAND_
MARKER

CL_COMMAND_
ACQUIRE_GL_
OBJECTS

CL_COMMAND_
RELEASE_GL_
OBJECTS

CL_COMMAND_
READ_BUFFER_
RECT

CL_COMMAND_
WRITE_BUFFER_
RECT

CL_COMMAND_
COPY_BUFFER_
RECT

CL_COMMAND_
USER

CL_COMMAND_
BARRIER

CL_COMMAND_
MIGRATE_MEM_
OBJECTS

CL_COMMAND_
FILL_BUFFER

CL_COMMAND_
FILL_IMAGE
CL_EVENT_
COMMAND_
EXECUTION_
STATUS

cl_int


eventで識別されるコマンドの実行状態を戻す。

有効な値は:

CL_QUEUED
– command_queueに
コマンドが挿入された。

CL_SUBMITTED
– 挿入されたコマンド
がホストから、
command-queueに関
連付けられたデバイス
に送信された。

CL_RUNNING
– デバイスがコマ
ンドの実行中。

CL_COMPLETE
– コマンドが完了。
CL_EVENT_
REFERENCE_
COUNT

cl_uint


イベントの参照
カウントを戻す。

Copyright 2018-2019, by Masaki Komatsu