Почему для данного ядра рабочие_группы всегда имеют одинаковый размер? Я где-то читал (для случая, когда мы не указываем локальный рабочий размер), что openCL создает 3 рабочие группы (по 217 рабочих элементов в каждой) для ядра с 651 рабочим элементом (делится на 3), в то время как он создает 653 рабочих -группы по 1 рабочему элементу в каждой, так как 653 - простое число.
Предположим, мы указываем local_work_size (то есть количество рабочих элементов в рабочей группе), скажем, 5. И мы дали общее количество рабочих элементов (global_work_size) как 9. Как будут создаваться рабочие группы? поэтому global_work_size должен быть кратным local_work_size? Если для данных требуется только 9 рабочих элементов, как мне увеличить их до 10 (кратно local_work_size, 5)?
Почему хост не может выделить память для массива результатов, если он не знает, сколько рабочих групп будет выполнять ядро?
Пожалуйста помоги. Я прочитал все это здесь: http://www.openclblog.com/2011/09/work-group-sizes.html