logotip intelAN 824 FPGA SDK za ploščo OpenCL
Tloris paketa podpore
Uporabniški priročnik

 Intel® FPGA SDK za OpenCL ™ Board Support Package Floorplan Optimization Guide
Intel/® FPGA SDK for OpenCL™ Board Support Package (BSP) Floorplan Optimization Guide ponuja smernice tlorisa za OpenCL) BSP. Zagotavlja tudi smernice o tem, kako lahko pridobite osnovno seme z najboljšo povprečno največjo delovno frekvenco in ocenite učinkovitost izkoriščanja virov BSP.
Ta dokument predvideva, da ste seznanjeni s koncepti OpenCL(2), kot so opisani v specifikaciji OpenCL različice 1.0 skupine Khronos.

Potek prevajanja OpenCL BSP
OpenCL BSP podpira naslednje vrste tokov prevajanja:

  • Ravno prevajanje [–bsp-flow flat]: Izvede ravno prevajanje celotne zasnove (BSP skupaj s strojno opremo, ki jo ustvari jedro).
  • Osnovno prevajanje [–bsp-flow base]: Izvede osnovno prevajanje z uporabo omejitev LogicLock iz base.qsf file. Ciljna ura jedra je sproščena, tako da ima strojna oprema BSP več svobode pri izpolnjevanju časa. Baza podatkov base.qar je ustvarjena za ohranitev strojne opreme BSP, ki je statična regija.
  • Uvoz prevajanja [ ]: Obnovi časovno zaprto statično regijo iz baze podatkov base.qar in prevede samo strojno opremo, ki jo ustvari jedro. Prav tako poveča ciljno uro jedra, da doseže najboljšo največjo delovno frekvenco jedra (fmax).

OpenCL BSP tlorisna particija
Tloris OpenCL BSP je v glavnem razdeljen na naslednji dve regiji:

  • Statična regija: Predstavlja regijo s strojno opremo, povezano z BSP, ki ostaja statična. Časovni razpored je zaprt za to regijo med osnovnim prevajanjem. Na splošno je cilj čim bolj zmanjšati vire čipov, ki jih ta regija uporablja za časovno zapiranje.
  • Regija jedra: Predstavlja regijo delne rekonfiguracije (PR), ki je rezervirana za modul freeze_wrapper_inst|kernel_system_inst, ki vsebuje jedro. Na splošno je cilj v največji meri rezervirati vire čipov za to regijo.
  1. Intel FPGA SDK za OpenCL temelji na objavljeni specifikaciji Khronos in je prestal postopek testiranja skladnosti Khronos. Trenutno stanje skladnosti je na voljo na www.khronos.org/conformance.
  2. OpenCL in logotip OpenCL sta blagovni znamki družbe Apple Inc. in se uporabljata z dovoljenjem skupine Khronos Group™.

Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve.
*Druga imena in blagovne znamke so lahko last drugih.

