Logo Intel

Intel FPGA Programmable Acceleration Card D5005

Intel.-FPGA-Programovateľná-Acceleration-Card-D5005-produkt

O tomto dokumente

Tento dokument popisuje implementáciu funkčnej jednotky akcelerátora (AFU) s priamym prístupom do pamäte (DMA) a ako zostaviť návrh na spustenie na hardvéri alebo v simulácii.

Určené publikum

Zamýšľané publikum zahŕňa vývojárov hardvéru alebo softvéru, ktorí vyžadujú funkciu akcelerátora (AF) na lokálne ukladanie údajov do pamäte pripojenej k zariadeniu Intel FPGA.

dohovorov

Dohovory o dokumentoch

dohovoru Popis
# Pred príkazom, ktorý označuje, že príkaz má byť zadaný ako root.
$ Označuje príkaz, ktorý má byť zadaný ako používateľ.
Toto písmo Filemená, príkazy a kľúčové slová sú vytlačené týmto písmom. Dlhé príkazové riadky sú vytlačené týmto písmom. Hoci dlhé príkazové riadky sa môžu zalomiť na ďalší riadok, návrat nie je súčasťou príkazu; nestláčajte enter.
Označuje, že zástupný text, ktorý sa objaví medzi lomenými zátvorkami, musí byť nahradený vhodnou hodnotou. Nevstupujte do uhlových zátvoriek.

Skratky

Skratky

Skratky Rozšírenie Popis
AF Funkcia akcelerátora Kompilovaný obraz hardvérového akcelerátora implementovaný v logike FPGA, ktorý urýchľuje aplikáciu.
AFU Funkčná jednotka akcelerátora Hardvérový akcelerátor implementovaný v logike FPGA, ktorý prenáša výpočtovú operáciu pre aplikáciu z CPU na zlepšenie výkonu.
API Aplikačné programové rozhranie Sada definícií podprogramov, protokolov a nástrojov na vytváranie softvérových aplikácií.
CCI-P Rozhranie základnej vyrovnávacej pamäte CCI-P je štandardné rozhranie AFU, ktoré sa používa na komunikáciu s hostiteľom.
DFH Hlavička funkcie zariadenia Vytvorí prepojený zoznam hlavičiek funkcií s cieľom poskytnúť rozšíriteľný spôsob pridávania funkcií.
pokračovanie…

Intel Corporation. Všetky práva vyhradené. Intel, logo Intel a ďalšie značky Intel sú ochranné známky spoločnosti Intel Corporation alebo jej dcérskych spoločností. Spoločnosť Intel zaručuje výkon svojich FPGA a polovodičových produktov podľa aktuálnych špecifikácií v súlade so štandardnou zárukou spoločnosti Intel, ale vyhradzuje si právo kedykoľvek bez upozornenia zmeniť akékoľvek produkty a služby. Spoločnosť Intel nepreberá žiadnu zodpovednosť ani zodpovednosť vyplývajúcu z aplikácie alebo používania akýchkoľvek informácií, produktov alebo služieb opísaných v tomto dokumente, s výnimkou prípadov, keď to spoločnosť Intel výslovne písomne ​​odsúhlasí. Zákazníkom spoločnosti Intel sa odporúča získať najnovšiu verziu špecifikácií zariadení skôr, ako sa budú spoliehať na akékoľvek zverejnené informácie a pred zadaním objednávky produktov alebo služieb. *Iné názvy a značky môžu byť majetkom iných.

Skratky Rozšírenie Popis
FIM Správca rozhrania FPGA Hardvér FPGA obsahujúci jednotku rozhrania FPGA (FIU) a externé rozhrania pre pamäť, sieť atď.

Funkcia akcelerátora (AF) je v čase chodu prepojená s FIM.

FIU Jednotka rozhrania FPGA FIU je vrstva rozhrania platformy, ktorá funguje ako most medzi rozhraniami platformy ako PCIe*, UPI a rozhraniami na strane AFU, ako je CCI-P.
MPF Továreň na vlastnosti pamäte MPF je základný stavebný blok (BBB), ktorý môžu AFU použiť na poskytovanie operácií formovania prevádzky CCI-P pre transakcie s FIU.

Slovník zrýchlenia

Acceleration Stack pre procesor Intel® Xeon® s FPGA Slovník

Termín Skratka Popis
Intel® Acceleration Stack pre procesor Intel Xeon® s FPGA Zásobník zrýchlenia Kolekcia softvéru, firmvéru a nástrojov, ktoré poskytujú výkonovo optimalizované pripojenie medzi Intel FPGA a procesorom Intel Xeon.
Programovateľná akceleračná karta Intel FPGA Intel FPGA PAC PCIe FPGA akceleračná karta.

Obsahuje FPGA Interface Manager (FIM), ktorý sa spáruje s procesorom Intel Xeon cez zbernicu PCIe.

  • Používateľská príručka funkčnej jednotky DMA Accelerator: Intel FPGA Programmable Acceleration Card D5005

Popis DMA AFU

Úvod

