логотип intelAN 824 FPGA SDK для плати OpenCL
Пакет підтримки Floorplan
Посібник користувача

 Intel® FPGA SDK для Посібник з оптимізації плану поверху пакета підтримки плати OpenCL™
Intel/® FPGA SDK for OpenCL™ Board Support Package (BSP) Floorplan Optimization Guide містить рекомендації щодо планування підлоги для OpenCL) BSP. Він також містить вказівки щодо того, як ви можете отримати базове насіння з найкращою середньою максимальною робочою частотою та оцінити ефективність використання ресурсів BSP.
У цьому документі передбачається, що ви знайомі з концепціями OpenCL(2), як описано в Специфікації OpenCL версії 1.0 групи Khronos.

Потік компіляції 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, який містить ядро. Загалом, мета — максимально зарезервувати чіпові ресурси для цього регіону.
  1. Intel FPGA SDK для OpenCL базується на опублікованій специфікації Khronos і пройшов процес тестування Khronos на відповідність. Поточний статус відповідності можна знайти за адресою www.khronos.org/conformance.
  2. OpenCL і логотип OpenCL є товарними знаками Apple Inc. і використовуються з дозволу Khronos Group™.

Корпорація Intel. Всі права захищені. Intel, логотип Intel та інші знаки Intel є товарними знаками корпорації Intel або її дочірніх компаній. Intel гарантує роботу своїх FPGA та напівпровідникових продуктів відповідно до поточних специфікацій відповідно до стандартної гарантії Intel, але залишає за собою право вносити зміни в будь-які продукти та послуги в будь-який час без попередження. Корпорація Intel не бере на себе жодної відповідальності чи зобов’язань, що виникають у зв’язку із застосуванням або використанням будь-якої інформації, продукту чи послуги, описаних тут, за винятком випадків, чітко наданих корпорацією Intel у письмовій формі. Клієнтам Intel рекомендується отримати останню версію специфікацій пристрою, перш ніж покладатися на будь-яку опубліковану інформацію та перед тим, як розміщувати замовлення на продукти чи послуги.
*Інші назви та бренди можуть бути власністю інших осіб.

