логото на IntelAN 824 FPGA SDK за OpenCL Board
Поддршка за пакет
Упатство за употреба

 Intel® FPGA SDK за Водич за оптимизација на подовиот план за пакет за поддршка на одборот OpenCL™
Интел/® FPGA SDK за пакет за поддршка на плочка OpenCL™ (BSP) Водич за оптимизација на подот обезбедува упатства за планирање на подот за OpenCL) BSP. Исто така, дава насоки за тоа како можете да го стекнете основното семе со најдобра просечна максимална работна фреквенција и да ја оцените ефикасноста на искористувањето на ресурсите на BSP.
Овој документ претпоставува дека сте запознаени со концептите OpenCL(2) како што е опишано во OpenCL Specification верзијата 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 Floorplan партиција
Планот на подот 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 Corporation или нејзините подружници. Интел гарантира изведба на своите FPGA и полупроводнички производи според тековните спецификации во согласност со стандардната гаранција на Интел, но го задржува правото да прави промени на сите производи и услуги во секое време без претходна најава. Интел не презема никаква одговорност или одговорност што произлегува од апликацијата или користењето на какви било информации, производ или услуга опишани овде, освен како што е изрично писмено договорено од Интел. На клиентите на Intel им се препорачува да ја добијат најновата верзија на спецификациите на уредот пред да се потпрат на какви било објавени информации и пред да направат нарачки за производи или услуги.
*Други имиња и брендови може да се бараат како сопственост на други.

Насоки за планирање на подот OpenCL BSP

  • Започнете со рамна компилација за да разберете каде се поставуваат природно сите главни компоненти на BSP (особено IP блоковите со I/O конекции како што се PCIe или DDR). Додека го дизајнирате BSP, можеби ќе треба да размислите за воспоставување на цевководиtagе помеѓу IP-адресите за да се затвори времето. Прво треба да извршите рамно компајлирано чистење на семето за да ги идентификувате повторливите неуспешни патеки, а потоа да се обидете да ги поправите.
    Совет: - Добрата стапка на затворање на тајмингот во однос на рамно компајлирачките семиња ќе има поголеми шанси за затворање на времето за компајлирање на базата.
    — Ако забележите постојани дефекти во mm_interconnect* (компонента додадена од Qsys), тогаш отворете го системот со Qsys Interconnect viewer и набљудувајте ја сложеноста на неуспешната интерконекција. Во viewer да се подобри времето. Ако сè уште не можете да го решите проблемот, можеби ќе треба да ја скршите критичната патека mm_interconnect* со додавање на мостови на гасоводот Авалон.
  • За време на компилацијата на базата, започнете со LogicLock на регионот на јадрото што содржи freeze_wrapper_inst|kernel_system_inst. Без други ограничувања, Intel Quartus Prime може слободно да го постави хардверот BSP во преостанатиот статичен регион на чипот. Користете го рамниот компајл и планерот за чипови за да ја идентификувате големината и локацијата на хардверот BSP, како што се PCIe и DDR. Потоа, резервирајте го регионот на кернелот користејќи LogicLock, избегнувајќи ги главните групирани области на хардверот BSP.
    Совет: ако користената фамилија на чипови е иста како и референтната платформа и ако компонентите на BSP се слични, можеби е побрзо да започнете со регионите LogicLock за freeze_wrapper_inst|kernel_system_inst што се испорачува со OpenCL референтната BSP и да ги надминете дефектите.
  • Може да ги додадете следните дополнителни компоненти на вашиот BSP:
    — Мемориски банки: ако додадете повеќе мемориски банки, треба да ја идентификувате локацијата на I/O банката бидејќи можеби ќе треба да додадете мостови на цевководи за да го исполните времето.
    — I/O канали: можете да додавате I/O канали како видео, етернет или сериски интерфејс. Ако додадете I/O канали, треба да ја идентификувате локацијата на I/O банката бидејќи можеби ќе треба да примените нови LogicLock региони за цевководење ако времето на затворање е тешко.
    Совет: Ако треба да додадете цевководни мостови (на прample, поради големите доцнења на рутирањето што предизвикуваат неуспеси во тајмингот), потоа земете го предвид растојанието на рутирање од логиката на изворот до дестинацијата во чипот и ослободи малку простор резервиран за регионот на јадрото.
  • Следете ги овие општи упатства кога резервирате LogicLock региони за кернелот:
    — Обидете се да ги поставите сите DSP колони во kernel_system освен ако тоа не го бара BSP.
    — Обидете се да резервирате повеќе ресурси за kernel_system.
    — Обидете се да го задржите бројот на засеци во регионот на јадрото на минимум.
    Следната слика илустрира засек што беше додаден за да се постави цевководен мост помеѓу PCIe и DDR банката.

Слика 1. OpenCL BSP Floorplan за Intel Arria® 10 GX во изданието 17.0