AFU s priamym prístupom do pamäte (DMA) example ukazuje, ako spravovať prenosy pamäte medzi hostiteľským procesorom a FPGA. DMA AFU môžete integrovať do svojho návrhu na presun údajov medzi hostiteľskou pamäťou a lokálnou pamäťou FPGA. DMA AFU pozostáva z nasledujúcich submodulov:

  • Základný stavebný blok Memory Properties Factory (MPF) (BBB)
  • Core Cache Interface (CCI-P) k adaptéru Avalon® Memory-Mapped (Avalon-MM)
  • Testovací systém DMA, ktorý obsahuje DMA BBB

Tieto podmoduly sú podrobnejšie popísané v téme Hardvérové ​​komponenty DMA AFU nižšie.

Súvisiace informácie

  • Hardvérové ​​komponenty DMA AFU na strane 6
  • Špecifikácie rozhrania Avalon

Ďalšie informácie o protokole Avalon-MM vrátane časových diagramov pre transakcie čítania a zápisu.

Softvérový balík DMA AFU

Intel Acceleration Stack pre procesor Intel Xeon s balíkom FPGA file (*.tar.gz), zahŕňa DMA AFU example. Tento example poskytuje ovládač užívateľského priestoru. Hostiteľská aplikácia používa tento ovládač, takže DMA presúva dáta medzi hostiteľom a pamäťou FPGA. Binárne súbory hardvéru, zdroje a ovládač používateľského priestoru sú dostupné v nasledujúcom adresári: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . Pred experimentovaním s DMA AFU si musíte nainštalovať softvérový balík Open Programmable Acceleration Engine (OPAE). Pokyny na inštaláciu nájdete v časti Inštalácia softvérového balíka OPAE v príručke rýchleho spustenia Intel Acceleration Stack pre programovateľnú akceleračnú kartu Intel FPGA D5005. Táto príručka rýchleho spustenia obsahuje aj základné informácie o Open Programmable Acceleration Engine (OPAE) a konfigurácii AFU. Po nainštalovaní softvérového balíka Open Programmable Acceleration Engine (OPAE), asamphostiteľská aplikácia a ovládač používateľského priestoru DMA AFU sú dostupné v nasledujúcom adresári: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. Ak chcete spustiť sample hostiteľskej aplikácie, fpga_dma_test na vašom hardvéri Intel FPGA PAC D5005, pozrite si kroky v časti Spustenie DMA AFU Example. Intel Corporation. Všetky práva vyhradené. Intel, logo Intel a ďalšie značky Intel sú ochranné známky spoločnosti Intel Corporation alebo jej dcérskych spoločností. Spoločnosť Intel zaručuje výkon svojich FPGA a polovodičových produktov podľa aktuálnych špecifikácií v súlade so štandardnou zárukou spoločnosti Intel, ale vyhradzuje si právo kedykoľvek bez upozornenia zmeniť akékoľvek produkty a služby. Spoločnosť Intel nepreberá žiadnu zodpovednosť ani zodpovednosť vyplývajúcu z aplikácie alebo používania akýchkoľvek informácií, produktov alebo služieb opísaných v tomto dokumente, pokiaľ to nie je výslovne písomne ​​dohodnuté spoločnosťou Intel. Zákazníkom spoločnosti Intel sa odporúča získať najnovšiu verziu špecifikácií zariadenia skôr, ako sa budú spoliehať na akékoľvek zverejnené informácie a pred zadaním objednávky produktov alebo služieb. *Iné názvy a značky môžu byť majetkom iných.

Súvisiace informácie

  • Sprievodca rýchlym štartom Intel Acceleration Stack pre Intel FPGA Programmable Acceleration Card D5005
  • Inštalácia softvérového balíka OPAE

Hardvérové ​​komponenty DMA AFU

DMA AFU je prepojená s FPGA Interface Unit (FIU) a FPGA pamäťou. Podrobné špecifikácie pamäte FPGA nájdete v údajovom liste FPGA Interface Manager Data Sheet pre Intel FPGA Programmable Acceleration Card D5005. Túto konfiguráciu pamäte určuje aktuálne dostupný hardvér. Budúci hardvér môže podporovať rôzne konfigurácie pamäte. DMA AFU môžete použiť na kopírovanie údajov medzi nasledujúcimi zdrojovými a cieľovými miestami:

  • Pamäť FPGA hostiteľa do zariadenia
  • Pamäť FPGA zariadenia k hostiteľovi

Systém Platform Designer, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys implementuje väčšinu DMA

  • AFU. Časť DMA AFU implementovaná v systéme Platform Designer nájdete nižšie

umiestnenie: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ DMA BBB nájdete na nasledujúcom mieste:

  • $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb

Používateľská príručka funkčnej jednotky DMA Accelerator: Intel FPGA Programmable Acceleration Card D5005

Bloková schéma hardvéru DMA AFU

Intel.-FPGA-Programmable-Acceleration-Card-D5005-obr-1

DMA AFU obsahuje nasledujúce interné moduly na prepojenie s FPGA Interface Unit (FIU):

  • Logika dekodéra Memory-Mapped IO (MMIO): zisťuje transakcie čítania a zápisu MMIO a oddeľuje ich od CCI-P RX kanálu 0, z ktorého prichádzajú. To zaisťuje, že prevádzka MMIO nikdy nedosiahne MPF BBB a bude obsluhovaná nezávislým kanálom príkazov MMIO.
  • Memory Properties Factory (MPF): Tento modul zabezpečuje, aby sa odpovede na čítanie z DMA vracali v poradí, v akom boli vydané. Protokol Avalon-MM vyžaduje, aby sa odpovede na čítanie vrátili v správnom poradí.
  • Adaptér CCI-P na Avalon-MM: Tento modul prekladá medzi transakciami CCI-P a Avalon-MM nasledovne:
  • Adaptér CCI-P na Avalon-MMIO: Táto cesta prekladá transakcie CCI-P MMIO na transakcie Avalon-MM.
  • Avalon to CCI-P Host Adapter: Tieto cesty vytvárajú samostatné cesty len na čítanie a na zápis pre DMA na prístup k hostiteľskej pamäti.
  • Testovací systém DMA: Tento modul slúži ako obal okolo DMA BBB na vystavenie DMA masterov zvyšku logiky v AFU. Poskytuje rozhranie medzi DMA BBB a adaptérom CCI-P na Avalon. Poskytuje tiež rozhranie medzi DMA BBB a lokálnymi bankami FPGA SDRAM.

Súvisiace informácie
Údajový list správcu rozhrania FPGA pre programovateľnú akceleračnú kartu Intel FPGA D5005

Testovací systém DMA

Testovací systém DMA spája DMA BBB so zvyškom dizajnu FPGA vrátane adaptácie CCI-P a lokálnej pamäte FPGA.

Bloková schéma testovacieho systému DMA
Tento blokový diagram zobrazuje vnútorné časti testovacieho systému DMA. Testovací systém DMA je znázornený ako monolitický blok na obrázku 1 na strane 7.Intel.-FPGA-Programmable-Acceleration-Card-D5005-obr-2

Testovací systém DMA obsahuje nasledujúce interné moduly:

  • Far Reach Bridge/Pipeline Bridge: Potrubný most s nastaviteľnou latenciou na ovládanie topológie a zlepšenie dizajnu Fmax.
  • DMA AFU Device Feature Header (DFH): Toto je DFH pre DMA AFU. Tento DFH ukazuje na ďalší DFH umiestnený na offsete 0x100 (DMA BBB DFH).
  • Null DFH: Tento komponent ukončí prepojený zoznam DFH. Ak do návrhu pridáte viac DMA BBB, uistite sa, že nulová základná adresa DFH sa nachádza na konci zoznamu prepojených DFH.
  • Základný stavebný blok MA (BBB): Tento blok presúva dáta medzi hostiteľom a lokálnou pamäťou FPGA. Tiež pristupuje k hostiteľskej pamäti, aby pristupoval k reťazcom deskriptorov.

DMA BBB

Subsystém DMA BBB prenáša údaje zo zdrojovej na cieľovú adresu pomocou transakcií Avalon-MM. Ovládač DMA ovláda DMA BBB prístupom k riadiacemu a stavovému registru rôznych komponentov vo vnútri systému. Ovládač DMA tiež riadi DMA BBB pomocou zdieľanej pamäte na komunikáciu deskriptorov prenosu. DMA BBB pristupuje k dátam v pamäti FPGA s offsetom 0x0. DMA BBB pristupuje k údajom a deskriptorom v hostiteľskej pamäti s posunom 0x1_0000_0000_0000.

Bloková schéma návrhára platformy DMA BBB
Tento blokový diagram nezahŕňa niektoré interné jadrá IP Pipeline Bridge.Intel.-FPGA-Programmable-Acceleration-Card-D5005-obr-6

Používateľská príručka funkčnej jednotky DMA Accelerator: Intel FPGA Programmable Acceleration Card D5005

Popis DMA AFU

Komponenty v DMA BBB Platform Designer implementujú nasledujúce funkcie:

  • Ďaleký most/potrubný most: Zahrnutý potrubný most s nastaviteľnou latenciou na kontrolu topológie a zlepšenie návrhu Fmax.
  • MA BBB DFH: Toto je hlavička funkcie zariadenia pre DMA BBB. Tento DFH ukazuje na ďalší DFH umiestnený na offsete 0x100 (Null DFH).
  • Frontend deskriptora: Zodpovedá za načítanie deskriptorov a ich prenos do dispečera. Keď sa prenos DMA dokončí, frontend dostane formáciu stavu od Dispečera a prepíše deskriptor v pamäti hostiteľa.
  • Dispečer: Tento blok naplánuje požiadavky na prenosy DMA do hlavného zariadenia na čítanie a zápis.
  • Prečítajte si Majstra: Tento blok je zodpovedný za čítanie dát z hostiteľskej alebo lokálnej pamäte FPGA a ich odosielanie ako streamované dáta do Write Master.
  • Napíšte Majster: Tento blok je zodpovedný za príjem streamovaných dát z Read Master a zápis obsahu do hostiteľskej alebo lokálnej pamäte FPGA.

Zaregistrujte priestory máp a adries

