Помимо рабочих элементов, рабочие группы также передаются по конвейеру в каждом CU. Следовательно, у вас есть несколько рабочих групп в полете в одном CU одновременно, чтобы максимизировать эффективность конвейера. Если в вашем проекте используются буферы на основе локальной памяти, при проверке отчета в формате HTML вы увидите, что компилятор дополнительно реплицирует эти буферы для поддержки определенного количества «одновременных рабочих групп». Число таких рабочих групп, по-видимому, равно глубине конвейера на единицу CU, деленной на размер рабочей группы. В конце концов, все рабочие элементы из всех рабочих групп, работающих одновременно в одном и том же CU, передаются по конвейеру один за другим, причем рабочие элементы, принадлежащие каждому CU, используют свои собственные локальные буферы, и для каждой рабочей группы применяется синхронизация барьеров. Новая рабочая группа будет запланирована в каждом CU, возможно, после того, как одна из одновременно работающих рабочих групп полностью покинет CU.
PS Возможно, легче получить помощь, связанную с Intel FPGA SDK для OpenCL. на их собственном форуме.
PPS Подробная информация о планировщике рабочих элементов Intel OpenCL нигде не документирована.