Intel logotipsAN 824 FPGA SDK OpenCL platei
Atbalsta paketes stāvu plāns
Lietotāja rokasgrāmata

 Intel® FPGA SDK paredzēts OpenCL ™ dēļu atbalsta paketes stāva plāna optimizācijas rokasgrāmata
Intel/® FPGA SDK OpenCL™ plates atbalsta pakotnei (BSP) stāvu plānojuma optimizācijas rokasgrāmatā ir sniegtas OpenCL) BSP grīdas plānošanas vadlīnijas. Tajā ir arī sniegti norādījumi par to, kā iegūt bāzes sēklu ar vislabāko vidējo maksimālo darbības biežumu un novērtēt BSP resursu izmantošanas efektivitāti.
Šajā dokumentā tiek pieņemts, ka esat iepazinies ar OpenCL(2) jēdzieniem, kas aprakstīti Khronos Group OpenCL specifikācijas versijā 1.0.

OpenCL BSP kompilācijas plūsma
OpenCL BSP atbalsta šādus kompilēšanas plūsmu veidus:

  • Plakana kompilācija [–bsp-flow flat]: veic visa dizaina vienotu kompilāciju (BSP kopā ar kodola ģenerētu aparatūru).
  • Bāzes kompilācija [–bsp-flow base]: veic bāzes kompilāciju, izmantojot LogicLock ierobežojumus no base.qsf. file. Kodola pulksteņa mērķis ir atslābināts, lai BSP aparatūrai būtu lielāka brīvība ievērot laiku. Base.qar datu bāze tiek izveidota, lai saglabātu BSP aparatūru, kas ir statiskais reģions.
  • Importēt kompilāciju [ ]: atjauno laika slēgto statisko reģionu no base.qar datu bāzes un apkopo tikai kodola ģenerēto aparatūru. Tas arī palielina kodola pulksteņa mērķi, lai iegūtu vislabāko kodola maksimālo darbības frekvenci (fmax).

OpenCL BSP stāva plāna nodalījums
OpenCL BSP grīdas plāns galvenokārt ir sadalīts šādos divos reģionos:

  • Statiskais reģions: apzīmē reģionu, kurā ir ar BSP saistīta aparatūra, kas paliek statiska. Bāzes kompilācijas laikā šim reģionam laiks ir slēgts. Kopumā mērķis ir samazināt mikroshēmas resursus, ko šis reģions izmanto, lai slēgtu laiku.
  • Kodola reģions: apzīmē daļējas pārkonfigurācijas (PR) reģionu, kas ir rezervēts modulim freeze_wrapper_inst|kernel_system_inst, kurā ir kodols. Kopumā mērķis ir maksimāli rezervēt mikroshēmu resursus šim reģionam.
  1. Intel FPGA SDK for OpenCL ir balstīts uz publicēto Khronos specifikāciju un ir izturējis Khronos atbilstības pārbaudes procesu. Pašreizējo atbilstības statusu var atrast vietnē www.khronos.org/conformance.
  2. OpenCL un OpenCL logotips ir Apple Inc. preču zīmes, un tās tiek izmantotas ar Khronos Group™ atļauju.

Intel korporācija. Visas tiesības aizsargātas. Intel, Intel logotips un citas Intel preču zīmes ir Intel Corporation vai tās meitasuzņēmumu preču zīmes. Intel garantē savu FPGA un pusvadītāju produktu veiktspēju atbilstoši pašreizējām specifikācijām saskaņā ar Intel standarta garantiju, taču patur tiesības jebkurā laikā bez brīdinājuma veikt izmaiņas jebkuros produktos un pakalpojumos. Intel neuzņemas nekādu atbildību vai saistības, kas izriet no jebkādas šeit aprakstītās informācijas, produkta vai pakalpojuma lietojuma vai izmantošanas, izņemot gadījumus, kad Intel ir nepārprotami rakstiski piekritis. Intel klientiem ir ieteicams iegūt jaunāko ierīces specifikāciju versiju, pirms paļauties uz jebkādu publicētu informāciju un pirms preču vai pakalpojumu pasūtījumu veikšanas.
*Citi nosaukumi un zīmoli var tikt uzskatīti par citu personu īpašumiem.