DMA AFU podporuje dve pamäte views: DMA view a hostiteľ view. DMA view podporuje 49-bitový adresný priestor. Dolná polovica DMA view mapy do lokálnej pamäte FPGA. Horná polovica DMA view mapy do hostiteľskej pamäte. Hostiteľ view zahŕňa všetky registre prístupné cez MMIO prístupy, ako sú tabuľky DFH, a riadiace/stavové registre rôznych IP jadier používaných vo vnútri DMA AFU. Registre MMIO v DMA BBB a AFU podporujú 32- a 64-bitový prístup. DMA AFU nepodporuje 512-bitové MMIO prístupy. Prístupy k dispečerským registrom vo vnútri DMA BBB musia byť 32 bitové (frontend deskriptora implementuje 64-bitové registre).

Mapa registrácie DMA AFU

Mapa registra DMA AFU poskytuje absolútne adresy všetkých miest v rámci jednotky. Tieto registre sú v hostiteľovi view pretože k nim má prístup iba hostiteľ.

Mapa pamäti DMA AFU

Posuny bajtových adries Meno Rozpätie v bajtoch Popis
0x0 DMA AFU DFH 0x40 Hlavička funkcie zariadenia pre DMA AFU. ID_L je nastavené na 0x9081f88b8f655caa a ID_H je nastavené na 0x331db30c988541ea. DMA AFU DFH bol parametrizovaný tak, aby ukazoval na offset 0x100, aby sa našiel ďalší DFH (DMA BBB DFH). Základnú adresu DMA AFU DFH nesmiete upravovať, pretože sa musí nachádzať na adrese 0x0, ako je definovaná v špecifikácii CCIP.
0x100 DMA BBB 0x100 Určuje rozhranie riadenia a stavového registra DMA BBB. Viac informácií nájdete na mape registra DMA BBB. V rámci DMA BBB pri offsete 0 zahŕňa DMA BBB svoj vlastný DFH. Tento DFH bol nastavený tak, aby našiel ďalší DFH s posunom 0x100 (NULL DFH). Ak pridáte viac DMA BBB, rozmiestnite ich 0x100 od seba a uistite sa, že NULL DFH nasleduje po poslednom DMA o 0x100.
0x200 NULL DFH 0x40 Ukončí prepojený zoznam DFH. ID_L je nastavené na 0x90fe6aab12a0132f a ID_H je nastavené na 0xda1182b1b3444e23. NULL DFH bol parametrizovaný ako posledný DFH v hardvéri. Z tohto dôvodu sa NULL DFH nachádza na adrese 0x200. Ak do systému pridáte ďalšie DMA BBB, musíte príslušne zvýšiť základnú adresu NULL DFH, aby zostala na najvyššej adrese. Ovládač DMA a testovacia aplikácia nepoužívajú tento hardvér.

Intel Corporation. Všetky práva vyhradené. Intel, logo Intel a ďalšie značky Intel sú ochranné známky spoločnosti Intel Corporation alebo jej dcérskych spoločností. Spoločnosť Intel zaručuje výkon svojich FPGA a polovodičových produktov podľa aktuálnych špecifikácií v súlade so štandardnou zárukou spoločnosti Intel, ale vyhradzuje si právo kedykoľvek bez upozornenia zmeniť akékoľvek produkty a služby. Spoločnosť Intel nepreberá žiadnu zodpovednosť ani zodpovednosť vyplývajúcu z aplikácie alebo používania akýchkoľvek informácií, produktov alebo služieb opísaných v tomto dokumente, s výnimkou prípadov, keď to spoločnosť Intel výslovne písomne ​​odsúhlasí. Zákazníkom spoločnosti Intel sa odporúča získať najnovšiu verziu špecifikácií zariadení skôr, ako sa budú spoliehať na akékoľvek zverejnené informácie a pred zadaním objednávky produktov alebo služieb. *Iné názvy a značky môžu byť majetkom iných.

Zaregistrujte priestory máp a adries

Mapa pamäte DMA BBB
Nasledujúce bajtové adresy sú relatívne odchýlky od základnej adresy DMA BBB v systéme DMA AFU (0x100).

Posuny bajtových adries Meno Rozpätie v bajtoch Popis
0x0 DMA BBB DFH 0x40 Hlavička funkcie zariadenia pre DMA AFU. ID_L je nastavené na 0xa9149a35bace01ea a ID_H je nastavené na 0xef82def7f6ec40fc. DMA BBB DFH bol parametrizovaný tak, aby ukazoval na 0x100 pre ďalší posun DFH. Tento ďalší posun môže byť iný DMA BBB, iný DFH (nie je súčasťou tohto návrhu) alebo NULL DFH.
0x40 Dispečer 0x40 Riadiaci port pre dispečera. Ovládač DMA používa toto miesto na ovládanie DMA alebo dotazovanie sa na jeho stav.
0x80 Frontend deskriptora 0x40 Frontend deskriptora je vlastný komponent, ktorý číta deskriptory z pamäte hostiteľa a po dokončení prenosu DMA ich prepíše. Ovládač dáva príkaz frontendu, kde je prvý deskriptor uložený v pamäti hostiteľa, a potom hardvér frontendu komunikuje s ovládačom primárne prostredníctvom deskriptorov uložených v pamäti hostiteľa.

Adresný priestor DMA AFU

