Set Event Callback in OpenCL
这个 API 用来注册回调函数,在(Event 对应的)Command 执行到指定状态时,回调函数会被触发。这个 API 在使用及实现上不是很复杂。 以下是原型:
cl_int clSetEventCallback(
cl_event event,
cl_int command_exec_callback_type,
void (CL_CALLBACK *pfn_event_notify) (cl_event event,
cl_int event_command_exec_status,
void *user_data),
void *user_data)
其中 command_exec_callback_type
参数在不同版本里有 差异:
- OpenCL 1.1: The command execution callback value for which a callback can be registered is CL_COMPLETE.
- OpenCL 1.2 and later: The command execution callback value for which a callback can be registered is CL_SUBMITTED, CL_RUNNING, or CL_COMPLETE.
这个需要注意。