OpenCL BSP stāvu plānošanas vadlīnijas

  • Sāciet ar vienotu kompilāciju, lai saprastu, kur dabiski tiek novietoti visi galvenie BSP komponenti (īpaši IP bloki ar I/O savienojumiem, piemēram, PCIe vai DDR). Izstrādājot BSP, iespējams, būs jāapsver cauruļvada izveidetages starp IP, lai aizvērtu laiku. Vispirms jums vajadzētu palaist vienotu kompilēšanas sēklu slaucīšanu, lai identificētu atkārtotus neveiksmes ceļus, un pēc tam mēģināt tos novērst.
    Padoms. — Labam laika slēgšanas ātrumam, salīdzinot ar vienmērīgu kompilēšanas sēklu slaucīšanu, būs lielākas iespējas aizvērt bāzes kompilēšanas laiku.
    — Ja novērojat konsekventas kļūmes mm_interconnect* (komponentu pievienojis Qsys), atveriet sistēmu ar Qsys Interconnect. viewer un ievērojiet neveiksmīgā starpsavienojuma sarežģītību. Jūs varat pievienot cauruļvadu flipflops viewlai uzlabotu laiku. Ja joprojām nevarat atrisināt problēmu, iespējams, būs jāsadala mm_interconnect* kritiskais ceļš, pievienojot Avalon cauruļvadu tiltus.
  • Pamata kompilācijas laikā sāciet ar LogicLock kodola reģionā, kurā ir freeze_wrapper_inst|kernel_system_inst. Bez citiem ierobežojumiem Intel Quartus Prime var brīvi novietot BSP aparatūru atlikušajā mikroshēmas statiskajā reģionā. Izmantojiet plakano kompilatoru un mikroshēmu plānotāju, lai noteiktu BSP aparatūras, piemēram, PCIe un DDR, izmēru un atrašanās vietu. Pēc tam rezervējiet kodola reģionu, izmantojot LogicLock, vienlaikus izvairoties no BSP aparatūras galvenajiem kopu apgabaliem.
    Padoms. Ja izmantotā mikroshēmu saime ir tāda pati kā atsauces platforma un ja BSP komponenti ir līdzīgi, varētu būt ātrāk sākt ar LogicLock reģioniem freeze_wrapper_inst|kernel_system_inst, kas tiek piegādāts kopā ar OpenCL atsauces BSP, un novērst kļūmes.
  • Varat savam BSP pievienot šādus papildu komponentus:
    — Atmiņas bankas: ja pievienojat vairāk atmiņas banku, jums ir jānorāda I/O bankas atrašanās vieta, jo, iespējams, būs jāpievieno konveijera tilti, lai ievērotu laiku.
    — I/O kanāli: varat pievienot I/O kanālus, piemēram, video, Ethernet vai seriālo interfeisu. Ja pievienojat I/O kanālus, jums vajadzētu noteikt I/O bankas atrašanās vietu, jo, iespējams, būs jāpiemēro jauni LogicLock reģioni konveijera izveidei, ja aizvēršanas laiks ir sarežģīts.
    Padoms: ja nepieciešams pievienot cauruļvadu tiltus (piemēram,ample, lielās maršrutēšanas aizkaves dēļ, kas izraisa laika kļūmes), tad ņemiet vērā maršrutēšanas attālumu no avota līdz galamērķa loģikai mikroshēmā un atbrīvojiet daļu kodola reģionam rezervētās vietas.
  • Ievērojiet šīs vispārīgās vadlīnijas, rezervējot LogicLock reģionus kodolam:
    — Mēģiniet ievietot visas DSP kolonnas sistēmā kernel_system, ja vien to nepieprasa BSP.
    — Mēģiniet rezervēt vairāk resursu kernel_system.
    — Mēģiniet samazināt iecirtumu skaitu kodola reģionā līdz minimumam.
    Nākamajā attēlā ir parādīts iecirtums, kas tika pievienots, lai novietotu cauruļvada tiltu starp PCIe un DDR banku.

1. attēls. OpenCL BSP stāvu plāns Intel Arria® 10 GX 17.0 laidienā

intel AN 824 FPGA SDK OpenCL dēļu atbalsta pakotnei

Norādījumi par maksimālo darbības frekvenci
Kodolu sasniegtā maksimālā darbības frekvence (fmax) lielā mērā ir atkarīga no FPGA ātruma, jo lielākajai daļai IP jau vajadzētu būt optimizētiem. Tomēr atkarībā no BSP stāva plāna var būt daži fmax zaudējumi. Piemēram,ample, parasti izgriezumu skaits BSP kodola reģionā ietekmē kodola fmax.
Kā parādīts nākamajā attēlā, lai iegūtu vislabāko bāzes sēklu, kas dod vislabāko vidējo fmax:

  1. Veiciet sēklu slaucīšanu uz bāzes apkopojuma, nevis atlasiet pirmo bāzes sēklu, kas atbilst laikam.
  2. Veiciet importēšanas kompilāciju (izmantojot dažus kodolus no example designs) uz visām garāmejošajām bāzes sēklām.
  3. Aprēķiniet vidējo fmax visām bāzes sēklām.
  4. Izvēlieties bāzes sēklu, kas dod augstāko vidējo fmax.
    Bāzes sēkla ar labāko vidējo fmax ir labs kandidāts izlaišanai ar BSP. Ja izlemjat izmantot pieeju, kas atšķiras no ieteiktajām darbībām, kodola importēšanas kompilācijas procesa fmax variācijas var būt 5–10%.