Hostiteľ môže pristupovať k registrom uvedeným v Tabuľke 4 na strane 12 a Tabuľke 5 na strane 13. Subsystém DMA BBB má prístup k úplnému 49-bitovému adresnému priestoru. Spodná polovica tohto adresného priestoru obsahuje lokálne pamäte FPGA. Horná polovica tohto adresného priestoru obsahuje 48-bitovú pamäť adresy hostiteľa. Nasledujúci obrázok znázorňuje hostiteľa a DMA views pamäťou.

DMA AFU a hostiteľ Views pamäťou

Intel.-FPGA-Programmable-Acceleration-Card-D5005-obr-3

Zoznam funkcií zariadenia Header Linked-List

Dizajn DMA AFU naprampsúbor obsahuje tri hlavičky funkcií zariadenia (DFH), ktoré tvoria prepojený zoznam. Tento prepojený zoznam umožňuje sample aplikácie na identifikáciu DMA AFU, ako aj ovládača na identifikáciu DMA BBB. Zoznam DFH obsahuje na konci NULL DFH. Zahrnutie nulového DFH na koniec prepojeného zoznamu vám umožní pridať do vášho návrhu viac DMA BBB. Jednoducho musíte presunúť NULL DFH na adresu za ostatnými BBB. Každý DMA BBB očakáva, že ďalší DFH bude umiestnený 0x100 bajtov od základnej adresy BBB. Nasledujúci obrázok zobrazuje prepojený zoznam pre dizajn DMA AFU example.

Zaregistrujte priestory máp a adries

DMA AFU Device Feature Header (DFH) Reťazenie

Intel.-FPGA-Programmable-Acceleration-Card-D5005-obr-4

Model softvérového programovania

DMA AFU obsahuje softvérový ovládač, ktorý môžete použiť vo svojej vlastnej hostiteľskej aplikácii. Súbory fpga_dma.cpp a fpga_dma.h files umiestnením na nasledujúcom umiestnení implementuje softvérový ovládač: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Tento ovládač podporuje nasledujúce funkcie:

API Popis
fpgaCountDMAChannels Vyhľadá reťazec funkcií zariadenia pre DMA BBB a spočíta všetky dostupné kanály.
fpgaDMAOpen Otvorí rukoväť kanálu DMA.
fpgaDMAClose Zatvorí rukoväť kanálu DMA.
fpgaDMATtransferInit Inicializuje objekt, ktorý predstavuje prenos DMA.
fpgaDMATtransferReset Resetuje objekt atribútu prenosu DMA na predvolené hodnoty.
fpgaDMATtransferDestroy Zničí objekt atribútu prenosu DMA.
fpgaDMATtransferSetSrc Nastaví zdrojovú adresu prenosu. Táto adresa musí byť zarovnaná na 64 bajtov.
fpgaDMATtransferSetDst Nastaví cieľovú adresu prenosu. Táto adresa musí byť zarovnaná na 64 bajtov.
fpgaDMATtransferSetLen Nastavuje dĺžku prenosu v bajtoch. Pri nepaketových prenosoch musíte nastaviť dĺžku prenosu na násobok 64 bajtov. Pre prenosy paketov to nie je požiadavka.
fpgaDMATransferSetTransferType Nastaví typ prenosu. Právne hodnoty sú:

• HOST_MM_TO_FPGA_MM = TX (hostiteľ pre AFU)

• FPGA_MM_TO_HOST_MM = RX (AFU k hostiteľovi)

fpgaDMATransferSetTransferCallback Registruje spätné volanie pre upozornenie o dokončení asynchrónneho prenosu. Ak zadáte spätné volanie, fpgaDMATransfer sa vráti okamžite (asynchrónny prenos).

Ak nešpecifikujete spätné volanie, fpgaDMATransfer sa vráti po dokončení prenosu (synchrónny/blokujúci prenos).

fpgaDMATtransferSetLast Označuje posledný prenos, takže DMA môže začať spracovávať vopred načítané prenosy. Predvolená hodnota je 64 prenosov v potrubí, kým DMA začne pracovať na prenosoch.
fpgaDMATtransfer Vykoná DMA prenos.

Ďalšie informácie o rozhraní API, vstupných a výstupných argumentoch nájdete v hlavičke file nachádza $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. Všetky práva vyhradené. Intel, logo Intel a ďalšie značky Intel sú ochranné známky spoločnosti Intel Corporation alebo jej dcérskych spoločností. Spoločnosť Intel zaručuje výkon svojich FPGA a polovodičových produktov podľa aktuálnych špecifikácií v súlade so štandardnou zárukou spoločnosti Intel, ale vyhradzuje si právo kedykoľvek bez upozornenia zmeniť akékoľvek produkty a služby. Spoločnosť Intel nepreberá žiadnu zodpovednosť ani zodpovednosť vyplývajúcu z aplikácie alebo používania akýchkoľvek informácií, produktov alebo služieb opísaných v tomto dokumente, s výnimkou prípadov, keď to spoločnosť Intel výslovne písomne ​​odsúhlasí. Zákazníkom spoločnosti Intel sa odporúča získať najnovšiu verziu špecifikácií zariadení skôr, ako sa budú spoliehať na akékoľvek zverejnené informácie a pred zadaním objednávky produktov alebo služieb. Iné názvy a značky môžu byť majetkom iných.

Model softvérového programovania

Ak sa chcete dozvedieť viac o modeli používania softvérového ovládača, pozrite si súbor README file nachádza sa na $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/README.md

Spustenie DMA AFU Example

Skôr ako začnete:

  • Mali by ste byť oboznámení s bývalýmampv príručke rýchleho spustenia Intel Acceleration Stack pre Intel FPGA Programmable Acceleration Card D5005.
  • Musíte definovať premennú prostredia. Premenná prostredia závisí od verzie Intel Acceleration Stack, ktorú používate:
    • Pre aktuálnu verziu nastavte premennú prostredia na $OPAE_PLATFORM_ROOT
  • Musíte nainštalovať knižnicu Intel Threading Building Blocks (TBB), pretože sa na ňu spolieha ovládač DMA.
  • Musíte tiež nastaviť dve 1 GB obrovské stránky na spustenie sample aplikácie. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”

Vykonajte nasledujúce kroky na stiahnutie bitového toku funkcie DMA Accelerator Function (AF), na zostavenie aplikácie a ovládača a na spustenie návrhu napr.ample:

  1. Prejdite do adresára aplikácie DMA a ovládača: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
  2. Zostavte ovládač a aplikáciu: urobte
  3. Stiahnite si bitový tok DMA AFU: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
  4. Spustite hostiteľskú aplikáciu, ktorá zapíše 100 MB v 1 MB častiach z hostiteľskej pamäte do pamäte zariadenia FPGA a načíta ju späť: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom

Súvisiace informácie
Príručka rýchleho štartu Intel Acceleration Stack pre Intel FPGA Programmable Acceleration Card D5005 Intel Corporation. Všetky práva vyhradené. Intel, logo Intel a ďalšie značky Intel sú ochranné známky spoločnosti Intel Corporation alebo jej dcérskych spoločností. Spoločnosť Intel zaručuje výkon svojich FPGA a polovodičových produktov podľa aktuálnych špecifikácií v súlade so štandardnou zárukou spoločnosti Intel, ale vyhradzuje si právo kedykoľvek bez upozornenia zmeniť akékoľvek produkty a služby. Spoločnosť Intel nepreberá žiadnu zodpovednosť ani zodpovednosť vyplývajúcu z aplikácie alebo používania akýchkoľvek informácií, produktov alebo služieb opísaných v tomto dokumente, pokiaľ to nie je výslovne písomne ​​dohodnuté spoločnosťou Intel. Zákazníkom spoločnosti Intel sa odporúča získať najnovšiu verziu špecifikácií zariadenia skôr, ako sa budú spoliehať na akékoľvek zverejnené informácie a pred zadaním objednávky produktov alebo služieb. *Iné názvy a značky môžu byť majetkom iných.

Zostavenie DMA AFU Example

Ak chcete vygenerovať prostredie na zostavenie syntézy na kompiláciu AF, použite príkaz afu_synth_setup takto:

  1. Zmeňte na DMA AFU sampadresár: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Vygenerujte adresár zostavenia dizajnu: afu_synth_setup –source hw/rtl/filelist.txt build_synth
  3. Z adresára zostavenia syntézy vygenerovaného afu_synth_setup zadajte z okna terminálu nasledujúce príkazy na vygenerovanie AF pre cieľovú hardvérovú platformu: cd build_synth run.sh Skript na generovanie AF run.sh vytvorí obrázok AF s rovnakým základom filenázov ako konfigurácia platformy AFU file (.json) s príponou .gbs v umiestnení:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Corporation. Všetky práva vyhradené. Intel, logo Intel a ďalšie značky Intel sú ochranné známky spoločnosti Intel Corporation alebo jej dcérskych spoločností. Spoločnosť Intel zaručuje výkon svojich FPGA a polovodičových produktov podľa aktuálnych špecifikácií v súlade so štandardnou zárukou spoločnosti Intel, ale vyhradzuje si právo kedykoľvek bez upozornenia zmeniť akékoľvek produkty a služby. Spoločnosť Intel nepreberá žiadnu zodpovednosť ani zodpovednosť vyplývajúcu z aplikácie alebo používania akýchkoľvek informácií, produktov alebo služieb opísaných v tomto dokumente, s výnimkou prípadov, keď to spoločnosť Intel výslovne písomne ​​odsúhlasí. Zákazníkom spoločnosti Intel sa odporúča získať najnovšiu verziu špecifikácií zariadení skôr, ako sa budú spoliehať na akékoľvek zverejnené informácie a pred zadaním objednávky produktov alebo služieb. *Iné názvy a značky môžu byť majetkom iných.

Simulácia AFU Example

Spoločnosť Intel odporúča, aby ste si pre svoj Intel FPGA PAC preštudovali príručku rýchleho spustenia prostredia simulácie prostredia (ASE) Intel Accelerator Functional Unit (AFU), aby ste sa oboznámili so simuláciou podobnýchamplesov a na nastavenie vášho prostredia. Predtým, ako budete pokračovať cez nasledujúce kroky, overte, či je premenná prostredia OPAE_PLATFORM_ROOT nastavená na inštalačný adresár OPAE SDK. Ak chcete nastaviť hardvérový simulátor pre AFU DMA, vykonajte nasledujúce kroky:

  1. Zmeňte na DMA AFU sampadresár: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Vytvorte prostredie ASE v novom adresári a nakonfigurujte ho na simuláciu AFU: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
  3. Prejdite do adresára zostavy ASE: cd build_ase_dir
  4. Zostavte ovládač a aplikáciu: urobte
  5. Make simulation: make sim

Sampvýstup z hardvérového simulátora:

[SIM] ** POZOR : PRED spustením softvérovej aplikácie ** [SIM] Nastavte env(ASE_WORKDIR) v termináli, kde bude aplikácia bežať (kopírovať a vložiť) => [SIM] $SHELL | Spustiť:[SIM] ———+————————————————— [SIM] bash/zsh | exportovať ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] Ak potrebujete akúkoľvek inú kartu $SHELL, obráťte sa na správcu systému Linux [SIM] [SIM] Pripravené na simuláciu… [SIM] Stlačením klávesov CTRL-C zatvorte simulátor…

Ak chcete skompilovať a spustiť softvér DMA AFU v simulačnom prostredí, vykonajte nasledujúce kroky:

  1. Otvorte nové okno terminálu.
  2. Zmeňte adresár na: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw

Intel Corporation. Všetky práva vyhradené. Intel, logo Intel a ďalšie značky Intel sú ochranné známky spoločnosti Intel Corporation alebo jej dcérskych spoločností. Spoločnosť Intel zaručuje výkon svojich FPGA a polovodičových produktov podľa aktuálnych špecifikácií v súlade so štandardnou zárukou spoločnosti Intel, ale vyhradzuje si právo kedykoľvek bez upozornenia zmeniť akékoľvek produkty a služby. Spoločnosť Intel nepreberá žiadnu zodpovednosť ani zodpovednosť vyplývajúcu z aplikácie alebo používania akýchkoľvek informácií, produktov alebo služieb opísaných v tomto dokumente, s výnimkou prípadov, keď to spoločnosť Intel výslovne písomne ​​odsúhlasí. Zákazníkom spoločnosti Intel sa odporúča získať najnovšiu verziu špecifikácií zariadení skôr, ako sa budú spoliehať na akékoľvek zverejnené informácie a pred zadaním objednávky produktov alebo služieb. *Iné názvy a značky môžu byť majetkom iných.

Simulácia AFU Example

  1. Skopírujte reťazec nastavenia prostredia (vyberte reťazec vhodný pre váš shell) z krokov vyššie v simulácii hardvéru do okna terminálu. Pozrite si nasledujúce riadky v sample výstup z hardvérového simulátora. [SIM] bash/zsh | exportovať ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work
  2. Kompilujte softvér: $ make USE_ASE=1
  3. Spustite hostiteľskú aplikáciu na zápis 4 KB v 1 KB častiach z hostiteľskej pamäte späť do pamäte zariadenia FPGA v režime spätnej slučky: ./ fpga_dma_test -s 4096 -p 1024 -r mtom

Súvisiace informácie
Používateľská príručka rýchleho spustenia funkčnej jednotky Intel Accelerator (AFU) Simulation Environment (ASE).

Optimalizácia pre lepší výkon DMA

Implementácia optimalizácie NUMA (non-uniform memory access) v fpga_dma_test.cpp umožňuje procesoru pristupovať k vlastnej lokálnej pamäti rýchlejšie ako pristupovať k nelokálnej pamäti (pamäť lokálnej pre iný procesor). Typická konfigurácia NUMA je znázornená na obrázku nižšie. Lokálny prístup predstavuje prístup z jadra k lokálnej pamäti rovnakého jadra. Vzdialený prístup ilustruje cestu, ktorú prejde, keď jadro uzla 0 pristupuje k pamäti, ktorá sa nachádza v lokálnej pamäti pre uzol 1.

Typická konfigurácia NUMA

Intel.-FPGA-Programmable-Acceleration-Card-D5005-obr-5

Na implementáciu optimalizácie NUMA vo svojej testovacej aplikácii použite nasledujúci kód:

