2014-11-18 1 views
0

Если я вызываю clEnqueueWriteBuffer четыре раза подряд, и я получаю событие, когда четвертый вызов завершает, могу ли я предположить, что три предыдущих записи также завершены?Серии вызовов clEnqueueWriteBuffer

+1

Если вы не установили свойство 'CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE' очереди команд, тогда да. –

+0

Спасибо! Повторно отправьте это как ответ, чтобы я мог дать вам полные оценки :) – Jacko

ответ

1

Если очередь в порядке, это будет работать. Однако, по причинам технического обслуживания, было бы неразумно предполагать, что очередь в порядке. В этом случае вы бы лучше:

  • используя барьер явно сказать, что вы хотите каждый предшествующий команда завершения
  • цепочки операций копирования с событиями между каждой парой
  • или создание маркер на основе событий завершения всех операций копирования.

Лучше спроектировать свой код на будущее, а не делать предположения на основе флагов, которые вы передали в свою очередь.

+0

В итоге я ожидал завершения событий со всех четырех вызовов копирования – Jacko

Смежные вопросы