2. attēls. Labākās bāzes sēklas noteikšanaintel AN 824 FPGA SDK OpenCL plates atbalsta pakotnei Floorplan — att.

  • Lai saprastu, cik ātri kodols var darboties bez grīdas plāna ierobežojumiem:
    1. Veiciet kodola plakanu kompilāciju un ievērojiet fmax.
    2. Veiciet importēšanas kompilāciju tajā pašā kodolā un ievērojiet fmax.
    3. Salīdziniet fmax rezultātus.
    Stāvu plāna ierobežojumu dēļ importa kompilācijas fmax vienmēr ir zemāka par plakanās kompilēšanas fmax. Lai izvairītos no sēklu trokšņa, apkopojiet kodolu ar vairāk bāzes sēklu un ņemiet vērā vidējo fmax, salīdzinot fmax rezultātus.
  • Nekad nesalīdziniet kodola fmax no bāzes kompilācijas ar plakanu vai importētu kompilāciju. Kodola pulksteņa mērķi tiek atviegloti bāzes kompilācijas laikā, un tādējādi jūs nekad nesaņemsit labus rezultātus.
  • Ievērojiet kodola pulksteņa kritisko ceļu bāzes vai importa kompilācijā. Ja kritiskais ceļš šķērso no kodola uz statisko apgabalu stāva plānā, mainiet stāva plānu vai palaidiet vēl dažas bāzes sēklas, lai izvairītos no šī kritiskā ceļa.

Vadlīnijas BSP resursu izmantošanas efektivitātes novērtēšanai

Jo augstāks ir resursu izmantošanas procentstage, jo labāka ir platības izmantošana jūsu BSP statiskajā apgabalā. Augsts resursu izmantošanas procentstage arī nozīmē, ka kodola reģionam ir pieejami vairāk resursu.
Veiciet tālāk norādītās darbības, lai aprēķinātu resursu izmantošanas procentustage no jūsu BSP:

  1. Iegūstiet visu FPGA resursu vērtības no top.fit.rpt vai base.fit.rpt, kas pieejams Fitter ziņojuma sadaļā Partition Statistics.
  2. Atņemiet vērtību “freeze_wrapper_inst|kernel_system_inst” (kodola reģions).

Padoms:
Vairāk koncentrējieties uz adaptīvā loģikas moduļa (ALM) vērtībām, nevis uz citu resursu vērtībām. Pārliecinieties, ka resursu izmantošanas procentitage ALM ir tuvāk OpenCL atsauces BSP. Ļoti augsts procentstage ALM var izraisīt pārslodzi, kas var palielināt kompilācijas laiku un radīt maršrutēšanas pārslodzes sarežģītos kodolos. Tomēr jūs vienmēr varat palielināt vai samazināt statiskā apgabala laukumu un novērot kompilācijas laiku un fmax.
Sekojošā tabula atspoguļo OpenCL BSP resursu izmantošanu Arria ® 10 GX ierīcēm 17.0 laidienā.

1. tabula.
IntelArria 10 GX ierīču OpenCL BSP resursu izmantošana 17.0 laidienā

Kopā pieejams Rezervēts kodolam Pieejams BSP Izmanto BSP 0/0
Alm 427200 393800 33400 23818. 71,%
Reģistri 1708800 1575200 133600 38913 29,%
M2OK 2713 2534 179 134 75,%
DSP 1518 1518 0 0 N/A

Ievērojiet, ka grīdas plānošana tiek veikta tā, lai statiskajā reģionā nebūtu DSP bloku.

Dokumentu pārskatīšanas vēsture

2. tabula.
Dokumentu pārskatīšanas vēsture Intel FPGA SDK for OpenCL Board atbalsta pakotnes stāva plāna optimizācijas rokasgrāmata

Datums Versija Izmaiņas
augusts-17 Sākotnējā izlaišana.

ikonu Tiešsaistes versija
cardo 590878 Spirit Bluetooth domofons — ICON 14 Sūtīt atsauksmes
ID: 683312
AN-824
Versija: 2017.08.08
AN 824: Intel® FPGA SDK OpenCL™ platei

Atbalsta paketes stāva plāna optimizācijas rokasgrāmata

Dokumenti / Resursi

intel AN 824 FPGA SDK OpenCL dēļu atbalsta pakotnei [pdfLietotāja rokasgrāmata
AN 824 FPGA SDK OpenCL plates atbalsta pakotnei Stāvu plāns, AN 824, FPGA SDK OpenCL dēļa atbalsta pakotnei, stāva plāns, OpenCL dēļa atbalsta paketes stāva plāns, dēļa atbalsta paketes stāva plāns, atbalsta paketes stāva plāns, paketes stāva plāns, stāva plāns

Atsauces

Atstājiet komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti *