This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

在malit760 上调用openCL的clEnqueueMapBuffer,出现CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST的错误

hi,All,

我在编写openCL时调用clEnqueueMapBuffer,在其中blocking_map 是CL_TRUE,event_wait_list以及num_events_in_wait_list 都是NULL。却出现了CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST的错误,我查了一下引起该错误的原因是:

CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST if the map operation is blocking and the execution status of any of the events in event_wait_list is a negative integer value.

但我的event_wait_list是NULL,根本没有值。该问题主要出现在mali-t760 上,而adreno 以及桌面GPU都没有出现类似的问题。不知是不是驱动bug?

Thx,

Phenix.

Parents
  • 这个不是bug, blocking map这类的顺序执行在我们的driver里面是通过internal dependency来实现的, 就算user没有create event,

    我们也会在内部生成一个event, 挂在前面那个enqueue命令上. 所以这个failure说明用户之前有enqueuekernel执行出错了.

    可以检查一下之前是哪个出错的, 可以考虑用上events, 这样用户自己有explicit dependency, 比较方便找出是哪个出错了.

Reply
  • 这个不是bug, blocking map这类的顺序执行在我们的driver里面是通过internal dependency来实现的, 就算user没有create event,

    我们也会在内部生成一个event, 挂在前面那个enqueue命令上. 所以这个failure说明用户之前有enqueuekernel执行出错了.

    可以检查一下之前是哪个出错的, 可以考虑用上events, 这样用户自己有explicit dependency, 比较方便找出是哪个出错了.

Children