intel logoAN 824 FPGA SDK za OpenCL ploču
Tlocrt paketa podrške
Upute za korištenje

 Intel® FPGA SDK za OpenCL ™ Board Support Package Vodič za optimizaciju tlocrta
Intel/® FPGA SDK za OpenCL™ Board Support Package (BSP) Vodič za optimizaciju tlocrta pruža smjernice za tlocrt za OpenCL) BSP. Također pruža smjernice o tome kako možete nabaviti osnovno sjeme s najboljom prosječnom maksimalnom radnom frekvencijom i procijeniti učinkovitost korištenja BSP resursa.
Ovaj dokument pretpostavlja da ste upoznati s OpenCL(2) konceptima kako je opisano u specifikaciji OpenCL verzije 1.0 od strane Khronos grupe.

Tijek kompilacije OpenCL BSP
OpenCL BSP podržava sljedeće vrste tokova kompajliranja:

  • Ravna kompilacija [–bsp-flow flat]: Izvodi ravnu kompilaciju cijelog dizajna (BSP zajedno s hardverom generiranim kernelom).
  • Osnovna kompilacija [–bsp-flow base]: Izvodi osnovnu kompilaciju korištenjem LogicLock ograničenja iz base.qsf file. Ciljani sat jezgre je opušten tako da BSP hardver ima više slobode u ispunjavanju vremena. Baza podataka base.qar stvorena je za očuvanje BSP hardvera, koji je statička regija.
  • Uvezi kompilaciju [ ]: Vraća vremensku zatvorenu statičku regiju iz baze podataka base.qar i kompajlira samo hardver generiran kernelom. Također povećava ciljani sat jezgre kako bi se dobila najbolja maksimalna radna frekvencija jezgre (fmax).

OpenCL BSP tlocrtna particija
OpenCL BSP tlocrt je uglavnom podijeljen u sljedeće dvije regije:

  • Statička regija: predstavlja regiju koja ima hardver povezan s BSP-om koji ostaje statičan. Vrijeme je zatvoreno za ovu regiju tijekom osnovne kompilacije. Općenito, cilj je smanjiti resurse čipova koje ova regija koristi za mjerenje vremena zatvaranja.
  • Regija kernela: Predstavlja regiju djelomične rekonfiguracije (PR) koja je rezervirana za modul freeze_wrapper_inst|kernel_system_inst, koji sadrži kernel. Općenito, cilj je maksimalno rezervirati resurse čipova za ovu regiju.
  1. Intel FPGA SDK za OpenCL temelji se na objavljenoj Khronos specifikaciji i prošao je Khronosov proces testiranja sukladnosti. Trenutačni status usklađenosti može se pronaći na www.khronos.org/conformance.
  2. OpenCL i logo OpenCL zaštitni su znaci Apple Inc. i koriste se uz dopuštenje Khronos Group™.

Intel Corporation. Sva prava pridržana. Intel, Intelov logotip i druge Intelove oznake zaštitni su znakovi Intel Corporation ili njegovih podružnica. Intel jamči performanse svojih FPGA i poluvodičkih proizvoda prema trenutnim specifikacijama u skladu s Intelovim standardnim jamstvom, ali zadržava pravo izmjene bilo kojeg proizvoda i usluge u bilo kojem trenutku bez prethodne obavijesti. Intel ne preuzima nikakvu odgovornost niti obvezu koja proizlazi iz primjene ili korištenja bilo koje informacije, proizvoda ili usluge opisane ovdje, osim ako je Intel izričito pismeno pristao. Intelovim kupcima savjetuje se da dobiju najnoviju verziju specifikacija uređaja prije nego što se pouzdaju u bilo kakve objavljene informacije i prije naručivanja proizvoda ili usluga.
*Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Smjernice za OpenCL BSP tlocrt

  • Započnite ravnom kompilacijom kako biste razumjeli gdje se sve glavne komponente BSP-a prirodno postavljaju (osobito IP blokovi s I/O vezama kao što su PCIe ili DDR). Dok projektirate BSP, možda ćete morati razmotriti uspostavljanje cjevovodatages između IP-ova za vrijeme zatvaranja. Najprije biste trebali pokrenuti plosko prevođenje seed sweep kako biste identificirali ponovljene neuspjele staze, a zatim ih pokušati popraviti.
    Savjet: — Dobra stopa zatvaranja vremena u odnosu na ravne početne preglede kompajliranja imat će veće šanse za zatvaranje osnovnog vremena kompajliranja.
    — Ako primijetite stalne kvarove u mm_interconnect* (komponenta koju je dodao Qsys), tada otvorite Sustav s Qsys Interconnect viewer i promatrajte složenost pokvarenog međusobnog povezivanja. Možete dodati cjevovodne flipflopove u viewer za poboljšanje vremena. Ako i dalje ne možete riješiti problem, možda ćete morati prekinuti kritični put mm_interconnect* dodavanjem Avalon premosnica cjevovoda.
  • Tijekom osnovne kompilacije počnite s LogicLockom na regiji kernela koja sadrži freeze_wrapper_inst|kernel_system_inst. Bez drugih ograničenja, Intel Quartus Prime može slobodno postaviti BSP hardver u preostalo statičko područje čipa. Upotrijebite ravno kompajliranje i planer čipa za prepoznavanje veličine i lokacije BSP hardvera, kao što su PCIe i DDR. Zatim rezervirajte regiju kernela korištenjem LogicLocka izbjegavajući glavna područja klastera BSP hardvera.
    Savjet: Ako je korištena obitelj čipova ista kao referentna platforma i ako su BSP komponente slične, možda bi bilo brže započeti s regijama LogicLock za freeze_wrapper_inst|kernel_system_inst koji se isporučuje s OpenCL referentnim BSP-om i riješiti kvarove.
  • Možete dodati sljedeće dodatne komponente svom BSP-u:
    — Banke memorije: Ako dodate više banaka memorije, trebali biste identificirati lokaciju I/O banke budući da ćete možda trebati dodati mostove cjevovoda kako biste ispunili vremenski raspored.
    — I/O kanali: Možete dodati I/O kanale kao što su video, Ethernet ili serijsko sučelje. Ako dodate I/O kanale, trebali biste identificirati lokaciju I/O banke budući da ćete možda trebati primijeniti nove LogicLock regije za cjevovod ako je vrijeme zatvaranja teško.
    Savjet: Ako trebate dodati cjevovodne mostove (nprample, zbog velikih kašnjenja usmjeravanja koja uzrokuju neuspjehe vremena), zatim razmotrite udaljenost usmjeravanja od izvora do odredišne ​​logike u čipu i oslobodite nešto prostora rezerviranog za regiju kernela.
  • Slijedite ove opće smjernice kada rezervirate LogicLock regije za kernel:
    — Pokušaj smjestiti sve DSP stupce u kernel_system osim ako to zahtijeva BSP.
    — Pokušaj rezervirati više resursa za kernel_system.
    — Pokušajte smanjiti broj zareza u području jezgre na minimum.
    Sljedeća slika ilustrira usjek koji je dodan kako bi se postavio cjevovodni most između PCIe i DDR banke.

Slika 1. Tlocrt OpenCL BSP za Intel Arria® 10 GX u izdanju 17.0

intel AN 824 FPGA SDK za paket podrške OpenCL ploče Tlocrt

Smjernice za maksimalnu radnu frekvenciju
Maksimalna radna frekvencija (fmax) koju postižu kerneli uvelike ovisi o brzini FPGA jer bi većina IP-ova već trebala biti optimizirana. Međutim, može doći do nekih fmax gubitaka ovisno o BSP tlocrtu. Na primjerample, obično broj isječaka u području jezgre BSP-a utječe na fmax jezgre.
Kao što je prikazano na sljedećoj slici, da biste dobili najbolje osnovno sjeme koje daje najbolji prosječni fmax:

  1. Izvršite brisanje sjemena na osnovnoj kompilaciji umjesto odabira prvog osnovnog sjemena koje odgovara vremenu.
  2. Izvršite kompilaciju uvoza (koristeći nekoliko kernela iz example designs) na svim prolaznim baznim sjemenkama.
  3. Izračunajte prosječni fmax za sva osnovna sjemena.
  4. Odaberite osnovno sjeme koje daje najviši prosječni fmax.
    Osnovno sjeme s najboljim prosječnim fmaxom dobar je kandidat za puštanje s BSP-om. Ako odlučite slijediti pristup drugačiji od preporučenih koraka, mogli biste uočiti 5-10% varijacija u fmax procesu kompilacije uvoza kernela.

