AN 824 FPGA SDK OpenCL Boardrako
Laguntza-paketea oinplanoa
Erabiltzailearen Gida
Intel® FPGA SDK-rako OpenCL ™ Board Support Package Oinplanoa optimizatzeko gida
Intel/® FPGA SDK for OpenCL™ Board Support Package (BSP) Floorplan Optimization Guidek OpenCL) BSPrako oinplanoen jarraibideak eskaintzen ditu. Oinarrizko hazia batez besteko gehieneko operazio-maiztasun onenarekin eta BSP baliabideen erabileraren eraginkortasuna ebaluatzeko jarraibideak ere ematen ditu.
Dokumentu honek bere gain hartzen du OpenCL(2) kontzeptuak ezagutzen dituzula Khronos Taldeak OpenCL Specification 1.0 bertsioan deskribatzen den moduan.
OpenCL BSP konpilazio-fluxua
OpenCL BSP-k konpilazio-fluxu mota hauek onartzen ditu:
- Konpilazio laua [–bsp-flow flat]: diseinu osoaren konpilazio laua egiten du (BSP nukleoa sortutako hardwarearekin batera).
- Oinarrizko konpilazioa [–bsp-flow base]: oinarrizko konpilazio bat egiten du base.qsf-ko LogicLock murrizketak erabiliz file. Nukleoaren erlojuaren helburua erlaxatuta dago, BSP hardwareak denborak betetzeko askatasun gehiago izan dezan. Base.qar datu-base bat sortzen da BSP hardwarea gordetzeko, hau da, eskualde estatikoa.
- Inportatu konpilazioa [ ]: base.qar datu-basetik denbora itxitako eskualde estatikoa leheneratzen du eta nukleoa sortutako hardwarea bakarrik konpilatzen du. Nukleoaren erlojuaren helburua ere handitzen du nukleoaren funtzionamendu-maiztasun maximo onena lortzeko (fmax).
OpenCL BSP oinplanoaren partizioa
OpenCL BSP oinplanoa bi eskualde hauetan banatzen da nagusiki:
- Eskualde estatikoa: estatiko mantentzen den BSP erlazionatutako hardwarea duen eskualdea adierazten du. Eskualde honetarako denbora itxita dago oinarri-konpilazioan. Oro har, helburua eskualde honek denborak ixteko erabiltzen dituen txip-baliabideak gutxitzea da.
- Kernel eskualdea: nukleoa duen freeze_wrapper_inst|kernel_system_inst modulurako gordeta dagoen birkonfigurazio partziala (PR) eskualdea adierazten du. Oro har, helburua eskualde honetarako txip baliabideak ahalik eta gehien erreserbatzea da.
- OpenCL-rako Intel FPGA SDK argitaratutako Khronos zehaztapen batean oinarritzen da, eta Khronos-en adostasun-probaren prozesua gainditu du. Uneko adostasun-egoera helbidean aurki daiteke www.khronos.org/conformance.
- OpenCL eta OpenCL logotipoa Apple Inc.-ren marka erregistratuak dira eta Khronos Group™-ren baimenarekin erabiltzen dira.
Intel Corporation. Eskubide guztiak erreserbatuak. Intel, Intel logotipoa eta beste Intel marka Intel Corporation edo bere filialen marka komertzialak dira. Intel-ek bere FPGA eta erdieroaleen produktuen errendimendua bermatzen du uneko zehaztapenekin, Intel-en berme estandarraren arabera, baina edozein unetan edozein produktu eta zerbitzutan aldaketak egiteko eskubidea gordetzen du jakinarazi gabe. Intel-ek ez du bere gain hartzen hemen deskribatutako edozein informazio, produktu edo zerbitzuren aplikazio edo erabileratik eratorritako erantzukizunik edo erantzukizunik, Intel-ek idatziz berariaz hitzartutakoa izan ezik. Intel-eko bezeroei gomendatzen zaie gailuaren zehaztapenen azken bertsioa eskuratzea argitaratutako edozein informaziotan oinarritu aurretik eta produktu edo zerbitzuen eskaerak egin aurretik.
*Beste izen eta markak beste batzuen jabetza direla erreklamatu daitezke.
OpenCL BSP Floorplanning jarraibideak
- Hasi konpilazio lauarekin BSPren osagai nagusi guztiak modu naturalean non kokatzen diren ulertzeko (batez ere PCIe edo DDR bezalako I/O konexioak dituzten IP blokeak). BSP diseinatzean, baliteke kanalizazioak ezartzea kontuan hartu beharko zenuketagIPen artean denbora ixteko. Lehenik eta behin konpilazio-hazien ekorketa laua exekutatu beharko zenuke huts egiten diren bide errepikakorrak identifikatzeko, eta gero horiek konpontzen saiatu.
Aholkua: — Konpilazio lauko hazien miaketa-tasa onak ixteko aukerak aukera handiagoa izango ditu oinarrizko konpilazio-denbora ixteko.
— mm_interconnect*-n hutsegite koherenteak ikusten badituzu (Qsys-ek gehitutako osagaia), ireki Sistema Qsys Interconnect-ekin viewer eta behatu huts egiten duen interkonexioaren konplexutasuna. Pipelinen txankletak gehi ditzakezu viewer denbora hobetzeko. Oraindik ezin baduzu arazoa konpondu, baliteke mm_interconnect* bide kritikoa hautsi behar izatea Avalon kanalizazio-zubiak gehituz. - Oinarrizko konpilazioan, hasi LogicLock-rekin freeze_wrapper_inst|kernel_system_inst daukan nukleoaren eskualdean. Beste murrizketarik gabe, Intel Quartus Prime-k BSP hardwarea libreki jar dezake txiparen gainerako eskualde estatikoan. Erabili konpilazio laua eta txip-planifikatzailea BSP hardwarearen tamaina eta kokapena identifikatzeko, hala nola PCIe eta DDR. Ondoren, erreserba ezazu nukleoaren eskualdea LogicLock erabiliz, BSP hardwarearen kluster eremu nagusiak saihestuz.
Aholkua: Erabilitako txip-familia erreferentzia-plataformaren berdina bada eta BSP osagaiak antzekoak badira, agian azkarragoa izan daiteke OpenCL erreferentziako BSP-rekin batera bidaltzen den freeze_wrapper_inst|kernel_system_inst-erako LogicLock eskualdeekin hastea eta hutsegiteei aurre egitea. - Osagai gehigarri hauek gehi ditzakezu zure BSPra:
— Memoria-bankuak: memoria-banku gehiago gehitzen badituzu, I/O bankuaren kokapena identifikatu beharko zenuke, baliteke kanalizazio-zubiak gehitu behar izatea denbora betetzeko.
— I/O kanalak: I/O kanalak gehi ditzakezu, hala nola bideoa, Ethernet edo serie interfazea. I/O kanalak gehitzen badituzu, I/O bankuaren kokapena identifikatu beharko zenuke, baliteke LogicLock eskualde berriak aplikatu behar izatea kanalizaziorako, ixteko denbora zaila bada.
Aholkua: kanalizazio-zubiak gehitu behar badituzu (adibidezample, bideratze-atzerapen handiak direla eta denbora-hutsegiteak eragiten dituztenez), orduan kontuan hartu iturburutik helmugarako bideratze-distantzia txiparen logika eta askatu nukleo-eskualderako gordetako espazio bat. - Jarraitu jarraibide orokor hauek LogicLock eskualdeak nukleorako erreserbatzerakoan:
— Saiatu DSP zutabe guztiak kernel_sisteman jartzen, BSPak eskatzen ez badu behintzat.
— Saiatu baliabide gehiago kernel_sistemarako erreserbatzen.
— Saiatu nukleoaren eskualdeko koska kopurua gutxien izaten.
Hurrengo irudiak PCIe eta DDR bankuaren artean kanalizazio-zubi bat jartzeko gehitu den koska bat erakusten du.
1. Irudia. OpenCL BSP Oinplanoa Intel Arria® 10 GX-rako 17.0 bertsioan
Eragiketa-maiztasun maximorako jarraibideak
Nukleoek lortzen duten operazio-maiztasun maximoa (fmax) FPGA abiaduraren araberakoa da neurri handi batean, IP gehienak dagoeneko optimizatuta egon beharko liratekeelako. Hala ere, baliteke fmax galera batzuk egotea BSP oinplanoaren arabera. Adibidezample, normalean BSP nukleoaren eskualdeko ebaki kopuruak nukleoaren fmax-a eragiten du.
Hurrengo irudian azaltzen den bezala, batez besteko fmax onena ematen duen oinarri-hazi onena eskuratzeko:
- Egin hazia ekorketa oinarri-konpilazioan denborarekin bat datorren lehen oinarri-hazia hautatu beharrean.
- Egin inportazio-konpilazioa (adibidez, kernel gutxi erabilizample designs) pasatzen diren oinarrizko hazi guztietan.
- Kalkulatu batez besteko fmax oinarrizko hazi guztientzat.
- Hautatu batez besteko fmax handiena ematen duen oinarrizko hazia.
Batez besteko fmax onena duen oinarrizko hazia hautagai ona da BSPrekin askatzeko. Gomendatutako urratsez bestelako ikuspegi bat jarraitzea erabakitzen baduzu, baliteke nukleoaren inportazio-prozesuaren fmax-aren %5-10eko aldakuntza ikustea.
2. irudia. Oinarrizko hazi onena identifikatzea
- Nukleoa zein azkar exekutatu daitekeen oinplanoaren murrizketarik gabe ulertzeko:
1. Egin nukleoaren konpilazio laua eta behatu fmax.
2. Egin inportazio-konpilazio bat nukleo berean eta behatu fmax-a.
3. Konparatu fmax emaitzak.
Oinplanoaren murrizketak direla eta, inportazio-konpilazioa fmax konpilazio laua fmax baino txikiagoa da beti. Hazien zarata ekiditeko, konpilatu nukleoa oinarrizko hazi gehiagorekin eta kontuan hartu batez besteko fmax bat fmax emaitzak alderatuz gero. - Ez konparatu inoiz oinarrizko konpilazio batetik nukleoaren fmax lau edo inportazio konpilazio batekin. Kernel-erlojuaren helburuak erlaxatu egiten dira oinarri-konpilazioan eta, beraz, ez duzu inoiz emaitza onik lortuko.
- Behatu nukleoaren erlojuaren bide kritikoa oinarri- edo inportazio-konpilazioan. Bide kritikoa nukleotik oinplanoko eskualde estatikora zeharkatzen ari bada, aldatu oinplanoa edo exekutatu oinarrizko hazi gehiago bide kritiko hori saihesteko.
BSP baliabideen erabileraren eraginkortasuna ebaluatzeko jarraibideak
Zenbat eta handiagoa izan baliabideen erabilera ehunekoatage, eremuaren erabilera hobea izango da zure BSParen eremu estatikoan. Baliabideen erabileraren ehuneko altuatagEra berean, nukleoaren eskualderako baliabide gehiago eskuragarri daudela esan nahi du.
Jarraitu beheko urratsei baliabideen erabileraren ehunekoa kalkulatzekotagZure BSParen e:
- Lortu FPGAko baliabide guztien balioak Fitter txosteneko Partizioen Estatistikak atalean eskuragarri dagoen top.fit.rpt edo base.fit.rpt-tik.
- Kendu "freeze_wrapper_inst|kernel_system_inst"-ren balioa (kernelaren eskualdea).
Aholkua:
Gehiago zentratu modulu logiko egokitzailearen (ALM) balioetan beste baliabide batzuen balioetan baino. Ziurtatu baliabideen erabileraren ehunekoatagALMrako e OpenCL erreferentzia BSPtik hurbilago dago. Ehuneko oso altuatagALM-rako e-k pilaketak sor ditzake, eta horrek konpilazio-denbora handitu dezake eta bideratze-pilaketak sor ditzake nukleo konplexuetan. Hala ere, beti handitu edo txikitu dezakezu eskualde estatikoko eremua, eta konpilazio denbora eta fmax behatu.
Hurrengo taulak Arria ® 10 GX gailuen OpenCL BSP baliabideen erabilera islatzen du 17.0 bertsioan.
1. taula.
OpenCL BSP IntelArria 10 GX gailuen baliabideen erabilera 17.0 bertsioan
Guztira eskuragarri | Kernelerako erreserbatuta | BSPrako eskuragarri | BSPk erabiltzen du | 0/0 | |
ALM | 427200 | 393800 | 33400 | 23818. | % 71. |
Erregistroak | 1708800 | 1575200 | 133600 | 38913 | % 29. |
M2OK | 2713 | 2534 | 179 | 134 | % 75. |
DSP | 1518 | 1518 | 0 | 0 | N/A |
Behatu oinplanoa eskualde estatikoak DSP blokerik izango ez duen moduan exekutatzen dela.
Dokumentuen berrikuspen historia
2. taula.
OpenCL Board Support Package Floorplan Optimization Guiderako Intel FPGA SDK-ren dokumentuen berrikuspenaren historia
Data | Bertsioa | Aldaketak |
Abuztua-17 | Hasierako kaleratzea. |
Lineako bertsioa
Bidali Iritzia
ID: 683312
AN-824
Bertsioa: 2017.08.08
AN 824: Intel® FPGA SDK OpenCL™ plakarako
Laguntza-paketea Oinplanoa optimizatzeko gida
Dokumentuak / Baliabideak
![]() |
Intel AN 824 FPGA SDK OpenCL Board Support Package Floorplan [pdfErabiltzailearen gida AN 824 FPGA SDK OpenCL Board Support Package Floorplan, AN 824, FPGA SDK for OpenCL Board Support Package Floorplan, OpenCL Board Support Package Floorplan, Board Support Package Floorplan, Support Package Floorplan, Package Floorplan, Floorplan |