Smernice za tlorisno načrtovanje OpenCL BSP

  • Začnite s ploščatim prevajanjem, da razumete, kje so vse glavne komponente BSP naravno nameščene (zlasti bloki IP z V/I povezavami, kot sta PCIe ali DDR). Med načrtovanjem BSP boste morda morali razmisliti o vzpostavitvi cevovodatagje med IP-ji za zapiranje časa. Najprej morate zagnati plosko prevajanje semena, da prepoznate ponavljajoče se neuspele poti, nato pa jih poskusite popraviti.
    Namig: — Dobra stopnja zaprtja časovnega razporeda v primerjavi z ravnimi semeni prevajanja bo imela večje možnosti za zapiranje osnovnega časa prevajanja.
    — Če opazite stalne napake v mm_interconnect* (komponenta, ki jo je dodal Qsys), odprite sistem s Qsys Interconnect viewer in opazujte zapletenost okvarjene medsebojne povezave. V viewer za izboljšanje časa. Če še vedno ne morete odpraviti težave, boste morda morali razčleniti kritično pot mm_interconnect* z dodajanjem cevovodnih mostov Avalon.
  • Med osnovnim prevajanjem začnite z LogicLock na območju jedra, ki vsebuje freeze_wrapper_inst|kernel_system_inst. Brez drugih omejitev lahko Intel Quartus Prime strojno opremo BSP prosto postavi v preostalo statično območje čipa. Za določitev velikosti in lokacije strojne opreme BSP, kot sta PCIe in DDR, uporabite ploščati prevajalnik in načrtovalnik čipov. Nato rezervirajte regijo jedra z uporabo LogicLock, pri tem pa se izognite glavnim področjem gruč strojne opreme BSP.
    Namig: Če je uporabljena družina čipov enaka referenčni platformi in če so komponente BSP podobne, bo morda hitreje začeti z regijami LogicLock za freeze_wrapper_inst|kernel_system_inst, ki je priložen referenčnemu BSP OpenCL, in odpraviti napake.
  • BSP-ju lahko dodate naslednje dodatne komponente:
    — Pomnilniške banke: če dodate več pomnilniških bank, morate identificirati lokacijo V/I banke, saj boste morda morali dodati cevovodne mostove, da boste izpolnili časovni razpored.
    — V/I kanali: Dodate lahko V/I kanale, kot so video, Ethernet ali serijski vmesnik. Če dodate V/I kanale, morate določiti lokacijo V/I banke, saj boste morda morali uporabiti nove regije LogicLock za cevovod, če je čas zapiranja težaven.
    Nasvet: Če morate dodati cevovodne mostove (nprample, zaradi velikih zamud pri usmerjanju, ki povzročajo časovne napake), nato upoštevajte razdaljo usmerjanja od izvorne do ciljne logike v čipu in sprostite nekaj prostora, rezerviranega za regijo jedra.
  • Pri rezervaciji regij LogicLock za jedro upoštevajte te splošne smernice:
    — Poskusite postaviti vse stolpce DSP v kernel_system, razen če to zahteva BSP.
    — Poskusite rezervirati več virov za kernel_system.
    — Poskušajte ohraniti čim manjše število zarez v območju jedra.
    Naslednja slika prikazuje zarezo, ki je bila dodana za postavitev cevovodnega mostu med PCIe in banko DDR.

Slika 1. Tloris OpenCL BSP za Intel Arria® 10 GX v izdaji 17.0

intel AN 824 FPGA SDK za paket podpore plošče OpenCL tloris

Smernice za največjo delovno frekvenco
Največja delovna frekvenca (fmax), ki jo dosežejo jedra, je v veliki meri odvisna od hitrosti FPGA, saj bi morala biti večina IP-jev že optimiziranih. Vendar pa lahko pride do nekaj fmax izgub, odvisno od tlorisa BSP. Na primerample običajno število izrezov v območju jedra BSP vpliva na fmax jedra.
Kot je prikazano na naslednji sliki, za pridobitev najboljšega osnovnega semena, ki daje najboljši povprečni fmax:

  1. Namesto izbire prvega osnovnega semena, ki ustreza časovnemu razporedu, izvedite brisanje semena na osnovni kompilaciji.
  2. Izvedite prevajanje uvoza (z uporabo nekaj jeder iz example designs) na vseh prehodnih osnovnih semenih.
  3. Izračunajte povprečje fmax za vsa osnovna semena.
  4. Izberite osnovno seme, ki daje najvišji povprečni fmax.
    Osnovno seme z najboljšim povprečnim fmax je dober kandidat za izdajo z BSP. Če se odločite za pristop, ki se razlikuje od priporočenih korakov, boste morda opazili 5–10-odstotno variacijo v fmax postopka prevajanja uvoza jedra.