Slika 2. Identificiranje najboljeg baznog sjemenaintel AN 824 FPGA SDK za paket podrške za OpenCL ploču Tlocrt - sl

  • Da biste razumjeli koliko brzo kernel može raditi bez ograničenja tlocrta:
    1. Izvedite ravno kompiliranje kernela i promatrajte fmax.
    2. Izvedite kompilaciju uvoza na istom kernelu i promatrajte fmax.
    3. Usporedite fmax rezultate.
    Zbog ograničenja tlocrta, fmax import compile uvijek je niži od fmax ravnog kompiliranja. Da biste izbjegli početni šum, kompajlirajte kernel s više osnovnih početnih vrijednosti i uzmite u obzir prosječni fmax dok uspoređujete fmax rezultate.
  • Nikada ne uspoređujte kernel fmax iz osnovne kompilacije s ravnom ili uvoznom kompilacijom. Ciljani sat kernela su opušteni tijekom osnovne kompilacije i stoga nikada nećete dobiti dobre rezultate.
  • Promatrajte kritični put sata jezgre u osnovnoj ili uvoznoj kompilaciji. Ako kritični put prelazi od jezgre do statične regije u tlocrtu, promijenite tlocrt ili pokrenite još nekoliko osnovnih početnih vrijednosti da biste izbjegli ovaj kritični put.

Smjernice za procjenu učinkovitosti korištenja resursa BSP-a

Što je veći postotak korištenja resursatage, bolje je iskorištenje površine u statičkom području vašeg BSP-a. Visok postotak iskorištenosti resursatage također implicira da je više resursa dostupno za kernel regiju.
Slijedite korake u nastavku za izračun postotka iskorištenja resursatage vašeg BSP-a:

  1. Dobijte vrijednosti za sve resurse u FPGA iz top.fit.rpt ili base.fit.rpt dostupnih u odjeljku Particiona statistika izvješća Fitter.
  2. Oduzmite vrijednost za “freeze_wrapper_inst|kernel_system_inst” (regija kernela).

Savjet:
Više se usredotočite na vrijednosti adaptivnog logičkog modula (ALM) nego na vrijednosti drugih resursa. Osigurajte da postotak korištenja resursatage za ALM je bliži OpenCL referentnom BSP-u. Vrlo visok postotaktage za ALM može dovesti do zagušenja, što može povećati vrijeme kompilacije i uvesti zagušenja usmjeravanja u složene kernele. Međutim, uvijek možete povećati ili smanjiti područje statičke regije i promatrati vrijeme kompilacije i fmax.
Sljedeća tablica odražava korištenje OpenCL BSP resursa Arria® 10 GX uređaja u izdanju 17.0.

Tablica 1.
OpenCL BSP korištenje resursa IntelArria 10 GX uređaja u izdanju 17.0

Ukupno dostupno Rezervirano za Kernel Dostupno za BSP Koristi 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

Primijetite da se tlocrt izvodi na takav način da statička regija neće imati DSP blokove.

Povijest revizija dokumenta

Tablica 2.
Povijest revizija dokumenta Intel FPGA SDK za paket podrške OpenCL ploče Vodič za optimizaciju tlocrta

Datum Verzija Promjene
kolovoz-17 Početno izdanje.

ikona Internetska inačica
cardo 590878 Spirit Bluetooth interfon - IKONA 14 Pošaljite povratne informacije
ID: 683312
AN-824
Verzija: 2017.08.08
AN 824: Intel® FPGA SDK za OpenCL™ ploču

Vodič za optimizaciju tlocrta paketa podrške

Dokumenti / Resursi

intel AN 824 FPGA SDK za paket podrške OpenCL ploče Tlocrt [pdf] Korisnički priručnik
AN 824 FPGA SDK za Tlocrt paketa podrške za OpenCL ploču, AN 824, FPGA SDK za Tlocrt paketa za podršku OpenCL ploče, Tlocrt paketa za podršku OpenCL ploče, Tlocrt paketa za podršku ploče, Tlocrt paketa za podršku, Tlocrt paketa, Tlocrt

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *