AN 824 FPGA SDK для платы OpenCL
План паверха пакета падтрымкі
Кіраўніцтва карыстальніка
Intel® FPGA SDK для OpenCL ™ Board Support Package Floorplan Optimization Guide
Intel/® FPGA SDK for 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 або яе даччыных кампаній. Intel гарантуе прадукцыйнасць сваёй FPGA і паўправадніковай прадукцыі ў адпаведнасці з бягучымі спецыфікацыямі ў адпаведнасці са стандартнай гарантыяй Intel, але пакідае за сабой права ўносіць змены ў любыя прадукты і паслугі ў любы час без папярэдняга паведамлення. Intel не нясе ніякай адказнасці або абавязацельстваў, якія вынікаюць з прымянення або выкарыстання любой інфармацыі, прадукту або паслугі, апісаных тут, за выключэннем выпадкаў, прама ўзгодненых Intel у пісьмовай форме. Кліентам Intel рэкамендуецца атрымаць апошнюю версію спецыфікацый прылады, перш чым спадзявацца на любую апублікаваную інфармацыю і перад размяшчэннем заказаў на прадукты ці паслугі.
*Іншыя назвы і брэнды могуць быць заяўлены як уласнасць іншых.
Кіраўніцтва па планіроўцы паверхаў OpenCL BSP
- Пачніце з плоскай кампіляцыі, каб зразумець, дзе натуральным чынам размяшчаюцца ўсе асноўныя кампаненты BSP (асабліва IP-блокі з злучэннямі ўводу/вываду, такімі як PCIe або DDR). Пры распрацоўцы BSP вам, магчыма, прыйдзецца падумаць аб усталяванні канвеераtages паміж IP-адрасамі для закрыцця часу. Вы павінны спачатку запусціць плоскую кампіляцыю, каб выявіць перыядычныя памылковыя шляхі, а потым паспрабаваць іх выправіць.
Парада: — Добры паказчык часу закрыцця ў параўнанні з плоскімі пачатковымі зачысткамі кампіляцыі будзе мець больш высокія шанцы закрыцця базавага часу кампіляцыі.
— Калі вы назіраеце паслядоўныя збоі ў mm_interconnect* (кампанент, дададзены Qsys), адкрыйце сістэму з Qsys Interconnect viewі назірайце за складанасцю няспраўнага міжзлучэння. Вы можаце дадаць канвеерныя трыгеры ў viewer, каб палепшыць час. Калі вы ўсё яшчэ не можаце вырашыць праблему, вам, магчыма, прыйдзецца разбіць крытычны шлях 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-адрасоў ужо павінны быць аптымізаваны. Аднак могуць быць некаторыя страты fmax у залежнасці ад плана BSP. Напрыкладample, звычайна колькасць выразаў у вобласці ядра BSP уплывае на fmax ядра.
Як паказана на наступным малюнку, каб атрымаць найлепшае базавае насенне, якое дае найлепшы сярэдні fmax:
- Выканайце зачыстку базавай кампіляцыі замест выбару першай базавай зачысткі, якая адпавядае часу.
- Выканайце кампіляцыю імпарту (выкарыстоўваючы некалькі ядраў з example designs) на ўсіх праходжанні базавых насення.
- Вылічыце сярэдняе значэнне fmax для ўсіх базавых насення.
- Выберыце базавае насенне, якое дае самы высокі сярэдні fmax.
Базавая база з найлепшым сярэднім fmax з'яўляецца добрым кандыдатам для выпуску з BSP. Калі вы вырашыце прытрымлівацца падыходу, які адрозніваецца ад рэкамендаваных крокаў, вы можаце назіраць 5-10% варыяцыі ў fmax працэсу кампіляцыі імпарту ядра.
Малюнак 2. Вызначэнне найлепшага базавага насення
- Каб зразумець, наколькі хутка ядро можа працаваць без абмежаванняў плана:
1. Выканайце плоскую кампіляцыю ядра і назірайце за fmax.
2. Выканайце кампіляцыю імпарту на тым самым ядры і назірайце за fmax.
3. Параўнайце вынікі fmax.
З-за абмежаванняў плана паверха fmax імпартнай кампіляцыі заўсёды ніжэйшы за fmax плоскай кампіляцыі. Каб пазбегнуць пачатковага шуму, скампілюйце ядро з больш базавымі пачатковымі элементамі і ўлічвайце сярэдняе значэнне fmax, параўноўваючы вынікі fmax. - Ніколі не параўноўвайце fmax ядра з базавай кампіляцыі з плоскай кампіляцыяй або імпартаванай кампіляцыяй. Падчас базавай кампіляцыі мэтавыя гадзіны ядра паслабляюцца, і, такім чынам, вы ніколі не атрымаеце добрых вынікаў.
- Сачыце за крытычным шляхам гадзінніка ядра ў базавай або імпартаванай кампіляцыі. Калі крытычны шлях перасякае ад ядра да статычнай вобласці на плане паверха, змяніце план паверха або запусціце яшчэ некалькі базавых пачатковых элементаў, каб пазбегнуць гэтага крытычнага шляху.
Кіраўніцтва па ацэнцы эфектыўнасці выкарыстання рэсурсаў BSP
Чым вышэй працэнт выкарыстання рэсурсаўtage, тым лепш выкарыстанне плошчы ў статычнай вобласці вашага BSP. Высокі працэнт выкарыстання рэсурсаўtage таксама азначае, што для вобласці ядра даступна больш рэсурсаў.
Каб разлічыць працэнт выкарыстання рэсурсаў, выканайце наступныя дзеянніtage вашага BSP:
- Атрымайце значэнні для ўсіх рэсурсаў у FPGA з top.fit.rpt або base.fit.rpt, даступных у раздзеле Partition Statistics справаздачы 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 | Выкарыстоўваецца BSP | 0/0 | |
ALM | 427200 | 393800 | 33400 | 23818. | 71.% |
Рэестры | 1708800 | 1575200 | 133600 | 38913 | 29.% |
M2ОК | 2713 | 2534 | 179 | 134 | 75.% |
DSP | 1518 | 1518 | 0 | 0 | Н/Д |
Звярніце ўвагу на тое, што планіроўка паверха выканана такім чынам, што ў статычнай вобласці не будзе ніякіх блокаў DSP.
Гісторыя версій дакумента
Табліца 2.
Дакумент Гісторыя версій Intel FPGA SDK для OpenCL Board Support Package Floorplan Optimization Guide
Дата | Версія | Змены |
17 жніўня | Першапачатковы выпуск. |
электронная версія
Адправіць водгук
ID: 683312
АН-824
Версія: 2017.08.08
AN 824: Intel® FPGA SDK для платы OpenCL™
Кіраўніцтва па аптымізацыі плана паверха пакета падтрымкі
Дакументы / Рэсурсы
![]() |
План паверха Intel AN 824 FPGA SDK для пакета падтрымкі платы OpenCL [pdfКіраўніцтва карыстальніка AN 824 FPGA SDK для пакета падтрымкі платы OpenCL План паверха, AN 824, FPGA SDK для пакета падтрымкі платы OpenCL План паверха, План пакета падтрымкі платы OpenCL План паверха, План пакета падтрымкі платы, План паверха пакета падтрымкі, План паверха пакета, План паверха |