intel logoAN 824 FPGA SDK za OpenCL ploču
Tlocrt paketa podrške
Uputstvo za upotrebu

 Intel® FPGA SDK za Vodič za optimizaciju tlocrta paketa podrške za OpenCL™ Board
Intel/® FPGA SDK za OpenCL™ Paket podrške za ploče (BSP) Vodič za optimizaciju tlocrta pruža smjernice za planiranje poda za OpenCL) BSP. Takođe pruža smernice o tome kako možete nabaviti osnovno seme sa najboljom prosečnom maksimalnom radnom frekvencijom i proceniti efikasnost korišćenja resursa BSP.
Ovaj dokument pretpostavlja da ste upoznati sa OpenCL(2) konceptima kako je opisano u OpenCL specifikaciji verzije 1.0 od strane Khronos grupe.

OpenCL BSP tok kompilacije
OpenCL BSP podržava sljedeće tipove tokova kompajliranja:

  • Ravno prevođenje [–bsp-flow flat]: Izvodi ravnu kompilaciju cijelog dizajna (BSP zajedno sa hardverom generiranim kernelom).
  • Base compile [–bsp-flow base]: Izvodi osnovnu kompilaciju koristeći ograničenja LogicLock iz base.qsf file. Cilj takta kernela je opušten tako da BSP hardver ima više slobode u ispunjavanju vremena. Baza podataka base.qar je kreirana da bi se sačuvao BSP hardver, koji je statički region.
  • Import compile [ ]: Vraća vremenski zatvorenu statičku regiju iz baze podataka base.qar i kompajlira samo hardver koji je generirao kernel. Takođe povećava ciljni takt kernela kako bi se dobila najbolja maksimalna radna frekvencija kernela (fmax).

OpenCL BSP particija tlocrta
OpenCL BSP tlocrt je uglavnom podijeljen u sljedeća dva regiona:

  • Statički region: Predstavlja region koji ima BSP povezan hardver koji ostaje statičan. Tajming je zatvoren za ovu regiju tokom bazne kompilacije. Općenito, cilj je da se minimiziraju resursi čipa koje koristi ovaj region za zatvaranje vremena.
  • Područje kernela: Predstavlja regiju djelomične rekonfiguracije (PR) koja je rezervirana za freeze_wrapper_inst|kernel_system_inst modul, koji sadrži kernel. Generalno, cilj je rezervisati resurse čipova u maksimalnoj meri za ovu regiju.
  1. Intel FPGA SDK za OpenCL je zasnovan na objavljenoj Khronos specifikaciji i prošao je Khronos proces testiranja usklađenosti. Trenutni status usklađenosti možete pronaći na www.khronos.org/conformance.
  2. OpenCL i OpenCL logo su zaštitni znakovi kompanije Apple Inc. i koriste se uz dozvolu Khronos Group™.

Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga.
*Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Smjernice za OpenCL BSP Floorplanning

  • Započnite sa ravnom kompilacijom da biste razumjeli gdje se sve glavne komponente BSP-a prirodno postavljaju (naročito IP blokovi sa I/O konekcijama kao što su PCIe ili DDR). Prilikom dizajniranja BSP-a, možda ćete morati razmotriti uspostavljanje cjevovodatagje između IP-ova za zatvaranje vremena. Trebali biste prvo pokrenuti ravnu analizu sjemena kompajliranja da identificirate ponavljajuće neuspjele staze, a zatim ih pokušati popraviti.
    Savjet: — Dobra stopa zatvaranja vremena u odnosu na ravne prevođenje sjemena imat će veće šanse za zatvaranje osnovnog vremena kompajliranja.
    — Ako primijetite stalne kvarove u mm_interconnect* (komponenta koju je dodao Qsys), otvorite Sistem sa Qsys Interconnect viewer i posmatrajte složenost interkonekcije u kvaru. Možete dodati cjevovodne japanke u viewda poboljšam tajming. Ako i dalje ne možete riješiti problem, možda ćete morati razbiti kritičnu putanju mm_interconnect* dodavanjem Avalon cevovodnih mostova.
  • Tokom osnovne kompilacije, počnite s LogicLock-om na regiji kernela koja sadrži freeze_wrapper_inst|kernel_system_inst. Bez ikakvih drugih ograničenja, Intel Quartus Prime može slobodno postaviti BSP hardver u preostalo statičko područje čipa. Koristite ravni planer kompajliranja i čipa za identifikaciju veličine i lokacije BSP hardvera, kao što su PCIe i DDR. Zatim rezervišite regiju kernela korištenjem LogicLock-a izbjegavajući glavne klasterirane oblasti BSP hardvera.
    Savjet: Ako je familija čipova koja se koristi je ista kao referentna platforma i ako su BSP komponente slične, možda bi bilo brže početi s LogicLock regijama za freeze_wrapper_inst|kernel_system_inst koji se isporučuje s OpenCL referentnim BSP-om i rješavati kvarove.
  • Možete dodati sljedeće dodatne komponente svom BSP-u:
    — Memorijske banke: Ako dodate više memorijskih banaka, trebali biste identificirati lokaciju I/O banke jer ćete možda morati dodati mostove cjevovoda da biste ispunili vrijeme.
    — I/O kanali: Možete dodati I/O kanale kao što su video, Ethernet ili serijski interfejs. Ako dodate I/O kanale, trebali biste identificirati lokaciju I/O banke jer ćete možda morati primijeniti nove LogicLock regije za cjevovod ako je vrijeme zatvaranja teško.
    Savjet: Ako trebate dodati mostove cjevovoda (nprample, zbog velikih kašnjenja rutiranja koja uzrokuju otkazivanje vremena), zatim razmotrite udaljenost rutiranja od izvorne do odredišne ​​logike u čipu i oslobodite malo prostora rezerviranog za regiju kernela.
  • Slijedite ove opće smjernice kada rezervirate LogicLock regije za kernel:
    — Pokušajte smjestiti sve DSP stupce u kernel_system osim ako to zahtijeva BSP.
    — Pokušaj rezervisanja više resursa za kernel_system.
    — Pokušajte da broj zareza u oblasti kernela svedete na minimum.
    Sljedeća slika ilustruje zarez koji je dodat za postavljanje cevovodnog mosta između PCIe i DDR banke.

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