Slika 2. Prepoznavanje najboljšega osnovnega semenaintel AN 824 FPGA SDK za paket podpore plošče OpenCL Tloris - sl

  • Če želite razumeti, kako hitro lahko jedro deluje brez omejitev tlorisa:
    1. Izvedite ravno prevajanje jedra in upoštevajte fmax.
    2. Izvedite prevajanje uvoza v istem jedru in opazujte fmax.
    3. Primerjajte rezultate fmax.
    Zaradi omejitev tlorisa je fmax import compile vedno nižji od fmax flat compile. Da bi se izognili šumu semena, prevedite jedro z več osnovnimi semeni in upoštevajte povprečno vrednost fmax, medtem ko primerjate rezultate fmax.
  • Nikoli ne primerjajte fmax jedra iz osnovne kompilacije z ravno ali uvozno kompilacijo. Cilji ure jedra so sproščeni med osnovnim prevajanjem in zato nikoli ne boste dosegli dobrih rezultatov.
  • Upoštevajte kritično pot ure jedra v osnovni ali uvozni kompilaciji. Če kritična pot poteka od jedra do statične regije v tlorisu, spremenite tloris ali zaženite še nekaj osnovnih semen, da se izognete tej kritični poti.

Smernice za ocenjevanje učinkovitosti uporabe virov BSP

Večji kot je odstotek izkoriščenosti virovtage, boljša je izkoriščenost površine v statičnem območju vašega BSP. Visok odstotek izkoriščenosti virovtage tudi pomeni, da je za regijo jedra na voljo več virov.
Za izračun odstotka izkoriščenosti virov sledite spodnjim korakomtage vašega BSP:

  1. Pridobite vrednosti za vse vire v FPGA iz top.fit.rpt ali base.fit.rpt, ki je na voljo v razdelku Partition Statistics v poročilu Fitter.
  2. Odštejte vrednost za »freeze_wrapper_inst|kernel_system_inst« (regija jedra).

Nasvet:
Bolj se osredotočite na vrednosti prilagodljivega logičnega modula (ALM) kot na vrednosti drugih virov. Zagotovite, da je izkoriščenost virov percentage za ALM je bližje referenčnemu BSP OpenCL. Zelo visok procenttage za ALM lahko povzroči zastoje, kar lahko podaljša čas prevajanja in povzroči zastoje pri usmerjanju v kompleksnih jedrih. Vendar pa lahko vedno povečate ali zmanjšate območje statične regije ter opazujete čas prevajanja in fmax.
Naslednja tabela odraža uporabo virov OpenCL BSP za naprave Arria ® 10 GX v izdaji 17.0.

Tabela 1.
Uporaba virov OpenCL BSP za naprave IntelArria 10 GX v izdaji 17.0

Skupaj na voljo Rezervirano za Kernel Na voljo za BSP Uporablja ga BSP 0/0
ALM 427200 393800 33400 23818. 71%
Registri 1708800 1575200 133600 38913 29%
M2OK 2713 2534 179 134 75%
DSP 1518 1518 0 0 N/A

Upoštevajte, da je tlorisno načrtovanje izvedeno tako, da statična regija ne bo imela blokov DSP.

Zgodovina revizij dokumenta

Tabela 2.
Zgodovina revizij dokumenta Intel FPGA SDK for OpenCL Board Support Package Floorplan Optimization Guide

Datum Različica Spremembe
avgust-17 Začetna izdaja.

ikona Spletna različica
cardo 590878 Spirit Bluetooth domofon - IKONA 14 Pošlji povratne informacije
ID: 683312
AN-824
Različica: 2017.08.08
AN 824: Intel® FPGA SDK za ploščo OpenCL™

Priročnik za optimizacijo tlorisa podpornega paketa

Dokumenti / Viri

intel AN 824 FPGA SDK za paket podpore plošče OpenCL tloris [pdf] Uporabniški priročnik
AN 824 FPGA SDK za tloris paketa podpore za ploščo OpenCL, AN 824, FPGA SDK za tloris paketa podpore za ploščo OpenCL, tloris paketa podpore za ploščo OpenCL, tloris paketa za podporo plošče, tloris podpornega paketa, tloris paketa, tloris

Reference

Pustite komentar

Vaš elektronski naslov ne bo objavljen. Obvezna polja so označena *