ISANG 824 FPGA SDK para sa OpenCL Board
Suporta sa Package Floorplan
Gabay sa Gumagamit
Intel® FPGA SDK para sa OpenCL ™ Board Support Package Floorplan Optimization Guide
Ang Intel/® FPGA SDK para sa OpenCL™ Board Support Package (BSP) Floorplan Optimization Guide ay nagbibigay ng mga alituntunin sa floorplanning para sa OpenCL) BSP. Nagbibigay din ito ng patnubay kung paano mo makukuha ang base seed na may pinakamahusay na average na maximum operating frequency at suriin ang kahusayan sa paggamit ng mapagkukunan ng BSP.
Ipinapalagay ng dokumentong ito na pamilyar ka sa mga konsepto ng OpenCL(2) gaya ng inilarawan sa OpenCL Specification version 1.0 ng Khronos Group.
Daloy ng Compilation ng OpenCL BSP
Sinusuportahan ng OpenCL BSP ang mga sumusunod na uri ng mga daloy ng compile:
- Flat compile [–bsp-flow flat]: Nagsasagawa ng flat compilation ng buong disenyo (BSP kasama ng kernel na nabuong hardware).
- Base compile [–bsp-flow base]: Nagsasagawa ng base compilation sa pamamagitan ng paggamit ng mga paghihigpit ng LogicLock mula sa base.qsf file. Ang kernel clock target ay nakakarelaks upang ang BSP hardware ay may higit na kalayaan upang matugunan ang timing. Ang base.qar database ay nilikha upang mapanatili ang BSP hardware, na siyang static na rehiyon.
- Mag-import ng compile [ ]: Ibinabalik ang timing closed static na rehiyon mula sa base.qar database at kino-compile lamang ang kernel na nabuong hardware. Pinapataas din nito ang target na kernel clock para makuha ang pinakamahusay na kernel maximum operating frequency (fmax).
OpenCL BSP Floorplan Partition
Ang OpenCL BSP floorplan ay pangunahing nahahati sa sumusunod na dalawang rehiyon:
- Static na rehiyon: Kinakatawan ang rehiyon na mayroong hardware na nauugnay sa BSP na nananatiling static. Ang timing ay sarado para sa rehiyong ito sa panahon ng base compilation. Sa pangkalahatan, ang layunin ay i-minimize ang mga mapagkukunan ng chip na ginagamit ng rehiyong ito upang isara ang timing.
- Kernel region: Kinakatawan ang partial reconfiguration (PR) region na nakalaan para sa freeze_wrapper_inst|kernel_system_inst module, na naglalaman ng kernel. Sa pangkalahatan, ang layunin ay magreserba ng mga mapagkukunan ng chip sa maximum na lawak para sa rehiyong ito.
- Ang Intel FPGA SDK para sa OpenCL ay batay sa isang na-publish na Khronos Specification, at nakapasa sa Khronos Conformance Testing Process. Ang kasalukuyang katayuan ng pagsunod ay matatagpuan sa www.khronos.org/conformance.
- Ang OpenCL at ang OpenCL na logo ay mga trademark ng Apple Inc. at ginagamit nang may pahintulot ng Khronos Group™.
Intel Corporation. Lahat ng karapatan ay nakalaan. Ang Intel, ang logo ng Intel, at iba pang mga marka ng Intel ay mga trademark ng Intel Corporation o mga subsidiary nito. Ginagarantiya ng Intel ang pagganap ng mga produktong FPGA at semiconductor nito sa kasalukuyang mga detalye alinsunod sa karaniwang warranty ng Intel, ngunit inilalaan ang karapatang gumawa ng mga pagbabago sa anumang produkto at serbisyo anumang oras nang walang abiso. Walang pananagutan o pananagutan ang Intel na nagmumula sa aplikasyon o paggamit ng anumang impormasyon, produkto, o serbisyong inilarawan dito maliban kung hayagang sinang-ayunan ng Intel. Pinapayuhan ang mga customer ng Intel na kunin ang pinakabagong bersyon ng mga detalye ng device bago umasa sa anumang nai-publish na impormasyon at bago maglagay ng mga order para sa mga produkto o serbisyo.
*Ang ibang mga pangalan at tatak ay maaaring i-claim bilang pag-aari ng iba.
Mga Alituntunin para sa OpenCL BSP Floorplanning
- Magsimula sa flat compilation para maunawaan kung saan natural na nailalagay ang lahat ng pangunahing bahagi ng BSP (lalo na ang mga IP block na may mga koneksyon sa I/O gaya ng PCIe o DDR). Habang nagdidisenyo ng BSP, maaaring kailanganin mong isaalang-alang ang pagtatatag ng mga pipelinetagay nasa pagitan ng mga IP upang isara ang timing. Dapat mo munang magpatakbo ng isang flat compile seed sweep upang matukoy ang paulit-ulit na pagbagsak ng mga landas, at pagkatapos ay subukang ayusin ang mga ito.
Tip: — Ang isang magandang timing closure rate sa flat compile seed sweeps ay magkakaroon ng mas mataas na pagkakataon ng pagsasara ng base compile timing.
— Kung napansin mo ang mga pare-parehong pagkabigo sa mm_interconnect* (component na idinagdag ng Qsys), pagkatapos ay buksan ang System na may Qsys Interconnect viewer at obserbahan ang pagiging kumplikado ng bagsak na interconnect. Maaari kang magdagdag ng pipelining flipflops sa viewer para mapabuti ang timing. Kung hindi mo pa rin matugunan ang isyu, maaaring kailanganin mong sirain ang kritikal na landas ng mm_interconnect* sa pamamagitan ng pagdaragdag ng mga tulay ng pipeline ng Avalon. - Sa panahon ng base compilation, magsimula sa LogicLock sa kernel region na naglalaman ng freeze_wrapper_inst|kernel_system_inst. Nang walang ibang mga paghihigpit, malayang mailalagay ng Intel Quartus Prime ang hardware ng BSP sa natitirang static na rehiyon ng chip. Gamitin ang flat compile at chip planner para matukoy ang laki at lokasyon ng BSP hardware, gaya ng PCIe at DDR. Pagkatapos, ireserba ang kernel region sa pamamagitan ng paggamit ng LogicLock habang iniiwasan ang mga pangunahing clustered na lugar ng BSP hardware.
Tip: Kung ang chip family na ginamit ay pareho sa reference platform at kung ang mga bahagi ng BSP ay magkapareho, maaaring mas mabilis na magsimula sa mga rehiyon ng LogicLock para sa freeze_wrapper_inst|kernel_system_inst na ipinadala kasama ng OpenCL reference na BSP at lutasin ang mga pagkabigo. - Maaari mong idagdag ang mga sumusunod na karagdagang bahagi sa iyong BSP:
— Mga memory bank: Kung magdaragdag ka ng higit pang mga memory bank, dapat mong tukuyin ang lokasyon ng I/O bank dahil maaaring kailanganin mong magdagdag ng mga pipeline bridge upang matugunan ang timing.
— I/O channels: Maaari kang magdagdag ng I/O channels gaya ng video, Ethernet, o serial interface. Kung magdaragdag ka ng mga I/O channel, dapat mong tukuyin ang lokasyon ng I/O bank dahil maaaring kailanganin mong maglapat ng mga bagong rehiyon ng LogicLock para sa pipelining kung mahirap ang pagsasara ng timing.
Tip: Kung kailangan mong magdagdag ng mga pipeline bridge (para sa halample, dahil sa malalaking pagkaantala sa pagruruta na nagdudulot ng mga pagkabigo sa timing), pagkatapos ay isaalang-alang ang routing distance mula sa source hanggang destination logic sa chip at maglabas ng ilang puwang na nakalaan para sa kernel region. - Sundin ang mga pangkalahatang alituntuning ito kapag nagrereserba ng mga rehiyon ng LogicLock para sa kernel:
— Subukang ilagay ang lahat ng DSP column sa kernel_system maliban kung kinakailangan ng BSP.
— Subukang magreserba ng mas maraming mapagkukunan para sa kernel_system.
— Subukang panatilihing pinakamababa ang bilang ng mga bingaw sa rehiyon ng kernel.
Ang sumusunod na figure ay naglalarawan ng isang bingaw na idinagdag upang maglagay ng pipeline bridge sa pagitan ng PCIe at DDR bank.
Figure 1. OpenCL BSP Floorplan para sa Intel Arria® 10 GX sa 17.0 Release
Mga Alituntunin para sa Pinakamataas na Dalas ng Pagpapatakbo
Ang maximum na dalas ng pagpapatakbo (fmax) na nakamit ng mga kernel ay higit na nakadepende sa bilis ng FPGA dahil ang karamihan sa mga IP ay dapat na na-optimize na . Gayunpaman, maaaring may ilang fmax na matalo depende sa BSP floorplan. Para kay example, kadalasan ang bilang ng mga cut-out sa kernel region ng BSP ay nakakaapekto sa kernel fmax.
Gaya ng inilalarawan sa sumusunod na figure, upang makuha ang pinakamahusay na base seed na nagbubunga ng pinakamahusay na average na fmax:
- Magsagawa ng seed sweep sa base compilation sa halip na piliin ang unang base seed na tumutugon sa timing.
- Magsagawa ng import compilation (sa pamamagitan ng paggamit ng ilang mga kernels mula sa example designs) sa lahat ng dumadaan na base seeds.
- Kalkulahin ang average na fmax para sa lahat ng base seeds.
- Piliin ang base seed na nagbubunga ng pinakamataas na average na fmax.
Ang batayang binhi na may pinakamahusay na average na fmax ay isang mahusay na kandidato para ilabas sa BSP. Kung magpasya kang sundin ang isang diskarte na iba kaysa sa inirerekomendang mga hakbang, maaari mong obserbahan ang 5-10% na pagkakaiba-iba sa fmax ng proseso ng pagsasama-sama ng pag-import ng kernel.
Figure 2. Pagkilala sa Pinakamahusay na Base Seed
- Upang maunawaan kung gaano kabilis maaaring tumakbo ang kernel nang walang mga paghihigpit sa floorplan:
1. Magsagawa ng flat compilation ng kernel at obserbahan ang fmax.
2. Magsagawa ng import compilation sa parehong kernel at obserbahan ang fmax.
3. Ihambing ang mga resulta ng fmax.
Dahil sa mga paghihigpit sa floorplan, palaging mas mababa ang import compile fmax kaysa sa flat compile fmax. Para maiwasan ang ingay ng buto, ipunin ang kernel na may mas maraming base seed at isaalang-alang ang average na fmax habang inihahambing ang mga resulta ng fmax. - Huwag kailanman ihambing ang kernel fmax mula sa isang base compilation sa isang flat o isang import compilation. Ang mga target ng kernel clock ay nakakarelaks sa panahon ng base compilation at samakatuwid, hindi ka makakakuha ng magagandang resulta.
- Obserbahan ang kritikal na landas ng kernel clock sa base o pag-import ng compilation. Kung ang kritikal na landas ay tumatawid mula sa kernel patungo sa static na rehiyon sa floorplan, palitan ang floorplan o magpatakbo ng ilang mga base seeds upang maiwasan ang kritikal na landas na ito.
Mga Alituntunin para sa Pagsusuri ng Kahusayan sa Paggamit ng Mapagkukunan ng BSP
Mas mataas ang porsyento ng paggamit ng mapagkukunantage, mas mahusay ang paggamit ng lugar sa static na lugar ng iyong BSP. Isang mataas na porsyento ng paggamit ng mapagkukunantagIpinahihiwatig din nito na mas maraming mapagkukunan ang magagamit para sa rehiyon ng kernel.
Sundin ang mga hakbang sa ibaba upang kalkulahin ang porsyento ng paggamit ng mapagkukunantage ng iyong BSP:
- Kumuha ng mga halaga para sa lahat ng mapagkukunan sa FPGA mula sa itaas.fit.rpt o base.fit.rpt na available sa ilalim ng seksyong Mga Istatistika ng Partition ng ulat ng Fitter.
- Ibawas ang halaga para sa “freeze_wrapper_inst|kernel_system_inst” (rehiyon ng kernel).
Tip:
Higit na tumutok sa mga halaga ng adaptive logic module (ALM) kaysa sa mga halaga ng iba pang mapagkukunan. Tiyakin na ang resource utilization percentage para sa ALM ay mas malapit sa OpenCL reference BSP. Isang napakataas na porsyentotage para sa ALM ay maaaring humantong sa congestion, na maaaring tumaas ang oras ng compilation at magpakilala ng mga routing congestion sa mga kumplikadong kernel. Gayunpaman, maaari mong palaging taasan o bawasan ang static na lugar ng rehiyon, at obserbahan ang oras ng compilation at fmax.
Ang sumusunod na talahanayan ay sumasalamin sa OpenCL BSP resource utilization ng Arria ® 10 GX device sa 17.0 release.
Talahanayan 1.
OpenCL BSP Resource Utilization ng IntelArria 10 GX device sa 17.0 Release
Kabuuang Magagamit | Nakalaan para sa Kernel | Available para sa BSP | Ginamit ng BSP | 0/0 | |
ALM | 427200 | 393800 | 33400 | 23818. | 71.% |
Nagrerehistro | 1708800 | 1575200 | 133600 | 38913 | 29.% |
M2OK | 2713 | 2534 | 179 | 134 | 75.% |
DSP | 1518 | 1518 | 0 | 0 | N/A |
Obserbahan na ang floorplanning ay isinasagawa sa paraang ang static na rehiyon ay walang anumang mga bloke ng DSP.
Kasaysayan ng Pagbabago ng Dokumento
Talahanayan 2.
Kasaysayan ng Pagbabago ng Dokumento ng Intel FPGA SDK para sa OpenCL Board Support Package Floorplan Optimization Guide
Petsa | Bersyon | Mga pagbabago |
Agosto-17 | Paunang paglabas. |
Online na Bersyon
Magpadala ng Feedback
ID: 683312
AN-824
Bersyon: 2017.08.08
AN 824: Intel® FPGA SDK para sa OpenCL™ Board
Suporta sa Package Floorplan Optimization Guide
Mga Dokumento / Mga Mapagkukunan
![]() |
intel AN 824 FPGA SDK para sa OpenCL Board Support Package Floorplan [pdf] Gabay sa Gumagamit AN 824 FPGA SDK para sa OpenCL Board Support Package Floorplan, AN 824, FPGA SDK para sa OpenCL Board Support Package Floorplan, OpenCL Board Support Package Floorplan, Board Support Package Floorplan, Support Package Floorplan, Package Floorplan, Floorplan |