intel AN 824 FPGA SDK za tlocrt paketa podrške za OpenCL ploče

Smjernice za maksimalnu radnu frekvenciju
Maksimalna radna frekvencija (fmax) koju postižu kerneli u velikoj mjeri ovisi o FPGA brzini jer bi većina IP-ova već trebala biti optimizirana. Međutim, može doći do nekih fmax gubitaka ovisno o BSP tlocrtu. Za nprample, obično broj isječaka u regiji kernela BSP-a utiče na kernel fmax.
Kao što je ilustrovano na sljedećoj slici, da dobijete najbolje osnovno sjeme koje daje najbolji prosječni fmax:

  1. Izvršite pregled sjemena na osnovnoj kompilaciji umjesto odabira prvog osnovnog sjemena koji zadovoljava vrijeme.
  2. Izvršite kompilaciju uvoza (koristeći nekoliko kernela iz example designs) na svim prolaznim osnovnim sjemenkama.
  3. Izračunajte prosječan fmax za sve osnovne sjemenke.
  4. Odaberite osnovno sjeme koje daje najveći prosjek fmax.
    Osnovno seme sa najboljim prosečnim fmaxom je dobar kandidat za izdavanje sa BSP. Ako odlučite da slijedite pristup drugačiji od preporučenih koraka, mogli biste primijetiti varijaciju od 5-10% u fmaxu procesa kompilacije uvoza kernela.

Slika 2. Identifikacija najboljeg osnovnog sjemenaintel AN 824 FPGA SDK za OpenCL paket podrške za ploče Floorplan - sl

  • Da biste razumjeli koliko brzo kernel može raditi bez ograničenja tlocrta:
    1. Izvršite ravnu kompilaciju kernela i promatrajte fmax.
    2. Izvršite kompilaciju uvoza na istom kernelu i promatrajte fmax.
    3. Uporedite fmax rezultate.
    Zbog ograničenja tlocrta, import compile fmax je uvijek niži od flat compile fmax. Da biste izbjegli šum semena, kompajlirajte kernel s više osnovnih sjemena i uzmite u obzir prosječan fmax dok upoređujete fmax rezultate.
  • Nikada nemojte porediti kernel fmax iz osnovne kompilacije sa ravnom ili uvoznom kompilacijom. Ciljevi takta kernela su opušteni tokom kompilacije baze i stoga nikada nećete dobiti dobre rezultate.
  • Posmatrajte kritičnu putanju sata kernela u bazi ili uvoznoj kompilaciji. Ako kritični put prelazi od kernela do statičkog područja u tlocrtu, promijenite tlocrt ili pokrenite još nekoliko osnovnih sjemena kako biste izbjegli ovu kritičnu stazu.

Smjernice za procjenu efikasnosti korištenja resursa BSP-a

Što je veći procenat iskorištenosti resursatage, što je bolje iskorištenje područja u statičkom području vašeg BSP-a. Visok procenat iskorištenosti resursatage također implicira da je više resursa dostupno za regiju kernela.
Slijedite korake u nastavku da biste izračunali procenat iskorištenosti resursatage vašeg BSP-a:

  1. Dobijte vrijednosti za sve resurse u FPGA sa top.fit.rpt ili base.fit.rpt dostupnih u odjeljku Statistika particije u izvještaju Fitter.
  2. Oduzmite vrijednost za “freeze_wrapper_inst|kernel_system_inst” (region kernela).

Savjet:
Fokusirajte se više na vrijednosti adaptivnog logičkog modula (ALM) nego na vrijednosti drugih resursa. Osigurati da je procenttage za ALM je bliži OpenCL referentnom BSP-u. Veoma visok procenattage za ALM može dovesti do zagušenja, što može povećati vrijeme kompilacije i dovesti do zagušenja rutiranja u složenim kernelima. Međutim, uvijek možete povećati ili smanjiti područje statičke regije i pratiti vrijeme kompilacije i fmax.
Sljedeća tabela odražava korištenje OpenCL BSP resursa Arria ® 10 GX uređaja u izdanju 17.0.

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

Total Available Rezervirano za kernel Dostupno za BSP Koristi 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

Obratite pažnju na to da se tlocrt izvodi na takav način da statička regija neće imati DSP blokove.

Istorija revizija dokumenta

Tabela 2.
Istorija revizije dokumenta Intel FPGA SDK za OpenCL paket podrške za ploču Vodič za optimizaciju tlocrta

Datum Verzija Promjene
avgust-17 Prvo izdanje.

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

Paket podrške Vodič za optimizaciju tlocrta

Dokumenti / Resursi

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

Reference

Ostavite komentar

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