Мне нужно уточнение. Я разрабатываю OpenCL на своем ноутбуке с небольшим графическим процессором nvidia (310M). Когда я запрашиваю устройство для CL_DEVICE_MAX_COMPUTE_UNITS
, результат равен 2. Я читал, что количество рабочих групп для запуска ядра должно соответствовать количеству вычислительных единиц (Гетерогенные вычисления с OpenCL, глава 9, стр. 186), в противном случае это приведет к слишком большому объему глобальной памяти bandwitdh.
Также указан чип с 16 ядрами cuda (которые соответствуют PE, которые, как я полагаю). Означает ли это, что теоретически наиболее эффективная настройка для этого gpu, касающаяся глобальной полосы пропускания памяти, состоит в том, чтобы иметь две рабочие группы с 16 рабочими элементами каждый?