Комментировать

Проверил в профилеровщике -

Проверил в профилеровщике - global load hit=0%
Но вот, что интересно: NVidia OpenCL сама разбивает глобальное количество блоков так, чтобы за один раз запукалось 65535, например для N=67108864 ядро запускалось три раза с количеством блоков 65535, 65535, 2 (размер блока 512).
Причём видимо запуск новой группы блоков каждый раз инициируется с хоста, а не с устройства, так как если я запускаю с таким N, что всё умещается в одну группу блоков(N=33553920), показатель немного больше:
SAEqB: 124.7Gb/s
DAEqB: 137.3Gb/s

Я предполагаю, что на задачах с большим количеством потоков выгоднее использовать двухмерные и трёхмерные блоки, а не давать драйверу запускать несколько раз ядро.