Учебник по обработке событий OpenCl - PullRequest
3 голосов
/ 17 сентября 2010

В моем последнем вопросе Очистка OpenCl вызывает segfault. , кто-то намекнул, что пропущенная обработка событий, то есть не ожидание завершения кода, может вызвать ошибки seg.С тех пор я снова посмотрел учебники, которые я использовал, но они не обращают внимания на события ( Matrix Multiplication 1 (OpenCL) и NVIDIA_OpenCL_GettingStartedLinux.pdf) или рассказывают об этом подробно и (для меня) понятно.

Знаете ли вы учебник по where and how to wait в OpenCL?

Merci!

1 Ответ

6 голосов
/ 21 сентября 2010

У меня нет учебника по событиям в OpenCL, и я ни в коем случае не эксперт, но так как никто больше не отвечает ...

Как правило, вынужно подождать любую функцию с именем clEnqueue*.Эти функции возвращаются непосредственно перед выполнением работы.Самый простой способ убедиться, что ваша очередь закончена, это позвонить по номеру clFinish().Он не вернется, пока вся очередь не будет завершена.

Если вы хотите немного поумнеть, большинство функций clEnqueue* имеют необязательный параметр cl_event, который можно передать.для определенного события с помощью clGetEventInfo(), и вы можете дождаться окончания определенного набора событий с clWaitForEvents().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...