AN 824 FPGA SDK ji bo Desteya OpenCL
Plansaziya Pakêta Piştgiriyê
Rehbera bikaranînê
Intel® FPGA SDK ji bo Rêbernameya Optimîzasyona Plansaziya Plana Pakêta Desteka OpenCL ™
Intel/® FPGA SDK-ya ji bo Pakêta Piştgiriya Boardê OpenCL™ (BSP) Rêbernameya Optimîzasyona Plansaziya Qatê ji bo OpenCL) BSP rêwerzên plansazkirina erdê peyda dike. Ew di heman demê de rêbernameyê dide ka hûn çawa dikarin tovê bingehîn bi frekansa xebitandina herî navînî ya çêtirîn bistînin û karbidestiya karanîna çavkaniya BSP-ê binirxînin.
Vê belgeyê texmîn dike ku hûn bi têgehên OpenCL(2) ên ku di guhertoya OpenCL Specification 1.0 de ji hêla Koma Khronos ve hatî destnîşan kirin nas dikin.
Herikîna Berhevkirina OpenCL BSP
OpenCL BSP cûreyên jêrîn ên berhevokê piştgirî dike:
- Berhevkirina daîre [–bsp-flow flat]: Tevahiya sêwiranê berhevokek guncan pêk tîne (BSP ligel hardware ku kernel hatî çêkirin).
- Berhevkirina bingehîn [–bsp-flow base]: Bi karanîna sînorkirinên LogicLock ji base.qsf berhevokek bingehîn pêk tîne. file. Hedefa demjimêra kernelê rehet e da ku hardware BSP ji bo peydakirina demê xwedan azadî be. Databasek base.qar ji bo parastina hardware BSP, ku herêma statîk e, tê afirandin.
- berhevkirina import [ ]: Demjimêra herêma statîk a girtî ji databasa base.qar vedigerîne û tenê hardware ya ku kernel hatî çêkirin berhev dike. Di heman demê de ew armanca demjimêra kernel zêde dike da ku frekansa xebitandina herî zêde ya kernel (fmax) bistîne.
OpenCL BSP Floorplan Partition
Plana erdê OpenCL BSP bi piranî li du herêmên jêrîn dabeş dibe:
- Herêma statîk: Herêmê ku xwedan hardwareya têkildar a BSP-yê ye ku statîk dimîne temsîl dike. Di dema berhevkirina bingehê de dem ji bo vê herêmê girtî ye. Bi gelemperî, armanc ev e ku meriv çavkaniyên çîpê yên ku ji hêla vê herêmê ve têne bikar anîn da ku dem bigire kêm bike.
- Herêma kernelê: Herêma ji nû veavakirina qismî (PR) ya ku ji bo modula freeze_wrapper_inst|kernel_system_inst ve hatî veqetandin, ku kernel tê de ye, destnîşan dike. Bi gelemperî, armanc ev e ku ji bo vê herêmê çavkaniyên çîpê heta radeyekê herî zêde rezerv bikin.
- Intel FPGA SDK-ya ji bo OpenCL-ê li ser bingeha taybetmendiyek Khronos-ê ya hatî weşandin e, û Pêvajoya Testkirina Hevrêziya Khronos derbas kiriye. Rewşa lihevhatina heyî dikare li vir were dîtin www.khronos.org/conformance.
- OpenCL û logoya OpenCL marqeyên Apple Inc. ne û bi destûra Khronos Group™ têne bikar anîn.
Pargîdaniya Intel. Hemû maf parastî ne. Intel, logoya Intel, û nîşaneyên din ên Intel marqeyên Intel Corporation an pargîdaniyên wê ne. Intel garantiya performansa FPGA û hilberên xwe yên nîvconductor li gorî taybetmendiyên heyî li gorî garantiya standard a Intel digire, lê mafê ku di her kêliyê de bêyî agahdarî di her hilber û karûbaran de biguhezîne digire. Intel ti berpirsiyarî an berpirsiyariya ku ji serîlêdan an karanîna ti agahdarî, hilber, an karûbarê ku li vir hatî diyar kirin çêdibe, ji bilî ku bi eşkere bi nivîskî ji hêla Intel ve hatî pejirandin. Ji xerîdarên Intel re tê şîret kirin ku berî ku xwe bispêrin agahdariya hatî weşandin û berî ku emrê hilber an karûbaran bidin, guhertoya herî dawî ya taybetmendiyên cîhazê bistînin.
*Dibe ku nav û marqeyên din wekî milkê kesên din werin îdîakirin.
Rêbernameyên ji bo Plansazkirina Qatê OpenCL BSP
- Bi berhevkirina guncan dest pê bikin da ku fêm bikin ka hemî pêkhateyên sereke yên BSP bi xwezayî li ku derê têne danîn (nemaze blokên IP-yê bi girêdanên I/O yên wekî PCIe an DDR). Di dema sêwirana BSP-ê de, dibe ku hûn li ser damezrandina xeta boriyê bifikirintagDi navbera IP-yan de ye ku wextê bigire. Pêdivî ye ku hûn pêşî şûştinek tovê berhevokê ya guncan bimeşînin da ku rêyên têkçûyî yên dubare nas bikin, û dûv re jî hewl bidin ku wan rast bikin.
Serişte: - Rêjeya girtina wextê ya baş li ser şûştinên tovên berhevkirî yên daîre dê şansên girtina dema berhevkirina bingehîn hebe.
- Ger hûn di mm_interconnect* de têkçûnên domdar bibînin (pêkhat ji hêla Qsys ve hatî zêdekirin), wê hingê Pergalê bi Qsys Interconnect vekin viewer û tevliheviya têkçûna têkçûna hevdu bişopînin. Hûn dikarin flipflopsên pipelining di nav de zêde bikin viewer ji bo baştirkirina demê. Ger hûn hîn jî nikaribin pirsgirêkê çareser bikin, dibe ku hûn neçar bin ku bi lê zêdekirina pirên lûleya Avalon rêça krîtîk a mm_interconnect* hilweşînin. - Di dema berhevkirina bingehê de, bi LogicLock-ê li herêma kernelê ya ku freeze_wrapper_inst|kernel_system_inst dihewîne dest pê bikin. Bêyî ti sînorkirinên din, Intel Quartus Prime dikare hardware BSP bi serbestî li devera statîk a mayî ya çîpê bi cîh bike. Berhevkar û plansazkera çîpê bikar bînin da ku mezinahî û cîhê hardwareya BSP, wek PCIe û DDR nas bikin. Dûv re, bi karanîna LogicLock-ê devera kernel veqetînin dema ku ji deverên komkirî yên sereke yên hardware BSP-ê dûr bikevin.
Serişte: Heke malbata çîpê ya ku tê bikar anîn wekî platforma referansê ye û heke pêkhateyên BSP-ê wekî hev bin, dibe ku zûtir be ku meriv bi herêmên LogicLock-ê ji bo freeze_wrapper_inst|kernel_system_inst-ê ku bi BSP-ya referansa OpenCL-ê re tê şandin dest pê bike û bi têkçûnan re bixebite. - Hûn dikarin hêmanên din ên jêrîn li BSP-ya xwe zêde bikin:
- Bankên bîrê: Heke hûn bêtir bankeyên bîranînê zêde bikin, divê hûn cîhê banka I/O nas bikin ji ber ku dibe ku hûn hewce ne ku pirên boriyê lê zêde bikin da ku dem bi cih bibin.
— Kanalên I/O: Hûn dikarin kanalên I/O yên wekî vîdyo, Ethernet, an navrûya rêzefîlmê lê zêde bikin. Ger hûn kanalên I/O lê zêde bikin, divê hûn cîhê banka I/O nas bikin ji ber ku dibe ku hûn hewce bikin ku herêmên nû yên LogicLock-ê ji bo boriyê bicîh bikin heke dema girtina wextê dijwar be.
Serişte: Heke hûn hewce ne ku pirên boriyê zêde bikin (mînakample, ji ber derengiyên mezin ên rêvekirinê ku dibe sedema têkçûnên demê), dûv re dûrahiya rêwîtiyê ji çavkanî heya mantiqa meqsedê di çîpê de binirxînin û hin cîhê ku ji bo herêma kernelê hatiye veqetandin berdin. - Dema ku herêmên LogicLock ji bo kernel rezerv dikin, van rêwerzên gelemperî bişopînin:
- Hewl bidin ku hemî stûnên DSP-ê di pergala kernel_pergalê de bi cîh bikin heya ku ji hêla BSP-ê ve hewce nebe.
- Hewl bidin ku bêtir çavkaniyan ji bo pergala kernel_system veqetînin.
- Hewl bidin ku hejmara xêzên li herêma kernel di hindiktirîn de bimîne.
Nîgara jêrîn nîskek ku hate zêdekirin da ku pirek boriyê di navbera banka PCIe û DDR de bicîh bike destnîşan dike.
Figure 1. OpenCL BSP Floorplan bo Intel Arria® 10 GX di berdana 17.0 de
Rêbernameyên ji bo Frequency Operating Maximum
Frekansa xebitandinê ya herî zêde (fmax) ya ku ji hêla kernelan ve hatî bidestxistin bi piranî bi leza FPGA ve girêdayî ye ji ber ku piraniya IP-yan divê berê xweşbîn bibin. Lêbelê, dibe ku hin windakirina fmax li gorî plansaziya BSP-ê hebe. Ji bo exampLe, bi gelemperî hejmara qutkirinan li herêma kernelê ya BSP bandor li fmax kernel dike.
Wekî ku di jimareya jêrîn de hatî destnîşan kirin, ji bo bidestxistina tovê bingehîn a çêtirîn ku fmax-a navînî ya çêtirîn çêdike:
- Li şûna ku hûn tovê bingehîn a yekem hilbijêrin ku li gorî demê ye, şûştina tovê li ser berhevoka bingehê bikin.
- Berhevkirina importê pêk bînin (bi karanîna çend kernelên ji berêample sêwiranan) li ser hemî tovên bingehîn ên derbasbûyî.
- Fmax-a navîn ji bo hemî tovên bingehîn hesab bikin.
- Tovê bingehîn ku fmax-a navînî ya herî bilind dide hilbijêrin.
Tovê bingehîn bi fmax-a navînî ya çêtirîn berendamek baş e ji bo berdana bi BSP. Ger hûn biryar bidin ku nêzîkatiyek ji gavên pêşniyarkirî cûda bişopînin, dibe ku hûn 5-10% guheztina di fmax ya pêvajoya berhevkirina importa kernel de bibînin.
Figure 2. Naskirina Baştirîn Tovê Bingehê
- Ji bo ku hûn fêm bikin ka kernel çiqas zû dikare bêyî qedexeyên plansaziyê bimeşîne:
1. Berhevkirineke kernelê ya safî pêk bînin û li fmax temaşe bikin.
2. Li ser heman kernelê berhevokek importê bikin û li fmax temaşe bikin.
3. Encamên fmax berhev bikin.
Ji ber qedexeyên plansaziya erdê, fmax berhevkarê import her gav ji fmax berhevoka daîre kêmtir e. Ji bo ku hûn ji dengê tovê dûr nekevin, kernel bi tovên bingehîn ên bêtir berhev bikin û dema ku encamên fmax berhev bikin fmaxek navînî bifikirin. - Tu carî kernel fmax ji berhevokek bingehîn bi berhevokek daîre an importek re hevber nekin. Armancên demjimêra kernel di dema berhevkirina bingehê de rihet dibin û ji ber vê yekê, hûn ê ti carî encamên baş negirin.
- Di berhevoka bingehîn an import de rêça krîtîk a demjimêra kernelê bişopînin. Ger riya krîtîk ji kernelê berbi herêma statîk a di plansaziya qatê de derbas dibe, plansaziya erdê biguhezînin an çend tovên din ên bingehîn bimeşînin da ku ji vê riya krîtîk dûr bikevin.
Rêbernameyên ji bo Nirxandina Karbidestiya Bikaranîna Çavkaniyên BSP
Rêjeya karanîna çavkaniyê çiqas bilindtir betage, di qada statîk a BSP-ya we de karanîna deverê çêtir e. Rêjeya karanîna çavkaniyê ya bilindtage jî tê vê wateyê ku ji bo herêma kernelê bêtir çavkanî hene.
Pêngavên jêrîn bişopînin da ku rêjeya karanîna çavkaniyê hesab bikintage ya BSP ya we:
- Ji bo hemî çavkaniyên di FPGA-yê de ji top.fit.rpt an base.fit.rpt nirxan bistînin ku di binê beşa Statîstîkên Parçekirinê ya rapora Fitter de heye.
- Nirxê "freeze_wrapper_inst|kernel_system_inst" (herêma kernelê) jê bike.
Bexşîş:
Ji nirxên çavkaniyên din bêtir bala xwe bidin ser nirxên modula mentiqê adapteyî (ALM). Bawer bikin ku rêjeya karanîna çavkaniyêtage ji bo ALM ji BSP-ya referansa OpenCL nêzîktir e. Ji sedî pir bilindtage ji bo ALM-ê dibe ku bibe sedema qerebalixiyê, ku dikare dema berhevkirinê zêde bike û di nav kernelên tevlihev de qerebalixên rêvekirinê destnîşan bike. Lêbelê, hûn dikarin her gav qada herêma statîk zêde bikin an kêm bikin, û dema berhevkirinê û fmax-ê temaşe bikin.
Tabloya jêrîn karanîna çavkaniya OpenCL BSP ya cîhazên Arria ® 10 GX di berdana 17.0 de nîşan dide.
Tablo 1.
Bikaranîna Çavkaniya OpenCL BSP ya cîhazên IntelArria 10 GX di 17.0 Daxuyaniyê de
Tevahiya Berdest | Ji bo Kernel veqetandin | Ji bo BSP heye | Ji hêla BSP ve tê bikar anîn | 0/0 | |
Alm | 427200 | 393800 | 33400 | 23818. | % 71 |
Qeyd dike | 1708800 | 1575200 | 133600 | 38913 | % 29 |
M2OK | 2713 | 2534 | 179 | 134 | % 75 |
DSP | 1518 | 1518 | 0 | 0 | N/A |
Bala xwe bidinê ku plansaziya erdê bi vî rengî tête darve kirin ku devera statîk dê blokên DSP-ê tune be.
Dîroka Guhertoya Belgeyê
Tablo 2.
Dîroka Guhertoya Belgeyê ya Intel FPGA SDK-ya ji bo Pakêta Piştgiriya Lijneya OpenCL Rêbernameya Optimîzasyona Plansaziya Belgeyê
Rojek | Awa | Changes |
Tebax-17 | Serbestberdana destpêkê. |
Version
Send Feedback
Nasname: 683312
AN-824
Versiyon: 2017.08.08
AN 824: Intel® FPGA SDK ji bo Desteya OpenCL™
Rêbernameya Optimîzasyona Floorplanê ya Pakêta Piştgiriyê
Belge / Çavkanî
![]() |
intel AN 824 FPGA SDK ji bo Plana Pakêta Piştgiriya OpenCL Board [pdf] Rehbera bikaranînê AN 824 FPGA SDK ji bo Plana Pakêta Piştgiriya Desteya OpenCL, AN 824, FPGA SDK ji bo Pakêta Piştgiriya Lijneya OpenCL Planplan, Pakêta Piştgiriya Desteya OpenCL Planplan, Pakêta Piştgiriya Desteyê Planplan, Pakêta Piştgiriyê Planplan, Plansaziya Pakêta Piştgiriyê, Plansaziya Pakêtê |