Я не понимаю, как clEnqueueNDRangeKernel () работает при многократном вызове. Допустим, я ставлю в очередь 10 раз (например, с циклом for), каждый раз с global_work_size = 32. Допустим, ядро принимает глобальный аргумент, который заполняется с помощью get_global_id (0).
Мой вопрос касается перечисления глобальных идентификаторов.
Что я ожидал:
Global_id с наибольшим номером будет (10 * 32-1) = 319.
Что на самом деле происходит:
Глобальный идентификатор с наибольшим номером (32-1) = 31.
Может кто-нибудь объяснить, как каждый рабочий элемент перечисляется, шаг за шагом, когда выполняется несколько вызовов clEnqueueNDRangeKernel ()?