Re: [Beignet] [PATCH v2] GetEventProfilingInfo could query all event status.

2015-08-04 Thread Zhigang Gong
The spec only says if event is not in CL_COMPLETE status, it will get CL_PROFILING_INFO_NOT_AVAILABLE. It doesn't mean a clFinish() should update all events status. According to the spec, clFinish() only need to make sure the previously enqueued task has been processed and completed. Form my

Re: [Beignet] [PATCH v2] GetEventProfilingInfo could query all event status.

2015-08-04 Thread Yang, Rong R
I think these two patches both need when application GetEventProfilingInfo. From application view, it is make sense that all event that don't depend on other events should have been flushed and finished when clFinish return. The problem is the event have finished, but beignet don't update the

Re: [Beignet] [PATCH v2] GetEventProfilingInfo could query all event status.

2015-08-04 Thread Zhigang Gong
Beignet current uses an on-demand manner to maintain the events' status. For those APIs which need to get current events' status, we insert a cl_gpgpu_event_update_status(). It seems there is no need for clFinish(). If you could find any case that if we don't insert it in clFinish() then it will

Re: [Beignet] [PATCH v2] GetEventProfilingInfo could query all event status.

2015-08-04 Thread Yang, Rong R
The root cause of beignet using on-demand manner is no point to update event's status. If there have this point, I think there is no side effect to update the status. I just find an case: clEnqueueNDRange(., event); clSetEventCallback(event, ); clFinish(...); return; In event

Re: [Beignet] [PATCH v2] GetEventProfilingInfo could query all event status.

2015-08-04 Thread Zhigang Gong
For this special case, the user application has an serious bug which is forgetting to call clReleaseEvent() and will leak one event. For beignet, the real problem is if an application rely on event driven mechanism, then it may never get a chance to move forward, here is a simple example:

[Beignet] [PATCH] GBE/IR: add collectInsnNum to collect block instruction number.

2015-08-04 Thread xionghu . luo
From: Luo Xionghu xionghu@intel.com if we are in if/endif fix mode, the long if/endif block need be split to short ones, but we cannot do this in structuralized blocks, so don't generated long if/endif structuralized blocks here. the threshold is 1000 by estimate. Signed-off-by: Luo Xionghu

Re: [Beignet] [PATCH v2] GetEventProfilingInfo could query all event status.

2015-08-04 Thread Zhigang Gong
-Original Message- From: Beignet [mailto:beignet-boun...@lists.freedesktop.org] On Behalf Of Yang, Rong R Sent: Wednesday, August 5, 2015 1:05 PM To: Zhigang Gong; Luo, Xionghu Cc: beignet@lists.freedesktop.org Subject: Re: [Beignet] [PATCH v2] GetEventProfilingInfo could query