intel AN 824 FPGA SDK за подршка на пакетот за поддршка на табла OpenCL

Насоки за максимална оперативна фреквенција
Максималната работна фреквенција (fmax) постигната од кернелите во голема мера зависи од брзината на FPGA бидејќи повеќето од IP-адресите веќе треба да се оптимизираат. Сепак, може да има некои загуби на fmax во зависност од планот на BSP. За прample, обично бројот на исечоци во областа на јадрото на BSP влијае на fmax на јадрото.
Како што е илустрирано на следната слика, за да се добие најдоброто основно семе кое дава најдобар просечен fmax:

  1. Изведете чистење на семето на основната компилација наместо да го изберете првото основно семе кое одговара на времето.
  2. Изведете увозна компилација (со користење на неколку кернели од прample designs) на сите минливи базни семиња.
  3. Пресметајте го просечниот fmax за сите основни семиња.
  4. Изберете го основното семе кое дава највисок просечен fmax.
    Основното семе со најдобар просечен fmax е добар кандидат за ослободување со BSP. Ако одлучите да следите пристап различен од препорачаните чекори, може да забележите 5-10% варијации во fmax на процесот на компилација на увоз на јадрото.

Слика 2. Идентификување на најдоброто основно семеintel AN 824 FPGA SDK за пакет за поддршка OpenCL Board Planplan - сл

  • За да разберете колку брзо кернелот може да работи без ограничувања на планот на подот:
    1. Направете рамна компилација на јадрото и набљудувајте го fmax.
    2. Направете увозна компилација на истиот кернел и набљудувајте го fmax.
    3. Споредете ги резултатите од fmax.
    Поради ограничувањата на планот на подот, увозната компилација fmax е секогаш пониска од рамната компајлирана fmax. За да избегнете шум на семето, составете го јадрото со повеќе основни семиња и земете во предвид просечен fmax додека ги споредувате резултатите од fmax.
  • Никогаш не го споредувајте кернелот fmax од основна компилација со рамна или увозна компилација. Целите на часовникот на јадрото се опуштени за време на компилацијата на базата и оттука, никогаш нема да добиете добри резултати.
  • Набљудувајте ја критичната патека на часовникот на јадрото во компилацијата на база или увоз. Ако критичната патека преминува од јадрото до статичниот регион во планот на подот, променете ја планот на подот или стартувајте уште неколку основни семиња за да ја избегнете оваа критична патека.

Насоки за евалуација на ефикасноста на искористувањето на ресурсите на BSP

Колку е поголем процентот на искористеност на ресурситеtagд, толку подобро е искористувањето на површината во статичната област на вашиот BSP. Висок процент на искористеност на ресурситеtage, исто така, имплицира дека се достапни повеќе ресурси за регионот на кернелот.
Следете ги чекорите подолу за да го пресметате процентот на искористеност на ресурситеtage од вашиот BSP:

  1. Добијте вредности за сите ресурси во FPGA од top.fit.rpt или base.fit.rpt достапни во делот Статистика на партиции во извештајот Fitter.
  2. Одземете ја вредноста за „freeze_wrapper_inst|kernel_system_inst“ (регион на јадрото).

Совет:
Фокусирајте се повеќе на вредностите на адаптивниот логички модул (ALM) отколку на вредностите на другите ресурси. Осигурајте се дека искористеноста на ресурсите процентtage за ALM е поблиску до OpenCL референцата BSP. Многу висок процентtage за ALM може да доведе до застој, што може да го зголеми времето на компилација и да воведе конгестии за рутирање во сложените кернели. Сепак, секогаш можете да ја зголемите или намалите областа на статичниот регион и да го набљудувате времето на компилација и fmax.
Следната табела го одразува користењето на ресурсите OpenCL BSP на уредите Arria ® 10 GX во изданието 17.0.

Табела 1.
OpenCL BSP Resource Utilization на IntelArria 10 GX уреди во изданието 17.0

Вкупно достапни Резервирано за Кернел Достапно за BSP Се користи од BSP 0/0
Alm 427200 393800 33400 23818. 71%
Регистри 1708800 1575200 133600 38913 29%
M2OK 2713 2534 179 134 75%
ДСП 1518 1518 0 0 N/A

Забележете дека планирањето на подот е извршено на таков начин што статичниот регион нема да има никакви DSP блокови.

Историја на ревизија на документи

Табела 2.
Историја на ревизии на документи на Intel FPGA SDK за пакет за поддршка на табла OpenCL Водич за оптимизација на подот

Датум Верзија Промени
август-17 Почетно ослободување.

икона Онлајн верзија
cardo 590878 Spirit Bluetooth домофон - ICON 14 Испрати повратни информации
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 пакет за поддршка одбор Катен план, пакет за поддршка на табла Под план, пакет за поддршка План, план за пакети, план на пакети

Референци

Оставете коментар

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени *