AN 824 FPGA SDK pro desku OpenCL
Podpůrný balíček Půdorys
Uživatelská příručka
Intel® FPGA SDK pro OpenCL ™ Board Support Package Průvodce optimalizací půdorysu
Intel/® FPGA SDK pro OpenCL™ Board Support Package (BSP) Floorplan Optimization Guide poskytuje pokyny pro plánování podlaží pro OpenCL) BSP. Poskytuje také návod, jak můžete získat základní seed s nejlepší průměrnou maximální provozní frekvencí a vyhodnotit efektivitu využití zdrojů BSP.
Tento dokument předpokládá, že jste obeznámeni s koncepty OpenCL(2), jak jsou popsány ve specifikaci OpenCL verze 1.0 od Khronos Group.
Tok kompilace OpenCL BSP
OpenCL BSP podporuje následující typy toků kompilace:
- Plochá kompilace [–bsp-flow flat]: Provede plošnou kompilaci celého návrhu (BSP spolu s hardwarem generovaným jádrem).
- Základní kompilace [–bsp-flow base]: Provede základní kompilaci pomocí omezení LogicLock z base.qsf file. Cíl hodin jádra je uvolněný, takže hardware BSP má větší volnost při plnění časování. Databáze base.qar je vytvořena pro zachování hardwaru BSP, což je statická oblast.
- Importovat kompilaci [ ]: Obnoví časově uzavřenou statickou oblast z databáze base.qar a zkompiluje pouze hardware generovaný jádrem. Také zvyšuje cílovou frekvenci jádra, aby se dosáhlo nejlepší maximální provozní frekvence jádra (fmax).
OpenCL BSP Floorplan Partition
Půdorys OpenCL BSP je rozdělen hlavně do následujících dvou oblastí:
- Statická oblast: Představuje oblast s hardwarem souvisejícím s BSP, který zůstává statický. Během základní kompilace je pro tuto oblast časování uzavřeno. Obecně je cílem minimalizovat zdroje čipů využívané touto oblastí k načasování uzavření.
- Oblast jádra: Představuje oblast částečné rekonfigurace (PR), která je vyhrazena pro modul freeze_wrapper_inst|kernel_system_inst, který obsahuje jádro. Obecně je cílem maximálně vyhradit zdroje čipů pro tento region.
- Intel FPGA SDK pro OpenCL je založeno na publikované specifikaci Khronos a prošlo procesem testování shody Khronos. Aktuální stav shody lze nalézt na www.khronos.org/conformance.
- OpenCL a logo OpenCL jsou ochranné známky společnosti Apple Inc. a používají se se svolením společnosti Khronos Group™.
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb zde popsaných, s výjimkou případů, kdy je společnost Intel výslovně písemně odsouhlasena. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby.
*Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
Pokyny pro OpenCL BSP Floorplanning
- Začněte s jednoduchou kompilací, abyste pochopili, kam jsou přirozeně umístěny všechny hlavní součásti BSP (zejména bloky IP s I/O připojeními, jako je PCIe nebo DDR). Při navrhování BSP možná budete muset zvážit vytvoření potrubítagje mezi IP pro uzavření načasování. Nejprve byste měli spustit plošné prohledávání semenů kompilace k identifikaci opakujících se chybných cest a poté se pokusit je opravit.
Tip: — Dobrá míra uzavření načasování v porovnání s plochým rozmítáním semena kompilace bude mít vyšší šanci na uzavření základního načasování kompilace.
— Pokud pozorujete konzistentní selhání v mm_interconnect* (komponenta přidaná společností Qsys), otevřete systém pomocí Qsys Interconnect viewa pozorujte složitost selhávajícího propojení. Můžete přidat pipelining flipflops v viewaby se zlepšilo načasování. Pokud stále nemůžete problém vyřešit, možná budete muset prolomit kritickou cestu mm_interconnect* přidáním potrubních mostů Avalon. - Během základní kompilace začněte s LogicLock v oblasti jádra, která obsahuje freeze_wrapper_inst|kernel_system_inst. Bez dalších omezení může Intel Quartus Prime umístit hardware BSP volně do zbývající statické oblasti čipu. Použijte plochý plánovač kompilace a čipu k identifikaci velikosti a umístění hardwaru BSP, jako jsou PCIe a DDR. Poté rezervujte oblast jádra pomocí LogicLock a vyhněte se hlavním seskupeným oblastem hardwaru BSP.
Tip: Pokud je použitá rodina čipů stejná jako referenční platforma a pokud jsou komponenty BSP podobné, může být rychlejší začít s oblastmi LogicLock pro freeze_wrapper_inst|kernel_system_inst, které jsou dodávány s referenčním BSP OpenCL, a vyřešit selhání. - Do svého BSP můžete přidat následující další součásti:
— Paměťové banky: Pokud přidáte více paměťových bank, měli byste určit umístění I/O banky, protože možná budete muset přidat potrubní mosty, abyste dodrželi načasování.
— I/O kanály: Můžete přidat I/O kanály, jako je video, Ethernet nebo sériové rozhraní. Pokud přidáte I/O kanály, měli byste určit umístění I/O banky, protože možná budete muset použít nové oblasti LogicLock pro zřetězení, pokud je načasování uzavření obtížné.
Tip: Pokud potřebujete přidat potrubní mosty (napřample, kvůli velkým zpožděním směrování způsobujícím selhání časování), pak zvažte směrovací vzdálenost od zdroje k cílové logice v čipu a uvolněte určitý prostor vyhrazený pro oblast jádra. - Při rezervaci oblastí LogicLock pro jádro postupujte podle těchto obecných pokynů:
— Pokuste se umístit všechny sloupce DSP do systému kernel_system, pokud to nevyžaduje BSP.
— Pokus o rezervaci více zdrojů pro systém kernel_system.
— Pokuste se udržet počet zářezů v oblasti jádra na minimu.
Následující obrázek znázorňuje zářez, který byl přidán k umístění potrubního mostu mezi PCIe a bankou DDR.
Obrázek 1. Plán plánu OpenCL BSP pro Intel Arria® 10 GX ve verzi 17.0
Pokyny pro maximální provozní frekvenci
Maximální provozní frekvence (fmax) dosažená jádry do značné míry závisí na rychlosti FPGA, protože většina IP by již měla být optimalizována. V závislosti na půdorysu BSP však může dojít k určitým ztrátám fmax. Napřample, obvykle počet výřezů v oblasti jádra BSP ovlivňuje fmax jádra.
Jak je znázorněno na následujícím obrázku, chcete-li získat nejlepší základní semeno, které poskytuje nejlepší průměrnou fmax:
- Místo výběru prvního základního zdroje, který vyhovuje načasování, proveďte rozmítání semene na základní kompilaci.
- Proveďte kompilaci importu (pomocí několika jader z example designs) na všech procházejících základních semenech.
- Vypočítejte průměrnou fmax pro všechna základní semena.
- Vyberte základní semeno, které poskytuje nejvyšší průměrnou fmax.
Základní seed s nejlepší průměrnou fmax je dobrým kandidátem na vydání s BSP. Pokud se rozhodnete postupovat jiným způsobem, než jsou doporučené kroky, můžete pozorovat 5-10% odchylky ve fmax procesu kompilace importu jádra.
Obrázek 2. Identifikace nejlepšího základního osiva
- Chcete-li pochopit, jak rychle může jádro běžet bez omezení půdorysu:
1. Proveďte plošnou kompilaci jádra a sledujte fmax.
2. Proveďte kompilaci importu na stejném jádře a sledujte fmax.
3. Porovnejte výsledky fmax.
Kvůli omezení půdorysu je fmax importu kompilace vždy nižší než fmax ploché kompilace. Abyste se vyhnuli šumu semen, zkompilujte jádro s více základními semeny a při porovnávání výsledků fmax zvažte průměrnou fmax. - Nikdy neporovnávejte kernel fmax ze základní kompilace s plochou nebo importovanou kompilací. Cílové hodiny jádra jsou během základní kompilace uvolněné, a proto nikdy nedosáhnete dobrých výsledků.
- Sledujte kritickou cestu taktu jádra v základní nebo importní kompilaci. Pokud kritická cesta prochází z jádra do statické oblasti v půdorysu, změňte půdorys nebo spusťte několik dalších základních semen, abyste se této kritické cestě vyhnuli.
Pokyny pro hodnocení účinnosti využití zdrojů BSP
Čím vyšší je procento využití zdrojůtage, tím lepší je využití plochy ve statické oblasti vašeho BSP. Vysoké procento využití zdrojůtage také znamená, že pro oblast jádra je k dispozici více zdrojů.
Pro výpočet procenta využití zdrojů postupujte podle následujících krokůtage vašeho BSP:
- Získejte hodnoty pro všechny zdroje v FPGA z top.fit.rpt nebo base.fit.rpt, které jsou dostupné v sekci Partition Statistics ve zprávě Fitter.
- Odečtěte hodnotu pro „freeze_wrapper_inst|kernel_system_inst“ (oblast jádra).
Tip:
Zaměřte se více na hodnoty adaptivního logického modulu (ALM) než na hodnoty jiných zdrojů. Ujistěte se, že využití zdrojů v procentechtage pro ALM je blíže referenčnímu BSP OpenCL. Velmi vysoké procentotage pro ALM může vést k zahlcení, což může prodloužit dobu kompilace a zavést směrovací zahlcení ve složitých jádrech. Vždy však můžete zvětšit nebo zmenšit oblast statické oblasti a sledovat dobu kompilace a fmax.
Následující tabulka odráží využití prostředků OpenCL BSP zařízeními Arria ® 10 GX ve verzi 17.0.
Tabulka 1.
OpenCL BSP Resource Využití zařízení IntelArria 10 GX ve verzi 17.0
Celkem k dispozici | Vyhrazeno pro jádro | K dispozici pro BSP | Používá BSP | 0/0 | |
ALM | 427200 | 393800 | 33400 | 23818. | 71% |
Registry | 1708800 | 1575200 | 133600 | 38913 | 29% |
M2OK | 2713 | 2534 | 179 | 134 | 75% |
DSP | 1518 | 1518 | 0 | 0 | N/A |
Všimněte si, že plánování podlaží je provedeno takovým způsobem, že statická oblast nebude mít žádné bloky DSP.
Historie revizí dokumentu
Tabulka 2.
Dokument Historie revizí sady Intel FPGA SDK pro balíček podpory OpenCL Board Floorplan Optimization Guide
Datum | Verze | Změny |
Srpen-17 | Počáteční vydání. |
Online verze
Odeslat zpětnou vazbu
ID: 683312
AN-824
Verze: 2017.08.08
AN 824: Intel® FPGA SDK pro desku OpenCL™
Průvodce optimalizací půdorysu balíčku podpory
Dokumenty / zdroje
![]() |
intel AN 824 FPGA SDK pro OpenCL Board Support Package Floorplan [pdfUživatelská příručka AN 824 FPGA SDK pro balíček podpory OpenCL Půdorys, AN 824, FPGA SDK pro balík podpory OpenCL Půdorys, balík podpory OpenCL Půdorys, Balíček podpory desek Půdorys, Balíček podpory Půdorys, Balíček Půdorys, Půdorys |