SDK 824 FPGA kwa Bodi ya OpenCL
Support Package Floorplan
Mwongozo wa Mtumiaji
Intel® FPGA SDK ya Mwongozo wa Uboreshaji wa Kifurushi cha Bodi ya OpenCL ™
Intel/® FPGA SDK ya OpenCL™ Board Support Package (BSP) Mwongozo wa Uboreshaji wa Floorplan hutoa miongozo ya kupanga sakafu kwa OpenCL) BSP. Pia hutoa mwongozo wa jinsi unavyoweza kupata mbegu msingi na masafa bora ya wastani ya juu ya uendeshaji na kutathmini ufanisi wa matumizi ya rasilimali ya BSP.
Hati hii inachukulia kuwa unafahamu dhana za OpenCL(2) kama ilivyofafanuliwa katika toleo la 1.0 la Uainisho la OpenCL na Kikundi cha Khronos.
Mtiririko wa Mkusanyiko wa OpenCL BSP
OpenCL BSP inasaidia aina zifuatazo za mtiririko wa kukusanya:
- Mkusanyiko gorofa [–bsp-flow flat]: Hufanya mkusanyiko bapa wa muundo mzima (BSP pamoja na maunzi yanayotokana na punje).
- Mkusanyiko wa msingi [–bsp-flow base]: Hufanya mkusanyiko wa msingi kwa kutumia vizuizi vya LogicLock kutoka base.qsf file. Lengo la saa ya kernel limelegezwa ili maunzi ya BSP yawe na uhuru zaidi wa kutimiza muda. Hifadhidata ya base.qar imeundwa ili kuhifadhi maunzi ya BSP, ambayo ni eneo tuli.
- Leta mkusanyiko [ ]: Hurejesha muda eneo tuli lililofungwa kutoka kwa hifadhidata ya base.qar na inajumuisha maunzi yanayotokana na kernel pekee. Pia huongeza lengo la saa ya kernel kupata masafa bora zaidi ya uendeshaji wa kernel (fmax).
Sehemu ya OpenCL BSP Floorplan
Mpango wa sakafu wa OpenCL BSP umegawanywa hasa katika mikoa miwili ifuatayo:
- Eneo tuli: Inawakilisha eneo lenye maunzi yanayohusiana na BSP ambayo yanasalia tuli. Muda umefungwa kwa eneo hili wakati wa kukusanya msingi. Kwa ujumla, lengo ni kupunguza rasilimali za chip zinazotumiwa na eneo hili kufunga wakati.
- Eneo la Kernel: Inawakilisha eneo la usanidi upya (PR) ambalo limehifadhiwa kwa moduli ya freeze_wrapper_inst|kernel_system_inst, ambayo ina kernel. Kwa ujumla, lengo ni kuhifadhi rasilimali za chip kwa kiwango cha juu kwa eneo hili.
- Intel FPGA SDK ya OpenCL inatokana na Uainisho wa Khronos uliochapishwa, na imepitisha Mchakato wa Kujaribu Ulinganifu wa Khronos. Hali ya sasa ya ulinganifu inaweza kupatikana katika www.khronos.org/conformance.
- OpenCL na nembo ya OpenCL ni alama za biashara za Apple Inc. na hutumiwa kwa idhini ya Khronos Group™.
Shirika la Intel. Haki zote zimehifadhiwa. Intel, nembo ya Intel, na alama zingine za Intel ni chapa za biashara za Intel Corporation au kampuni zake tanzu. Intel inathibitisha utendakazi wa FPGA yake na bidhaa za semiconductor kwa vipimo vya sasa kwa mujibu wa udhamini wa kawaida wa Intel, lakini inahifadhi haki ya kufanya mabadiliko kwa bidhaa na huduma zozote wakati wowote bila taarifa. Intel haichukui jukumu au dhima yoyote inayotokana na maombi au matumizi ya taarifa yoyote, bidhaa, au huduma iliyofafanuliwa hapa isipokuwa kama ilivyokubaliwa kwa maandishi na Intel. Wateja wa Intel wanashauriwa kupata toleo jipya zaidi la vipimo vya kifaa kabla ya kutegemea taarifa yoyote iliyochapishwa na kabla ya kuagiza bidhaa au huduma.
*Majina na chapa zingine zinaweza kudaiwa kuwa mali ya wengine.
Miongozo ya Upangaji wa sakafu ya OpenCL BSP
- Anza na mkusanyo bapa ili kuelewa ni wapi sehemu kuu zote za BSP huwekwa kawaida (haswa IP huzuia na viunganishi vya I/O kama vile PCIe au DDR). Wakati wa kubuni BSP, unaweza kufikiria kuanzisha bomba stagiko katikati ya IP ili kufunga muda. Unapaswa kwanza kuendesha ufagiaji wa mbegu bapa ili kubaini njia ambazo hazifanyiki mara kwa mara, na kisha ujaribu kuzirekebisha.
Kidokezo: - Kiwango kizuri cha kufungwa kwa wakati juu ya ufagiaji wa mbegu zilizokusanywa kitakuwa na nafasi kubwa ya kufunga muda wa mkusanyiko wa msingi.
- Ukiona mapungufu thabiti katika mm_interconnect* (sehemu iliyoongezwa na Qsys), basi fungua Mfumo na Qsys Interconnect viewer na uangalie ugumu wa muunganisho unaoshindwa. Unaweza kuongeza flipflops za bomba kwenye viewili kuboresha muda. Ikiwa bado huwezi kushughulikia suala hilo, huenda ukalazimika kuvunja mm_interconnect* njia muhimu kwa kuongeza madaraja ya bomba la Avalon. - Wakati wa ujumuishaji msingi, anza na LogicLock kwenye eneo la kernel ambalo lina freeze_wrapper_inst|kernel_system_inst. Bila vizuizi vingine, Intel Quartus Prime inaweza kuweka maunzi ya BSP kwa uhuru katika eneo tuli lililosalia la chip. Tumia mkusanyiko bapa na kipanga chip kutambua ukubwa na eneo la maunzi ya BSP, kama vile PCIe na DDR. Kisha, hifadhi eneo la kernel kwa kutumia LogicLock huku ukiepuka maeneo makuu yaliyounganishwa ya maunzi ya BSP.
Kidokezo: Ikiwa familia ya chipu inayotumika ni sawa na jukwaa la marejeleo na ikiwa vijenzi vya BSP vinafanana, inaweza kuwa haraka kuanza na maeneo ya LogicLock ya freeze_wrapper_inst|kernel_system_inst ambayo husafirishwa kwa BSP ya marejeleo ya OpenCL na kutatua hitilafu hizo. - Unaweza kuongeza vifaa vifuatavyo kwa BSP yako:
— Benki za kumbukumbu: Ukiongeza hifadhi zaidi za kumbukumbu, unapaswa kutambua eneo la benki ya I/O kwa kuwa huenda ukahitaji kuongeza madaraja ya bomba ili kutimiza muda.
— Vituo vya I/O: Unaweza kuongeza chaneli za I/O kama vile video, Ethaneti, au kiolesura cha mfululizo. Ukiongeza chaneli za I/O, unapaswa kutambua eneo la benki ya I/O kwa kuwa huenda ukahitaji kutumia maeneo mapya ya LogicLock kwa ajili ya kuweka bomba ikiwa muda wa kufunga ni mgumu.
Kidokezo: Ikiwa unahitaji kuongeza madaraja ya bomba (kwa mfanoample, kutokana na ucheleweshaji mkubwa wa uelekezaji unaosababisha hitilafu za muda), basi zingatia umbali wa uelekezaji kutoka kwa chanzo hadi mantiki lengwa kwenye chipu na utoe nafasi fulani iliyohifadhiwa kwa eneo la kernel. - Fuata miongozo hii ya jumla wakati wa kuhifadhi maeneo ya LogicLock kwa kernel:
- Jaribio la kuweka safu wima zote za DSP kwenye kernel_system isipokuwa inavyotakiwa na BSP.
- Jaribio la kuhifadhi rasilimali zaidi kwa mfumo wa kernel.
- Jaribio la kuweka idadi ya noti katika eneo la kernel kwa kiwango cha chini.
Kielelezo kifuatacho kinaonyesha noti ambayo iliongezwa ili kuweka daraja la bomba kati ya PCIe na benki ya DDR.
Kielelezo 1. OpenCL BSP Floorplan ya Intel Arria® 10 GX katika Toleo la 17.0
Miongozo ya Upeo wa Masafa ya Uendeshaji
Upeo wa masafa ya kufanya kazi (fmax) unaofikiwa na kokwa kwa kiasi kikubwa hutegemea kasi ya FPGA kwani IP nyingi zinapaswa kuwa tayari zimeboreshwa . Walakini, kunaweza kuwa na upotezaji wa fmax kulingana na mpango wa sakafu wa BSP. Kwa mfanoample, kwa kawaida idadi ya vipunguzi katika eneo la kernel ya BSP huathiri kernel fmax.
Kama inavyoonyeshwa kwenye kielelezo kifuatacho, ili kupata mbegu bora ya msingi ambayo hutoa wastani bora wa fmax:
- Fagia mbegu kwenye mkusanyiko wa msingi badala ya kuchagua mbegu ya msingi ya kwanza ambayo inakidhi muda.
- Tekeleza mkusanyiko wa uingizaji (kwa kutumia kokwa chache kutoka kwa example miundo) kwenye mbegu zote za msingi zinazopita.
- Hesabu wastani wa fmax kwa mbegu zote za msingi.
- Chagua mbegu ya msingi inayotoa wastani wa juu zaidi wa fmax.
Mbegu msingi iliyo na wastani bora wa fmax ni mgombeaji mzuri wa kutolewa na BSP. Ukiamua kufuata mbinu tofauti na hatua zinazopendekezwa, unaweza kuona tofauti ya 5-10% katika fmax ya mchakato wa ujumuishaji wa kernel.
Kielelezo 2. Kutambua Mbegu Bora ya Msingi
- Ili kuelewa jinsi kernel inaweza kukimbia bila vizuizi vya sakafu:
1. Fanya mkusanyiko bapa wa kernel na uangalie fmax.
2. Tekeleza mkusanyo wa kuagiza kwenye kerneli sawa na uangalie fmax.
3. Linganisha matokeo ya fmax.
Kwa sababu ya vizuizi vya mpangilio wa sakafu, kuagiza mkusanyiko fmax kila wakati ni chini kuliko mkusanyiko wa gorofa fmax. Ili kuepuka kelele za mbegu, kusanya punje na mbegu za msingi zaidi na uzingatie wastani wa fmax huku ukilinganisha matokeo ya fmax. - Kamwe usilinganishe kernel fmax kutoka kwa mkusanyiko wa msingi na gorofa au mkusanyiko wa kuagiza. Malengo ya saa ya Kernel yanalegezwa wakati wa ujumuishaji wa msingi na kwa hivyo, hutawahi kupata matokeo mazuri.
- Angalia njia muhimu ya saa ya kernel katika mkusanyiko wa msingi au uingizaji. Ikiwa njia muhimu inavuka kutoka kwenye kokwa hadi eneo tuli katika mpangilio wa sakafu, badilisha mpangilio wa sakafu au endesha mbegu chache zaidi za msingi ili kuepuka njia hii muhimu.
Miongozo ya Kutathmini Ufanisi wa Matumizi ya Rasilimali ya BSP
Kadiri asilimia ya matumizi ya rasilimali inavyoongezekatage, ndivyo utumiaji wa eneo bora katika eneo tuli la BSP yako. Asilimia ya juu ya matumizi ya rasilimalitage pia inamaanisha kuwa rasilimali zaidi zinapatikana kwa eneo la kernel.
Fuata hatua zilizo hapa chini ili kukokotoa asilimia ya matumizi ya rasilimalitage ya BSP yako:
- Pata thamani za rasilimali zote katika FPGA kutoka top.fit.rpt au base.fit.rpt inayopatikana chini ya sehemu ya Takwimu za Sehemu ya ripoti ya Fitter.
- Toa thamani ya “freeze_wrapper_inst|kernel_system_inst” (eneo la kernel).
Kidokezo:
Zingatia zaidi thamani za moduli ya mantiki inayobadilika (ALM) kuliko thamani za nyenzo zingine. Hakikisha kuwa asilimia ya matumizi ya rasilimalitage kwa ALM iko karibu na BSP ya marejeleo ya OpenCL. Asilimia ya juu sanatage kwa ALM inaweza kusababisha msongamano, ambao unaweza kuongeza muda wa utungaji na kuanzisha misongamano ya uelekezaji katika kokwa changamano. Walakini, unaweza kuongeza au kupunguza eneo la eneo tuli, na uangalie wakati wa mkusanyiko na fmax.
Jedwali lifuatalo linaonyesha matumizi ya rasilimali ya OpenCL BSP ya vifaa vya Arria ® 10 GX katika toleo la 17.0.
Jedwali 1.
Matumizi ya Rasilimali ya OpenCL BSP ya vifaa vya IntelArria 10 GX katika Toleo la 17.0
Jumla Inayopatikana | Imehifadhiwa kwa Kernel | Inapatikana kwa BSP | Inatumiwa na BSP | 0/0 | |
ALM | 427200 | 393800 | 33400 | 23818. | 71.% |
Rejesta | 1708800 | 1575200 | 133600 | 38913 | 29.% |
M2 sawa | 2713 | 2534 | 179 | 134 | 75.% |
DSP | 1518 | 1518 | 0 | 0 | N/A |
Zingatia kwamba upangaji sakafu unatekelezwa kwa njia ambayo eneo tuli halitakuwa na vizuizi vyovyote vya DSP.
Historia ya Marekebisho ya Hati
Jedwali 2.
Historia ya Marekebisho ya Hati ya Intel FPGA SDK ya Mwongozo wa Uboreshaji wa Kifurushi cha Bodi ya OpenCL
Tarehe | Toleo | Mabadiliko |
Agosti-17 | Kutolewa kwa awali. |
Toleo la mtandaoni
Tuma Maoni
Kitambulisho: 683312
AN-824
Toleo: 2017.08.08
AN 824: Intel® FPGA SDK kwa Bodi ya OpenCL™
Mwongozo wa Uboreshaji wa Kifurushi cha Floorplan
Nyaraka / Rasilimali
![]() |
intel AN 824 FPGA SDK ya OpenCL Board Support Package Floorplan [pdf] Mwongozo wa Mtumiaji AN 824 FPGA SDK ya OpenCL Board Support Package Floorplan, AN 824, FPGA SDK ya OpenCL Board Support Package Floorplan, OpenCL Board Support Package Floorplan, Board Support Floorplan, Support Package Floorplan, Floorplan ya Furushi, |