Інструкції щодо планування поверхів OpenCL BSP

  • Почніть з плоскої компіляції, щоб зрозуміти, де всі основні компоненти BSP розміщуються природним чином (особливо IP-блоки з підключеннями вводу-виводу, такими як PCIe або DDR). Під час проектування BSP вам, можливо, доведеться розглянути можливість створення конвеєрівtages між IP-адресами для закриття часу. Ви повинні спочатку запустити плоску компіляцію, щоб визначити повторювані помилкові шляхи, а потім спробувати їх виправити.
    Порада: — Хороша швидкість закриття часу порівняно з рівними початковими циклами компіляції матиме вищі шанси закрити базовий час компіляції.
    — Якщо спостерігаються постійні збої в mm_interconnect* (компонент, доданий Qsys), відкрийте систему за допомогою Qsys Interconnect viewі спостерігайте за складністю несправного з’єднання. Ви можете додати конвеєрні тригери в 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 для конвеєрної обробки, якщо час закриття складний.
    Порада: якщо вам потрібно додати трубопровідні мости (наприклад,amp(наприклад, через великі затримки маршрутизації, що викликають збої синхронізації), тоді врахуйте відстань маршрутизації від джерела до логіки призначення в чіпі та звільніть деякий простір, зарезервований для області ядра.
  • Під час резервування регіонів LogicLock для ядра дотримуйтесь цих загальних вказівок:
    — Спроба розмістити всі стовпці DSP у kernel_system, якщо цього не вимагає BSP.
    — Спроба зарезервувати більше ресурсів для kernel_system.
    — Намагайтеся звести до мінімуму кількість виїмок в області ядра.
    На наступному малюнку показано виїмку, яку було додано для розміщення конвеєрного мосту між PCIe та банком DDR.

Рисунок 1. План поверху OpenCL BSP для Intel Arria® 10 GX у випуску 17.0

Intel AN 824 FPGA SDK for OpenCL Board Support Package Floorplan

Рекомендації щодо максимальної робочої частоти
Максимальна робоча частота (fmax), досягнута ядрами, значною мірою залежить від швидкості FPGA, оскільки більшість IP-адрес уже мають бути оптимізовані. Однак можуть бути деякі втрати fmax залежно від плану BSP. наприкладampнаприклад, зазвичай кількість вирізів в області ядра BSP впливає на fmax ядра.
Як показано на наступному малюнку, щоб отримати найкраще базове насіння, яке дає найкращу середню fmax:

  1. Замість того, щоб вибирати перше базове початкове значення, яке відповідає часовим параметрам, виконайте розгортку базової компіляції.
  2. Виконайте компіляцію імпорту (використовуючи декілька ядер із example designs) на всіх прохідних базових насіннях.
  3. Обчисліть середнє значення fmax для всіх базових насіння.
  4. Виберіть базове насіння, яке дає найвищий середній показник fmax.
    Базове насіння з найкращим середнім fmax є хорошим кандидатом для випуску з BSP. Якщо ви вирішите застосувати підхід, відмінний від рекомендованих кроків, ви можете спостерігати 5-10% варіацію у fmax процесу компіляції імпорту ядра.

Рисунок 2. Визначення найкращого базового насінняIntel AN 824 FPGA SDK for OpenCL Board Support Package Floorplan - рис

  • Щоб зрозуміти, наскільки швидко може працювати ядро ​​без обмежень плану приміщення:
    1. Виконайте плоску компіляцію ядра та дотримуйтесь fmax.
    2. Виконайте компіляцію імпорту на тому самому ядрі та спостерігайте за fmax.
    3. Порівняйте результати fmax.
    Через обмеження плану приміщення fmax імпортної компіляції завжди нижчий, ніж fmax плоскої компіляції. Щоб уникнути початкового шуму, скомпілюйте ядро ​​з більшою кількістю базових початкових значень і враховуйте середнє значення fmax під час порівняння результатів fmax.
  • Ніколи не порівнюйте fmax ядра з базової компіляції з плоскою або імпортованою компіляцією. Цілі годинника ядра розслаблюються під час базової компіляції, тому ви ніколи не отримаєте хороших результатів.
  • Зверніть увагу на критичний шлях годинника ядра в базовій або імпортованій компіляції. Якщо критичний шлях перетинається від ядра до статичної області на плані поверху, змініть план поверху або запустіть ще кілька базових початкових значень, щоб уникнути цього критичного шляху.

Рекомендації щодо оцінки ефективності використання ресурсів BSP

Чим вище відсоток використання ресурсівtage, тим краще використання площі в статичній площі вашого BSP. Високий відсоток використання ресурсівtage також означає, що для регіону ядра доступно більше ресурсів.
Виконайте наведені нижче дії, щоб обчислити відсоток використання ресурсуtage вашого BSP:

  1. Отримайте значення для всіх ресурсів у FPGA з top.fit.rpt або base.fit.rpt, доступних у розділі Partition Statistics звіту Fitter.
  2. Відніміть значення «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

Всього доступно Зарезервовано для Kernel Доступно для BSP Використовується BSP 0/0
ALM 427200 393800 33400 23818. 71.%
Реєстри 1708800 1575200 133600 38913 29.%
M2OK 2713 2534 179 134 75.%
DSP 1518 1518 0 0 N/A

Зверніть увагу, що планування поверху виконано таким чином, що статична область не матиме блоків DSP.

Історія переглядів документа

Таблиця 2.
Історія версій документа Intel FPGA SDK для пакета підтримки плати OpenCL Посібник з оптимізації плану поверху

Дата Версія Зміни
серпня-17 Початковий випуск.

значок Онлайн-версія
cardo 590878 Spirit Bluetooth Intercom - ICON 14 Надіслати відгук
ID: 683312
АН-824
Версія: 2017.08.08
AN 824: Intel® FPGA SDK для плати OpenCL™

Посібник з оптимізації плану поверху пакета підтримки

Документи / Ресурси

Intel AN 824 FPGA SDK for OpenCL Board Support Package Floorplan [pdfПосібник користувача
AN 824 FPGA SDK для пакета підтримки плати OpenCL Floorplan, AN 824, FPGA SDK для пакета підтримки OpenCL Board Floorplan, OpenCL Board Support Package Floorplan, Board Support Package Floorplan, Support Package Floorplan, Package Floorplan, Floorplan

Список літератури

Залиште коментар

Ваша електронна адреса не буде опублікована. Обов'язкові поля позначені *