// Ak je to požadované, nastavte správnu afinitu if (cpu_affinity || memory_affinity) {unsigned dom = 0, bus = 0, dev = 0, func = 0; fpga_properties props;int retval; #if(FPGA_DMA_DEBUG)char str[4096]; #endifres = fpgaGetProperties(afc_token, &props); ON_ERR_GOTO(res, out_destroy_tok, “fpgaGetProperties”); res = fpgaPropertiesGetBus(rekvizity, (uint8_t *) & bus);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgaPropertiesGetDevice(rekvizity, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(props, (uint8_t *) & func);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(props, (uintXNUMX_t *) & func);ON_ERR_GOTO; // Nájdite zariadenie z topológie hwloc_topology_t topológie; hwloc_topology_init(&topológia); hwloc_topology_set_flags(topológia, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. Všetky práva vyhradené. Intel, logo Intel a ďalšie značky Intel sú ochranné známky spoločnosti Intel Corporation alebo jej dcérskych spoločností. Spoločnosť Intel zaručuje výkon svojich FPGA a polovodičových produktov podľa aktuálnych špecifikácií v súlade so štandardnou zárukou spoločnosti Intel, ale vyhradzuje si právo kedykoľvek bez upozornenia zmeniť akékoľvek produkty a služby. Spoločnosť Intel nepreberá žiadnu zodpovednosť ani zodpovednosť vyplývajúcu z aplikácie alebo používania akýchkoľvek informácií, produktov alebo služieb opísaných v tomto dokumente, s výnimkou prípadov, keď to spoločnosť Intel výslovne písomne ​​odsúhlasí. Zákazníkom spoločnosti Intel sa odporúča získať najnovšiu verziu špecifikácií zariadení skôr, ako sa budú spoliehať na akékoľvek zverejnené informácie a pred zadaním objednávky produktov alebo služieb. *Iné názvy a značky môžu byť majetkom iných.

Optimalizácia pre lepší výkon DMA

hwloc_topology_load(topológia); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topológia, dom, zbernica, dev, func); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topológia, obj); #if (FPGA_DMA_DEBUG) hwloc_obj_type_snprintf(str, 4096, obj2, 1); printf(“%s\n”, str);hwloc_obj_attr_snprintf(str, 4096, obj2, ” :: “, 1);printf(“%s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->cpuset); printf(“CPUSET je %s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf(“NODESET je %s\n”, str);#endif if (afinita_pamäti) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topológia, obj2->nodeset,HWLOC_MEMBIND_THREAD_MEMB, HWINDHLOCBY_THREAD_MEMB); #else retval =hwloc_set_membind_nodeset(topológia, obj2->nodeset, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_membind”); } if (afinita_cpu) { retval = hwloc_set_cpubind(topológia, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); } }

Archív používateľskej príručky funkčnej jednotky DMA Accelerator

Verzia Intel Acceleration Stack Používateľská príručka (PDF)
2.0 Používateľská príručka k funkčnej jednotke akcelerátora DMA (AFU).

História revízií dokumentu pre používateľskú príručku funkčnej jednotky DMA Accelerator

 

Verzia dokumentu

Intel Acceleration Verzia zásobníka  

Zmeny

 

 

2020.08.03

2.0.1 (podporuje Intel

Quartus® Prime Pro Edition Edition 19.2)

 

Opravený obrázok AF file meno v sekcii Zostavenie DMA AFU Example.

 

 

2020.04.17

2.0.1 (podporuje Intel

Quartus Prime Pro Edition Edition 19.2)

 

 

Opravené vyhlásenie v Určené publikum oddiele.

 

 

2020.02.20

2.0.1 (podporuje Intel

Quartus Prime Pro Edition Edition 19.2)

 

 

Opravený preklep.

 

 

 

 

2019.11.04

 

 

2.0.1 (podporuje Intel

Quartus Prime Pro Edition Edition 19.2)

• Nahradenie fpgaconf za fpgasupdate pri konfigurácii FPGA s vopred zostaveným AFU v sekcii Spustenie DMA AFU Example.

• Pridané titulky Intel FPGA Programmable Acceleration Card D5005 k názvu dokumentu.

• Pridaná premenná prostredia $OPAE_PLATFORM_ROOT.

• Upravená sekcia Model softvérového programovania pre menšie úpravy.

• Pridaná nová sekcia Zostavenie DMA AFU Example.

• Upravená sekcia Optimalizácia pre lepší výkon DMA pre menšie úpravy.

 

 

2019.08.05

2.0 (podporuje Intel

Quartus Prime Pro Edition 18.1.2)

 

 

Prvotné uvoľnenie.

Intel Corporation. Všetky práva vyhradené. Intel, logo Intel a ďalšie značky Intel sú ochranné známky spoločnosti Intel Corporation alebo jej dcérskych spoločností. Spoločnosť Intel zaručuje výkon svojich FPGA a polovodičových produktov podľa aktuálnych špecifikácií v súlade so štandardnou zárukou spoločnosti Intel, ale vyhradzuje si právo kedykoľvek bez upozornenia zmeniť akékoľvek produkty a služby. Spoločnosť Intel nepreberá žiadnu zodpovednosť ani zodpovednosť vyplývajúcu z aplikácie alebo používania akýchkoľvek informácií, produktov alebo služieb opísaných v tomto dokumente, pokiaľ to nie je výslovne písomne ​​dohodnuté spoločnosťou Intel. Zákazníkom spoločnosti Intel sa odporúča získať najnovšiu verziu špecifikácií zariadenia skôr, ako sa budú spoliehať na akékoľvek zverejnené informácie a pred zadaním objednávky produktov alebo služieb.

  • Iné názvy a značky môžu byť majetkom iných.

 

Dokumenty / zdroje

Intel FPGA Programmable Acceleration Card D5005 [pdf] Používateľská príručka
FPGA Programmable Acceleration Card, D5005, FPGA Programmable Acceleration Card D5005, DMA Accelerator Functional Unit

Referencie

Zanechajte komentár

Vaša emailová adresa nebude zverejnená. Povinné polia sú označené *