AN 824 FPGA SDK per OpenCL Board
Pianu di u Pacchettu di Supportu
Guida d'usu
SDK Intel® FPGA per OpenCL ™ Board Support Package Guida à l'Ottimizazione di u Pianu
L'Intel/® FPGA SDK per OpenCL™ Board Support Package (BSP) Floorplan Optimization Guide furnisce linee guida di pianificazione per OpenCL) BSP. Fornisce ancu guida nantu à cumu pudete acquistà a semente di basa cù a megliu frequenza operativa massima media è evaluà l'efficienza di l'utilizazione di risorse BSP.
Stu documentu assume chì avete familiarizatu cù i cuncetti OpenCL (2) cum'è descritti in a versione di Specificazione OpenCL 1.0 da u Gruppu Khronos.
Flussu di compilazione OpenCL BSP
OpenCL BSP supporta i seguenti tipi di flussi di compilazione:
- Flat compile [–bsp-flow flat]: Esegue una compilazione flat di tuttu u disignu (BSP cù hardware generatu da u kernel).
- Base compilation [–bsp-flow base]: Esegue una compilazione di basa utilizendu restrizioni LogicLock da base.qsf file. L'obiettivu di u kernel clock hè rilassatu per chì u hardware BSP hà più libertà per scuntrà u timing. Una basa di dati base.qar hè creata per priservà u hardware BSP, chì hè a regione statica.
- Import compile [ ]: Ripristina a regione statica chjusa di timing da a basa di dati base.qar è compila solu u hardware generatu da u kernel. Aumenta ancu u target di u clock di u kernel per ottene a megliu frequenza operativa massima di u kernel (fmax).
OpenCL BSP Floorplan Partition
U pianu di OpenCL BSP hè principalmente divisu in e duie regioni seguenti:
- Regione statica: Rapprisenta a regione chì hà un hardware BSP chì resta staticu. U timing hè chjusu per questa regione durante a compilazione di basa. In generale, u scopu hè di minimizzà e risorse di chip utilizati da sta regione per chjude u timing.
- Regione Kernel: Rapprisenta a regione di ricunfigurazione parziale (PR) riservata à u modulu freeze_wrapper_inst|kernel_system_inst, chì cuntene u kernel. In generale, l'obiettivu hè di riservà risorse di chip à un puntu massimu per questa regione.
- L'SDK Intel FPGA per OpenCL hè basatu annantu à una Specificazione Khronos publicata, è hà passatu u Prucessu di Test di Conformità Khronos. U statutu di cunfurmità attuale pò esse truvatu à www.khronos.org/conformance.
- OpenCL è u logu OpenCL sò marchi di Apple Inc. è usati cù permessu di Khronos Group™.
Intel Corporation. Tutti i diritti riservati. Intel, u logu Intel è altri marchi Intel sò marchi di Intel Corporation o di e so filiali. Intel garantisce a prestazione di i so prudutti FPGA è semiconduttori à e specificazioni attuali in cunfurmità cù a garanzia standard di Intel, ma si riserva u dirittu di fà cambiamenti à qualsiasi prudutti è servizii in ogni mumentu senza avvisu. Intel ùn assume alcuna rispunsabilità o responsabilità derivante da l'applicazione o l'usu di qualsiasi informazione, pruduttu o serviziu descritta quì, salvu cum'è espressamente accunsentutu in scrittura da Intel. I clienti Intel sò cunsigliati per ottene l'ultima versione di e specificazioni di u dispositivu prima di cunfidendu qualsiasi infurmazione publicata è prima di fà ordini per prudutti o servizii.
* Altri nomi è marche ponu esse rivendicate cum'è a pruprietà di l'altri.
Linee guida per OpenCL BSP Floorplanning
- Cumincià cù a compilazione piatta per capisce induve tutti i cumpunenti principali di u BSP sò posti naturali (in particulare i blocchi IP cù cunnessione I / O cum'è PCIe o DDR). Mentre cuncepisce u BSP, pudete avè da cunsiderà stabilisce a pipeline staghè trà l'IP per chjude u timing. Duvete prima eseguisce un pianu di compilazione di seed sweep per identificà i percorsi ricorrenti falluti, è dopu pruvate à riparà.
Cunsigliu: - Un bonu ritmu di chjusura di u timing nantu à i sweeps di sementi di compilazione piatta avarà più probabilità di chjude u timing di compilazione di basa.
- Se osservate fallimenti consistenti in mm_interconnect* (cumpunente aghjuntu da Qsys), apre u Sistema cù Qsys Interconnect viewer è osservate a cumplessità di l'interconnessione fallimentu. Pudete aghjunghje flipflops di pipelining in u viewer per migliurà u timing. Se ùn pudete micca sempre risolve u prublema, pudete avè bisognu di scumpressà u percorsu criticu mm_interconnect * aghjustendu ponti di pipeline Avalon. - Durante a compilazione di basa, cuminciate cù LogicLock nantu à a regione di u kernel chì cuntene freeze_wrapper_inst|kernel_system_inst. Senza altre restrizioni, Intel Quartus Prime pò mette u hardware BSP liberamente in a regione statica restante di u chip. Aduprate a compilazione flat è u chip planner per identificà a dimensione è u locu di u hardware BSP, cum'è PCIe è DDR. Allora, riservà a regione di u kernel usendu LogicLock mentre evitendu e zone principali clustered di u hardware BSP.
Tip: Se a famiglia di chip utilizata hè a stessa cum'è a piattaforma di riferimentu è se i cumpunenti BSP sò simili, puderia esse più veloce per inizià cù e regioni LogicLock per freeze_wrapper_inst|kernel_system_inst chì hè speditu cù u BSP di riferimentu OpenCL è travaglià cù i fallimenti. - Pudete aghjunghje i seguenti cumpunenti supplementari à u vostru BSP:
- Banchi di memoria: Se aghjunghje più banche di memoria, duvete identificà u locu di u bancu I / O postu chì pudete avè bisognu di aghjunghje ponti di pipeline per scuntrà u timing.
- Canali I / O: Pudete aghjunghje canali I / O cum'è video, Ethernet, o interfaccia seriale. Se aghjunghje canali I/O, duvete identificà u locu di u bancu I/O postu chì pudete avè bisognu di applicà novi regioni LogicLock per pipelining se u timing di chiusura hè difficiule.
Tip: Sè avete bisognu di aghjunghje ponti di pipeline (per esample, per via di grandi ritardi di routing chì causanu fallimenti di timing), allora cunzidira a distanza di routing da a logica di a fonte à a destinazione in u chip è liberate qualchì spaziu riservatu à a regione di u kernel. - Segui queste linee guida generale quandu riservà e regioni LogicLock per u kernel:
- Pruvate di mette tutte e colonne DSP in u kernel_system, salvu micca necessariu da u BSP.
- Pruvate di riservà più risorse per u kernel_system.
- Pruvate di mantene u numeru di notches in a regione di u kernel à u minimu.
A figura seguente illustra una tacca chì hè stata aghjunta per mette un ponte di pipeline trà PCIe è DDR bank.
Figura 1. OpenCL BSP Floorplan per Intel Arria® 10 GX in a versione 17.0
Linee guida per a Frequenza Operativa Massima
A frequenza operativa massima (fmax) ottenuta da i kernels dipende largamente da a velocità FPGA, postu chì a maiò parte di l'IP deve esse digià ottimizzata. Tuttavia, ci pò esse qualchì perdita di fmax secondu u pianu BSP. Per esample, di solitu u numeru di cut-outs in a regione kernel di BSP affetta kernel fmax.
Cum'è illustratu in a figura seguente, per acquistà a megliu semente di basa chì rende u megliu fmax mediu:
- Eseguite un sweep di sumente nantu à a compilazione di basa invece di selezziunà a prima sumente di basa chì scontra u timing.
- Eseguite a compilazione d'importazione (aduprendu pochi kernel da l'example designs) nantu à tutti i sementi di basa chì passanu.
- Calcule u fmax mediu per tutte e sementi di basa.
- Selezziunate a semente di basa chì rende u fmax mediu più altu.
A basa di basa cù u megliu fmax mediu hè un bonu candidatu per a liberazione cù BSP. Se decide di seguità un approcciu diversu da i passi cunsigliati, pudete osservà una variazione di 5-10% in u fmax di u prucessu di compilazione di l'importazione di u kernel.
Figura 2. Identificà u Best Seed Base
- Per capisce quantu veloce u kernel pò eseguisce senza restrizioni di u pianu:
1. Eseguite una compilazione flat di u kernel è osservate u fmax.
2. Eseguite una compilazione d'importazione nantu à u stessu kernel è osservate u fmax.
3. Comparare i risultati fmax.
A causa di e restrizioni di u pianu, l'import compile fmax hè sempre più bassu di u flat compile fmax. Per evità u rumore di sementi, compile u kernel cù più sementi di basa è cunzidira un fmax mediu mentre paragunate i risultati fmax. - Ùn mai paragunate u kernel fmax da una compilazione di basa cù una compilazione flat o impurtata. L'obiettivi di u clock di u kernel sò rilassati durante a compilazione di basa è per quessa, ùn averete mai boni risultati.
- Osservate u percorsu criticu di u kernel clock in a compilazione di basa o d'importazione. Se u percorsu criticu passa da u kernel à a regione statica in u pianu di u pianu, cambiate u pianu o eseguite uni pochi di più basi per evità sta strada critica.
Linee guida per a valutazione di l'efficienza di l'utilizazione di risorse BSP
Più altu hè u percentualità di usu di risorsetage, u megliu l'utilizazione di l'area in l'area statica di u vostru BSP. Un altu percentu di usu di risorsetagE implica ancu chì più risorse sò dispunibili per a regione di u kernel.
Segui i passi sottu per calculà u percentualità di utilizazione di risorsetage di u vostru BSP:
- Ottene valori per tutti i risorsi in u FPGA da u top.fit.rpt o base.fit.rpt dispunibuli sottu a sezione Statistiche di Partizione di u rapportu Fitter.
- Deduce u valore per "freeze_wrapper_inst|kernel_system_inst" (regione di u kernel).
Cunsigliu:
Focus più nantu à i valori di u modulu di logica adattativa (ALM) chì in i valori di altre risorse. Assicurà chì u percentinu di usu di risorsetage per ALM hè più vicinu à u riferimentu OpenCL BSP. Un percentinu assai altutage per ALM puderia guidà à a congestione, chì pò aumentà u tempu di compilazione è intruduce congestioni di routing in kernels cumplessi. Tuttavia, pudete sempre aumentà o diminuite l'area di a regione statica, è osservate u tempu di compilazione è fmax.
A tabella seguente riflette l'utilizazione di risorse OpenCL BSP di i dispositi Arria ® 10 GX in a versione 17.0.
Tabella 1.
Utilizazione di risorse OpenCL BSP di i dispositi IntelArria 10 GX in a versione 17.0
Total dispunibile | Riservatu à u Kernel | Disponibile per BSP | Adupratu da BSP | 0/0 | |
al | 427200 | 393800 | 33400 | 23818. | 71% |
I registri | 1708800 | 1575200 | 133600 | 38913 | 29% |
M2OK | 2713 | 2534 | 179 | 134 | 75% |
DSP | 1518 | 1518 | 0 | 0 | N/A |
Fighjate chì a pianificazione di u pianu hè eseguita in modu chì a regione statica ùn hà micca blocchi DSP.
Storia di Revisione di Documenti
Tabella 2.
Storia di Revisione di Documenti di l'Intel FPGA SDK per OpenCL Board Support Package Guida di Ottimizazione di Pianu
Data | Versione | Cambiamenti |
Aostu-17 | Liberazione iniziale. |
Versione in linea
Mandate Feedback
ID: 683312
AN-824
Versione: 2017.08.08
AN 824: Intel® FPGA SDK per OpenCL™ Board
Guida di ottimizzazione di u pianu di u pacchettu di supportu
Documenti / Risorse
![]() |
Intel AN 824 FPGA SDK per OpenCL Board Support Package Floorplan [pdfGuida di l'utente AN 824 FPGA SDK per OpenCL Board Support Package Floorplan, AN 824, FPGA SDK per OpenCL Board Support Package Floorplan, OpenCL Board Support Package Floorplan, Board Support Package Floorplan, Support Package Floorplan, Package Floorplan, Floorplan |