AN 824 FPGA SDK для платы OpenCL
План этажа пакета поддержки
Руководство пользователя
Intel® FPGA SDK для Руководство по оптимизации плана этажа с пакетом поддержки плат OpenCL ™
Руководство Intel/® FPGA SDK для OpenCL™ Board Support Package (BSP) Floorplan Optimization Guide содержит рекомендации по планированию этажей для OpenCL) BSP. В нем также содержатся рекомендации о том, как получить базовое начальное число с наилучшей средней максимальной рабочей частотой и оценить эффективность использования ресурсов BSP.
В этом документе предполагается, что вы знакомы с концепциями OpenCL(2), описанными в спецификации OpenCL версии 1.0 от Khronos Group.
Процесс компиляции OpenCL BSP
OpenCL BSP поддерживает следующие типы потоков компиляции:
- Плоская компиляция [–bsp-flow flat]: выполняет плоскую компиляцию всего проекта (BSP вместе с аппаратным обеспечением, созданным ядром).
- Базовая компиляция [–bsp-flow base]: выполняет базовую компиляцию с использованием ограничений LogicLock из base.qsf. file. Целевое значение тактовой частоты ядра ослаблено, так что аппаратное обеспечение BSP имеет больше свободы для согласования времени. База данных base.qar создается для сохранения оборудования BSP, которое является статическим регионом.
- Импортировать компиляцию [ ]: Восстанавливает закрытый статический регион синхронизации из базы данных base.qar и компилирует только аппаратное обеспечение, сгенерированное ядром. Это также увеличивает целевую частоту ядра, чтобы получить наилучшую максимальную рабочую частоту ядра (fmax).
Раздел плана этажа OpenCL BSP
План этажа OpenCL BSP в основном разделен на следующие два региона:
- Статический регион: представляет регион, имеющий оборудование, связанное с BSP, которое остается статическим. Время закрыто для этого региона во время базовой компиляции. В общем, цель состоит в том, чтобы свести к минимуму ресурсы чипа, используемые этим регионом для закрытия таймингов.
- Область ядра: представляет область частичной реконфигурации (PR), зарезервированную для модуля freeze_wrapper_inst|kernel_system_inst, который содержит ядро. В общем, цель — максимально зарезервировать ресурсы чипа для этого региона.
- Intel FPGA SDK для OpenCL основан на опубликованной спецификации Khronos и прошел процесс тестирования на соответствие Khronos. Текущий статус соответствия можно найти по адресу www.khronos.org/conformance.
- OpenCL и логотип OpenCL являются товарными знаками Apple Inc. и используются с разрешения Khronos Group™.
Корпорация Интел. Все права защищены. Intel, логотип Intel и другие товарные знаки Intel являются товарными знаками корпорации Intel или ее дочерних компаний. Корпорация Intel гарантирует производительность своих FPGA и полупроводниковых продуктов в соответствии с текущими спецификациями в соответствии со стандартной гарантией Intel, но оставляет за собой право вносить изменения в любые продукты и услуги в любое время без предварительного уведомления. Intel не принимает на себя никакой ответственности или обязательств, возникающих в связи с применением или использованием какой-либо информации, продуктов или услуг, описанных в настоящем документе, за исключением случаев, когда это прямо согласовано с корпорацией Intel в письменной форме. Клиентам Intel рекомендуется получить последнюю версию спецификаций устройств, прежде чем полагаться на какую-либо опубликованную информацию и размещать заказы на продукты или услуги.
*Другие названия и бренды могут быть заявлены как собственность других лиц.
Руководство по планированию этажей OpenCL BSP
- Начните с плоской компиляции, чтобы понять, где естественным образом размещаются все основные компоненты BSP (особенно блоки IP с соединениями ввода-вывода, такими как PCIe или DDR). При разработке BSP вам, возможно, придется подумать о создании конвейеров.tages между IP-адресами, чтобы закрыть время. Сначала вы должны запустить начальный анализ плоской компиляции, чтобы определить повторяющиеся ошибочные пути, а затем попытаться их исправить.
Совет: — Хорошая скорость закрытия по времени по сравнению с начальными развертками с плоской компиляцией будет иметь более высокие шансы закрытия основного времени компиляции.
— Если вы наблюдаете постоянные сбои в mm_interconnect* (компонент, добавленный Qsys), откройте Систему с помощью Qsys Interconnect. viewer и наблюдайте за сложностью неисправного межсоединения. Вы можете добавить конвейерные триггеры в viewэ., чтобы улучшить время. Если вы по-прежнему не можете устранить проблему, возможно, вам придется разбить критический путь mm_interconnect*, добавив конвейерные мосты Avalon. - Во время базовой компиляции начните с LogicLock в области ядра, которая содержит freeze_wrapper_inst|kernel_system_inst. Без каких-либо других ограничений Intel Quartus Prime может свободно размещать оборудование BSP в оставшейся статической области чипа. Используйте плоскую компиляцию и планировщик микросхем, чтобы определить размер и расположение оборудования BSP, такого как PCIe и DDR. Затем зарезервируйте область ядра с помощью LogicLock, избегая при этом основных кластерных областей оборудования BSP.
Совет. Если используемое семейство микросхем совпадает с эталонной платформой и если компоненты BSP аналогичны, возможно, будет быстрее начать с регионов LogicLock для freeze_wrapper_inst|kernel_system_inst, которые поставляются с эталонным BSP OpenCL, и устранить сбои. - Вы можете добавить в BSP следующие дополнительные компоненты:
— Банки памяти: если вы добавите больше банков памяти, вам следует указать местоположение банка ввода-вывода, поскольку вам может потребоваться добавить конвейерные мосты для соблюдения сроков.
— Каналы ввода-вывода: вы можете добавить каналы ввода-вывода, такие как видео, Ethernet или последовательный интерфейс. Если вы добавляете каналы ввода-вывода, вам следует указать расположение банка ввода-вывода, поскольку вам может потребоваться применить новые области LogicLock для конвейерной обработки, если время закрытия затруднено.
Совет: Если вам нужно добавить конвейерные мосты (например,ample из-за больших задержек маршрутизации, вызывающих сбои синхронизации), затем рассмотрите расстояние маршрутизации от исходной до конечной логики в микросхеме и освободите некоторое пространство, зарезервированное для области ядра. - Следуйте этим общим рекомендациям при резервировании регионов LogicLock для ядра:
— Попытаться поместить все столбцы DSP в kernel_system, если этого не требует BSP.
— Попытаться зарезервировать больше ресурсов для kernel_system.
— Попытка свести количество вырезов в области ядра к минимуму.
На следующем рисунке показан вырез, который был добавлен для размещения конвейерного моста между PCIe и банком DDR.
Рис. 1. План этажа OpenCL BSP для Intel Arria® 10 GX в версии 17.0
Рекомендации по максимальной рабочей частоте
Максимальная рабочая частота (fmax), достигаемая ядрами, во многом зависит от быстродействия FPGA, так как большинство IP уже должны быть оптимизированы. Однако в зависимости от плана этажа BSP могут быть некоторые потери fmax. Для бывшегоample, обычно количество вырезов в области ядра BSP влияет на fmax ядра.
Как показано на следующем рисунке, для получения наилучшего базового начального числа, которое дает наилучшее среднее значение fmax:
- Выполните начальный анализ базовой компиляции вместо выбора первого базового начального числа, соответствующего времени.
- Выполнить импортную компиляцию (используя несколько ядер из example design) на все проходящие базовые семена.
- Вычислите среднее fmax для всех базовых семян.
- Выберите базовое начальное число, которое дает самое высокое среднее значение fmax.
Базовое семя с лучшим средним значением fmax является хорошим кандидатом на выпуск с BSP. Если вы решите следовать подходу, отличному от рекомендуемых шагов, вы можете заметить 5-10% отклонение в fmax процесса компиляции импорта ядра.
Рисунок 2. Определение лучшего базового начального числа
- Чтобы понять, насколько быстро ядро может работать без ограничений плана этажа:
1. Выполните плоскую компиляцию ядра и наблюдайте за fmax.
2. Выполните импортную компиляцию на том же ядре и наблюдайте за fmax.
3. Сравните результаты fmax.
Из-за ограничений плана этажа, fmax при импорте компиляции всегда ниже, чем fmax при плоской компиляции. Чтобы избежать начального шума, скомпилируйте ядро с большим количеством базовых начальных значений и при сравнении результатов fmax учитывайте среднее значение fmax. - Никогда не сравнивайте ядро fmax из базовой компиляции с плоской или импортной компиляцией. Цели часов ядра ослабляются во время базовой компиляции, и, следовательно, вы никогда не получите хороших результатов.
- Соблюдайте критический путь синхронизации ядра в базовой или импортной компиляции. Если критический путь проходит от ядра к статической области плана этажа, измените план этажа или запустите еще несколько базовых начальных значений, чтобы избежать этого критического пути.
Руководство по оценке эффективности использования ресурсов BSP
Чем выше процент использования ресурсовtagд., тем лучше использование площади в статической области вашего BSP. Высокий процент использования ресурсовtage также означает, что для области ядра доступно больше ресурсов.
Выполните следующие действия, чтобы рассчитать процент использования ресурсов.tage вашего BSP:
- Получите значения для всех ресурсов в FPGA из top.fit.rpt или base.fit.rpt, доступных в разделе Статистика разделов отчета Fitter.
- Вычтите значение для «freeze_wrapper_inst|kernel_system_inst» (регион ядра).
Кончик:
Сосредоточьтесь больше на значениях модуля адаптивной логики (ALM), чем на значениях других ресурсов. Убедитесь, что процент использования ресурсовtage для ALM ближе к эталонному BSP OpenCL. Очень высокий процентtage для ALM может привести к перегрузке, что может увеличить время компиляции и привести к перегрузке маршрутизации в сложных ядрах. Тем не менее, вы всегда можете увеличить или уменьшить площадь статического региона и наблюдать за временем компиляции и fmax.
В следующей таблице показано использование ресурсов OpenCL BSP для устройств Arria® 10 GX в выпуске 17.0.
Таблица 1.
Использование ресурсов OpenCL BSP для устройств IntelArria 10 GX в выпуске 17.0
Всего доступно | Зарезервировано для ядра | Доступно для BSP | Используется БСП | 0/0 | |
ALM | 427200 | 393800 | 33400 | 23818. | 71% |
Регистры | 1708800 | 1575200 | 133600 | 38913 | 29% |
М2ОК | 2713 | 2534 | 179 | 134 | 75% |
ЦСП | 1518 | 1518 | 0 | 0 | Н/Д |
Обратите внимание, что планировка этажа выполнена таким образом, что в статической области не будет блоков DSP.
История изменений документа
Таблица 2.
Документ История изменений пакета Intel FPGA SDK для OpenCL Board Support Package Floorplan Optimization Guide
Дата | Версия | Изменения |
17 августа | Первоначальный выпуск. |
Онлайн версия
Отправить отзыв
ИД: 683312
АН-824
Версия: 2017.08.08
AN 824: Intel® FPGA SDK для платы OpenCL™
Руководство по оптимизации плана этажа пакета поддержки
Документы/Ресурсы
![]() |
Intel AN 824 FPGA SDK для пакета поддержки плат OpenCL Floorplan [pdf] Руководство пользователя AN 824 FPGA SDK для пакета поддержки OpenCL Board Floorplan, AN 824, FPGA SDK для пакета поддержки OpenCL Board Floorplan, Пакет поддержки OpenCL Board Floorplan, Пакет поддержки Board Floorplan, Пакет поддержки Floorplan, Пакет Floorplan, Floorplan |