AN 824 FPGA SDK per a la placa OpenCL
Paquet de suport de planta
Guia d'usuari
Intel® FPGA SDK per a Guia d'optimització de plànols del paquet OpenCL ™ Board Support
La Guia d'optimització de plànols de planta d'Intel/® FPGA SDK per a OpenCL™ Board Support Package (BSP) proporciona directrius de planificació de planta per a OpenCL) BSP. També ofereix orientació sobre com podeu adquirir la llavor base amb la millor freqüència de funcionament màxima mitjana i avaluar l'eficiència d'utilització dels recursos BSP.
Aquest document suposa que esteu familiaritzat amb els conceptes d'OpenCL(2) tal com es descriu a l'especificació OpenCL versió 1.0 del grup Khronos.
Flux de compilació OpenCL BSP
OpenCL BSP admet els següents tipus de fluxos de compilació:
- Compilació plana [–bsp-flow flat]: realitza una compilació plana de tot el disseny (BSP juntament amb el maquinari generat pel nucli).
- Compilació base [–bsp-flow base]: realitza una compilació base utilitzant restriccions LogicLock de base.qsf file. L'objectiu del rellotge del nucli està relaxat perquè el maquinari BSP tingui més llibertat per complir el temps. Es crea una base de dades base.qar per preservar el maquinari BSP, que és la regió estàtica.
- Importa compilació [ ]: restaura la regió estàtica tancada de temps de la base de dades base.qar i compila només el maquinari generat pel nucli. També augmenta l'objectiu del rellotge del nucli per obtenir la millor freqüència de funcionament màxima del nucli (fmax).
Partició de planta OpenCL BSP
La planta OpenCL BSP es divideix principalment en les dues regions següents:
- Regió estàtica: representa la regió amb maquinari relacionat amb BSP que roman estàtic. El temps està tancat per a aquesta regió durant la compilació base. En general, l'objectiu és minimitzar els recursos de xip utilitzats per aquesta regió per tancar el temps.
- Regió del nucli: representa la regió de reconfiguració parcial (PR) que està reservada per al mòdul freeze_wrapper_inst|kernel_system_inst, que conté el nucli. En general, l'objectiu és reservar els recursos de xip al màxim per a aquesta regió.
- L'SDK Intel FPGA per a OpenCL es basa en una especificació de Khronos publicada i ha superat el procés de prova de conformitat de Khronos. L'estat de conformitat actual es pot trobar a www.khronos.org/conformance.
- OpenCL i el logotip d'OpenCL són marques comercials d'Apple Inc. i s'utilitzen amb permís de Khronos Group™.
Intel Corporation. Tots els drets reservats. Intel, el logotip d'Intel i altres marques d'Intel són marques comercials d'Intel Corporation o de les seves filials. Intel garanteix el rendiment dels seus productes FPGA i semiconductors amb les especificacions actuals d'acord amb la garantia estàndard d'Intel, però es reserva el dret de fer canvis a qualsevol producte i servei en qualsevol moment sense previ avís. Intel no assumeix cap responsabilitat derivada de l'aplicació o l'ús de qualsevol informació, producte o servei descrit aquí, tret que Intel ho acordi expressament per escrit. Es recomana als clients d'Intel que obtinguin la darrera versió de les especificacions del dispositiu abans de confiar en qualsevol informació publicada i abans de fer comandes de productes o serveis.
* Altres noms i marques es poden reclamar com a propietat d'altres.
Directrius per a l'OpenCL BSP Floorplanning
- Comenceu amb la compilació plana per entendre on es col·loquen de manera natural tots els components principals del BSP (especialment els blocs IP amb connexions d'E/S com ara PCIe o DDR). Mentre dissenyeu el BSP, potser haureu de considerar l'establiment de canonadestages troba entre les IP per tancar el temps. Primer hauríeu d'executar un rastreig de llavor de compilació plana per identificar els camins fallits recurrents i després intentar solucionar-los.
Consell: — Una bona taxa de tancament de temps sobre escombratges de llavors de compilació plana tindrà més possibilitats de tancar el temps de compilació base.
— Si observeu errors consistents a mm_interconnect* (component afegit per Qsys), obriu el sistema amb Qsys Interconnect viewer i observeu la complexitat de la interconnexió fallida. Podeu afegir xancletes de canalització al fitxer viewer per millorar el temps. Si encara no podeu solucionar el problema, potser haureu de trencar el camí crític mm_interconnect* afegint ponts de canonades Avalon. - Durant la compilació base, comenceu amb LogicLock a la regió del nucli que conté freeze_wrapper_inst|kernel_system_inst. Sense cap altra restricció, Intel Quartus Prime pot col·locar el maquinari BSP lliurement a la regió estàtica restant del xip. Utilitzeu la compilació plana i el planificador de xips per identificar la mida i la ubicació del maquinari BSP, com ara PCIe i DDR. A continuació, reserveu la regió del nucli utilitzant LogicLock mentre eviteu les àrees principals agrupades del maquinari BSP.
Consell: si la família de xips utilitzada és la mateixa que la plataforma de referència i si els components BSP són similars, pot ser més ràpid començar amb les regions LogicLock per freeze_wrapper_inst|kernel_system_inst que s'envia amb el BSP de referència OpenCL i resoldre els errors. - Podeu afegir els components addicionals següents al vostre BSP:
— Bancs de memòria: si afegiu més bancs de memòria, hauríeu d'identificar la ubicació del banc d'E/S, ja que és possible que hàgiu d'afegir ponts de canalització per complir el temps.
— Canals d'E/S: podeu afegir canals d'E/S com ara vídeo, Ethernet o interfície sèrie. Si afegiu canals d'E/S, hauríeu d'identificar la ubicació del banc d'E/S, ja que és possible que hàgiu d'aplicar noves regions LogicLock per a la canalització si el temps de tancament és difícil.
Consell: si necessiteu afegir ponts de canonades (p. example, a causa dels grans retards d'encaminament que causen errors de temporització), a continuació, considereu la distància d'encaminament des de la lògica de la font a la destinació al xip i allibereu una mica d'espai reservat per a la regió del nucli. - Seguiu aquestes directrius generals quan reserveu regions de LogicLock per al nucli:
— Intenteu col·locar totes les columnes DSP al kernel_system tret que el BSP ho requereixi.
— Intenteu reservar més recursos per al sistema_nucli.
— Intenteu mantenir el nombre d'osques a la regió del nucli al mínim.
La figura següent il·lustra una osca que es va afegir per col·locar un pont de canalització entre PCIe i el banc DDR.
Figura 1. Pla de planta OpenCL BSP per a Intel Arria® 10 GX a la versió 17.0
Directrius per a la freqüència màxima de funcionament
La freqüència de funcionament màxima (fmax) assolida pels nuclis depèn en gran mesura de la velocitat de l'FPGA, ja que la majoria de les IP ja haurien d'estar optimitzades. Tanmateix, pot haver-hi algunes pèrdues de fmax segons el plànol de BSP. Per example, normalment el nombre de retalls a la regió del nucli de BSP afecta el fmax del nucli.
Com s'il·lustra a la figura següent, per adquirir la millor llavor de base que produeixi el millor fmax mitjà:
- Realitzeu un escombrat de llavors a la compilació base en lloc de seleccionar la primera llavor base que compleixi el temps.
- Realitzeu la compilació d'importació (utilitzant alguns nuclis de l'example designs) a totes les llavors de base que passen.
- Calculeu el fmax mitjà de totes les llavors base.
- Seleccioneu la llavor base que produeixi el fmax mitjà més alt.
La llavor base amb el millor fmax mitjà és un bon candidat per al llançament amb BSP. Si decidiu seguir un enfocament diferent dels passos recomanats, és possible que observeu una variació del 5-10% en el fmax del procés de compilació d'importació del nucli.
Figura 2. Identificació de la millor llavor base
- Per entendre la rapidesa amb què es pot executar el nucli sense restriccions de plànol:
1. Feu una compilació plana del nucli i observeu el fmax.
2. Realitzeu una compilació d'importació al mateix nucli i observeu el fmax.
3. Compara els resultats de fmax.
A causa de les restriccions del plànol, import compile fmax sempre és inferior a flat compile fmax. Per evitar el soroll de les llavors, compileu el nucli amb més llavors base i considereu un fmax mitjà mentre compareu els resultats del fmax. - No compareu mai el fmax del nucli d'una compilació base amb una compilació plana o d'importació. Els objectius del rellotge del nucli es relaxen durant la compilació base i, per tant, mai obtindreu bons resultats.
- Observeu la ruta crítica del rellotge del nucli a la compilació base o d'importació. Si el camí crític creua des del nucli a la regió estàtica del plànol, canvieu el plànol o executeu algunes llavors base més per evitar aquest camí crític.
Directrius per avaluar l'eficiència en l'ús de recursos del BSP
Com més gran sigui el percentatge d'utilització dels recursostage, millor serà la utilització de l'àrea a l'àrea estàtica del vostre BSP. Un alt percentatge d'utilització de recursostagi també implica que hi ha més recursos disponibles per a la regió del nucli.
Seguiu els passos següents per calcular el percentatge d'utilització dels recursostage del vostre BSP:
- Obteniu valors per a tots els recursos de l'FPGA des de top.fit.rpt o base.fit.rpt disponibles a la secció Estadístiques de partició de l'informe Fitter.
- Dedueix el valor de "freeze_wrapper_inst|kernel_system_inst" (regió del nucli).
Consell:
Centra't més en els valors del mòdul de lògica adaptativa (ALM) que en els valors d'altres recursos. Assegureu-vos que el percentatge d'utilització dels recursostage per ALM està més a prop de la referència OpenCL BSP. Un percentatge molt alttage per ALM pot provocar congestió, que pot augmentar el temps de compilació i introduir congestions d'encaminament en nuclis complexos. Tanmateix, sempre podeu augmentar o disminuir l'àrea de la regió estàtica i observar el temps de compilació i fmax.
La taula següent reflecteix la utilització dels recursos OpenCL BSP dels dispositius Arria ® 10 GX a la versió 17.0.
Taula 1.
Ús de recursos OpenCL BSP dels dispositius IntelArria 10 GX a la versió 17.0
Total disponible | Reservat per al nucli | Disponible per a BSP | Utilitzat per BSP | 0/0 | |
ALM | 427200 | 393800 | 33400 | 23818. | 71% |
Registres | 1708800 | 1575200 | 133600 | 38913 | 29% |
M2OK | 2713 | 2534 | 179 | 134 | 75% |
DSP | 1518 | 1518 | 0 | 0 | N/A |
Observeu que la planificació s'executa de tal manera que la regió estàtica no tindrà cap bloc DSP.
Historial de revisions de documents
Taula 2.
Historial de revisions de documents de l'SDK d'Intel FPGA per a la Guia d'optimització de plànols del paquet de suport de la placa OpenCL
Data | Versió | Canvis |
Agost-17 | Alliberament inicial. |
Versió en línia
Envia comentaris
ID: 683312
AN-824
Versió: 2017.08.08
AN 824: Intel® FPGA SDK per a la placa OpenCL™
Guia d'optimització de plànols del paquet de suport
Documents/Recursos
![]() |
Intel AN 824 FPGA SDK for OpenCL Board Support Package Floorplan [pdfGuia de l'usuari AN 824 FPGA SDK per a OpenCL Board Support Package Floorplan, AN 824, FPGA SDK per a OpenCL Board Support Package Floorplan, OpenCL Board Support Package Floorplan, Board Support Package Floorplan, Package Support Floorplan, Package Floorplan, Floorplan |