Logo Intel

Intel FPGA Programmable Acceleration Card D5005

Intel.-FPGA-Programmable-Acceleration-Card-D5005-produkt

O tomto dokumentu

Tento dokument popisuje implementaci akcelerátoru funkční jednotky (AFU) s přímým přístupem do paměti (DMA) a jak vytvořit návrh pro běh na hardwaru nebo v simulaci.

Zamýšlené publikum

Zamýšlené publikum zahrnuje vývojáře hardwaru nebo softwaru, kteří vyžadují funkci akcelerátoru (AF) k místnímu ukládání dat do paměti připojené k zařízení Intel FPGA.

Konvence

Dokumentové konvence

Konvence Popis
# Předchází příkaz, který označuje, že příkaz má být zadán jako root.
$ Označuje příkaz, který má být zadán jako uživatel.
Toto písmo Filejména, příkazy a klíčová slova se tisknou tímto písmem. Tímto písmem jsou vytištěny dlouhé příkazové řádky. Ačkoli dlouhé příkazové řádky mohou zalomit na další řádek, návrat není součástí příkazu; nestiskněte enter.
Označuje, že zástupný text, který se objeví mezi lomenými závorkami, musí být nahrazen vhodnou hodnotou. Nevstupujte do úhlových závorek.

Zkratky

Zkratky

Zkratky Rozšíření Popis
AF Funkce akcelerátoru Kompilovaný obraz hardwarového akcelerátoru implementovaný v logice FPGA, který zrychluje aplikaci.
AFU Funkční jednotka akcelerátoru Hardwarový akcelerátor implementovaný v logice FPGA, který odlehčuje výpočetní operaci pro aplikaci z CPU, aby se zlepšil výkon.
API Aplikační programovací rozhraní Sada definic podprogramů, protokolů a nástrojů pro vytváření softwarových aplikací.
CCI-P Rozhraní Core Cache CCI-P je standardní rozhraní AFU používané ke komunikaci s hostitelem.
DFH Záhlaví funkce zařízení Vytvoří propojený seznam záhlaví funkcí, který poskytuje rozšiřitelný způsob přidávání funkcí.
pokračování…

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 popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. 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.

Zkratky Rozšíření Popis
FIM Správce rozhraní FPGA Hardware FPGA obsahující jednotku rozhraní FPGA (FIU) a externí rozhraní pro paměť, sítě atd.

Funkce akcelerátoru (AF) je za běhu propojena s FIM.

FIU Jednotka rozhraní FPGA FIU je vrstva rozhraní platformy, která funguje jako most mezi rozhraními platformy, jako je PCIe*, UPI a rozhraními na straně AFU, jako je CCI-P.
MPF Továrna na vlastnosti paměti MPF je základní stavební blok (BBB), který mohou AFU používat k poskytování operací tvarování provozu CCI-P pro transakce s FIU.

Slovníček pojmů zrychlení

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

Období Zkratka Popis
Intel® Acceleration Stack pro procesor Intel Xeon® s FPGA Akcelerační zásobník Kolekce softwaru, firmwaru a nástrojů, které poskytují výkonově optimalizované připojení mezi Intel FPGA a procesorem Intel Xeon.
Intel FPGA Programmable Acceleration Card Intel FPGA PAC PCIe FPGA akcelerační karta.

Obsahuje FPGA Interface Manager (FIM), který se spáruje s procesorem Intel Xeon přes sběrnici PCIe.

  • Uživatelská příručka funkční jednotky DMA Accelerator: Intel FPGA Programmable Acceleration Card D5005

Popis DMA AFU

Zavedení

Přímý přístup do paměti (DMA) AFU example ukazuje, jak spravovat přenosy paměti mezi hostitelským procesorem a FPGA. AFU DMA můžete integrovat do svého návrhu a přesouvat data mezi hostitelskou pamětí a místní pamětí FPGA. AFU DMA se skládá z následujících submodulů:

  • Memory Properties Factory (MPF) Basic Building Block (BBB)
  • Core Cache Interface (CCI-P) k adaptéru Avalon® Memory-Mapped (Avalon-MM)
  • Testovací systém DMA, který obsahuje DMA BBB

Tyto submoduly jsou podrobněji popsány v tématu DMA AFU Hardware Components níže.

Související informace

  • Hardwarové komponenty DMA AFU na straně 6
  • Specifikace rozhraní Avalon

Další informace o protokolu Avalon-MM, včetně časových diagramů pro transakce čtení a zápisu.

Softwarový balíček DMA AFU

Intel Acceleration Stack pro procesor Intel Xeon s balíkem FPGA file (*.tar.gz), zahrnuje DMA AFU example. Tento example poskytuje ovladač uživatelského prostoru. Hostitelská aplikace používá tento ovladač, takže DMA přesouvá data mezi hostitelem a pamětí FPGA. Binární soubory hardwaru, zdroje a ovladač uživatelského prostoru jsou k dispozici v následujícím adresáři: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . Před experimentováním s DMA AFU musíte nainstalovat softwarový balíček Open Programmable Acceleration Engine (OPAE). Pokyny k instalaci naleznete v části Instalace softwarového balíčku OPAE ve Stručné úvodní příručce Intel Acceleration Stack pro Intel FPGA Programmable Acceleration Card D5005. Tento rychlý průvodce také obsahuje základní informace o Open Programmable Acceleration Engine (OPAE) a konfiguraci AFU. Po instalaci softwarového balíku Open Programmable Acceleration Engine (OPAE), asamphostitelská aplikace a ovladač uživatelského prostoru DMA AFU jsou k dispozici v následujícím adresáři: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. Chcete-li spustit sample hostitelské aplikace, fpga_dma_test na vašem hardwaru Intel FPGA PAC D5005, viz kroky v části Spuštění DMA AFU Example. 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í předtím, 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.

Související informace

  • Stručný průvodce Intel Acceleration Stack pro programovatelnou akcelerační kartu Intel FPGA D5005
  • Instalace softwarového balíčku OPAE

Hardwarové komponenty DMA AFU

DMA AFU se propojuje s FPGA Interface Unit (FIU) a pamětí FPGA. Podrobné specifikace paměti FPGA naleznete v datovém listu správce rozhraní FPGA pro programovatelnou akcelerační kartu Intel FPGA D5005. Tuto konfiguraci paměti určuje aktuálně dostupný hardware. Budoucí hardware může podporovat různé konfigurace paměti. AFU DMA můžete použít ke kopírování dat mezi následujícími zdrojovými a cílovými umístěními:

  • Paměť FPGA mezi hostitelem a zařízením
  • Paměť FPGA zařízení k hostiteli

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

  • AFU. Část DMA AFU implementovaná v systému Platform Designer naleznete v následujícím textu

umístění: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ DMA BBB najdete v následujícím umístění:

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

Uživatelská příručka funkční jednotky DMA Accelerator: Intel FPGA Programmable Acceleration Card D5005

Blokové schéma hardwaru DMA AFU

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

DMA AFU obsahuje následující interní moduly pro propojení s FPGA Interface Unit (FIU):

  • Memory-Mapped IO (MMIO) Decoder Logic: detekuje transakce čtení a zápisu MMIO a odděluje je od kanálu CCI-P RX 0, ze kterého přicházejí. To zajišťuje, že provoz MMIO nikdy nedosáhne MPF BBB a je obsluhován nezávislým příkazovým kanálem MMIO.
  • Memory Properties Factory (MPF): Tento modul zajišťuje, aby se odpovědi na čtení z DMA vracely v pořadí, v jakém byly vydány. Protokol Avalon-MM vyžaduje, aby se odezvy čtení vrátily ve správném pořadí.
  • Adaptér CCI-P na Avalon-MM: Tento modul překládá mezi transakcemi CCI-P a Avalon-MM následovně:
  • Adaptér CCI-P na Avalon-MMIO: Tato cesta převádí transakce CCI-P MMIO na transakce Avalon-MM.
  • Avalon to CCI-P Host Adapter: Tyto cesty vytvářejí samostatné cesty pouze pro čtení a pouze pro zápis pro DMA pro přístup k hostitelské paměti.
  • Testovací systém DMA: Tento modul slouží jako obal kolem DMA BBB, aby vystavil DMA mastery zbytku logiky v AFU. Poskytuje rozhraní mezi DMA BBB a adaptérem CCI-P na Avalon. Poskytuje také rozhraní mezi DMA BBB a místními bankami FPGA SDRAM.

Související informace
FPGA Interface Manager Data Sheet pro Intel FPGA Programmable Acceleration Card D5005

Testovací systém DMA

Testovací systém DMA propojuje DMA BBB se zbytkem návrhu FPGA včetně adaptace CCI-P a místní paměti FPGA.

Blokové schéma testovacího systému DMA
Toto blokové schéma ukazuje vnitřní části testovacího systému DMA. Testovací systém DMA je znázorněn jako monolitický blok na obrázku 1 na straně 7.Intel.-FPGA-Programmable-Acceleration-Card-D5005-obr-2

Testovací systém DMA obsahuje následující interní moduly:

  • Far Reach Bridge/Pipeline Bridge: Potrubní most s nastavitelnou latencí pro řízení topologie a zlepšení návrhu Fmax.
  • DMA AFU Device Feature Header (DFH): Toto je DFH pro DMA AFU. Tento DFH ukazuje na další DFH umístěný na offsetu 0x100 (DMA BBB DFH).
  • Null DFH: Tato komponenta ukončí propojený seznam DFH. Pokud do návrhu přidáte další DMA BBB, ujistěte se, že nulová základní adresa DFH je umístěna na konci propojeného seznamu DFH.
  • Základní stavební blok MA (BBB): Tento blok přesouvá data mezi hostitelem a místní pamětí FPGA. Také přistupuje k hostitelské paměti pro přístup k řetězcům deskriptorů.

DMA BBB

Subsystém DMA BBB přenáší data ze zdrojových na cílové adresy pomocí transakcí Avalon-MM. Ovladač DMA ovládá DMA BBB přístupem k řídicímu a stavovému registru různých komponent uvnitř systému. Ovladač DMA také řídí DMA BBB pomocí sdílené paměti pro komunikaci deskriptorů přenosu. DMA BBB přistupuje k datům v paměti FPGA s offsetem 0x0. DMA BBB přistupuje k datům a deskriptorům v paměti hostitele s offsetem 0x1_0000_0000_0000.

Blokové schéma návrháře platformy DMA BBB
Tento blokový diagram nezahrnuje některá interní jádra IP Pipeline Bridge.Intel.-FPGA-Programmable-Acceleration-Card-D5005-obr-6

Uživatelská příručka funkční jednotky DMA Accelerator: Intel FPGA Programmable Acceleration Card D5005

Popis DMA AFU

Komponenty v DMA BBB Platform Designer implementují následující funkce:

  • Far Reach Bridge/Pipeline Bridge: Součástí je potrubní most s nastavitelnou latencí pro řízení topologie a zlepšení návrhu Fmax.
  • MA BBB DFH: Toto je hlavička funkce zařízení pro DMA BBB. Tento DFH ukazuje na další DFH umístěný na offsetu 0x100 (Null DFH).
  • Frontend deskriptoru: Zodpovědný za načítání deskriptorů a jejich přenos na dispečera. Když je přenos DMA dokončen, frontend obdrží formaci stavu od dispečera a přepíše deskriptor v paměti hostitele.
  • Odesílatel: Tento blok naplánuje přenosy požadavků DMA do hlavního serveru čtení a zápisu.
  • Přečtěte si Mistra: Tento blok je zodpovědný za čtení dat z hostitelské nebo místní paměti FPGA a jejich odesílání jako streamovaná data do Write Master.
  • Napište Mistrovi: Tento blok je zodpovědný za příjem datových proudů z Read Master a zápis obsahu do hostitelské nebo místní paměti FPGA.

Zaregistrujte mapové a adresní prostory

DMA AFU podporuje dvě paměti views: DMA view a hostitel view. DMA view podporuje 49bitový adresní prostor. Spodní polovina DMA view mapuje do místní paměti FPGA. Horní polovina DMA view mapuje do paměti hostitele. Hostitel view zahrnuje všechny registry přístupné prostřednictvím MMIO přístupů, jako jsou tabulky DFH, a řídicí/stavové registry různých IP jader používaných uvnitř DMA AFU. Registry MMIO v DMA BBB a AFU podporují 32bitový a 64bitový přístup. DMA AFU nepodporuje 512bitové MMIO přístupy. Přístupy k dispečerským registrům uvnitř DMA BBB musí mít 32 bitů (frontend deskriptoru implementuje 64bitové registry).

Mapa registrace DMA AFU

Mapa registrů DMA AFU poskytuje absolutní adresy všech míst v jednotce. Tyto registry jsou v hostiteli view protože k nim má přístup pouze hostitel.

Mapa paměti AFU DMA

Posuny adres bajtů Jméno Rozpětí v bytech Popis
0x0 DMA AFU DFH 0x40 Záhlaví funkce zařízení pro AFU DMA. ID_L je nastaveno na 0x9081f88b8f655caa a ID_H je nastaveno na 0x331db30c988541ea. DMA AFU DFH byl parametrizován tak, aby ukazoval na offset 0x100 pro nalezení dalšího DFH (DMA BBB DFH). Základní adresu DMA AFU DFH nesmíte upravovat, protože se musí nacházet na adrese 0x0, jak je definováno ve specifikaci CCIP.
0x100 DMA BBB 0x100 Určuje rozhraní ovládání a stavového registru DMA BBB. Další informace naleznete v mapě registrů DMA BBB. V rámci DMA BBB na offsetu 0 zahrnuje DMA BBB svůj vlastní DFH. Tento DFH byl nastaven tak, aby našel další DFH s posunem 0x100 (NULL DFH). Pokud přidáte více DMA BBB, rozmístěte je 0x100 od sebe a ujistěte se, že NULL DFH následuje poslední DMA o 0x100.
0x200 NULL DFH 0x40 Ukončí propojený seznam DFH. ID_L je nastaveno na 0x90fe6aab12a0132f a ID_H je nastaveno na 0xda1182b1b3444e23. NULL DFH byl parametrizován jako poslední DFH v hardwaru. Z tohoto důvodu je NULL DFH umístěn na adrese 0x200. Pokud do systému přidáte další DMA BBB, musíte odpovídajícím způsobem zvýšit základní adresu NULL DFH, aby zůstala na nejvyšší adrese. Ovladač DMA a testovací aplikace tento hardware nepoužívají.

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 popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. 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.

Zaregistrujte mapové a adresní prostory

Mapa paměti DMA BBB
Následující bajtové adresy jsou relativními odchylkami od základní adresy DMA BBB v systému DMA AFU (0x100).

Posuny adres bajtů Jméno Rozpětí v bytech Popis
0x0 DMA BBB DFH 0x40 Záhlaví funkce zařízení pro AFU DMA. ID_L je nastaveno na 0xa9149a35bace01ea a ID_H je nastaveno na 0xef82def7f6ec40fc. DMA BBB DFH byl parametrizován tak, aby ukazoval na 0x100 pro další offset DFH. Tento další offset může být jiný DMA BBB, jiný DFH (není součástí tohoto návrhu) nebo NULL DFH.
0x40 Odesílatel 0x40 Řídicí port pro dispečera. Ovladač DMA používá toto umístění k ovládání DMA nebo dotazu na jeho stav.
0x80 Frontend deskriptoru 0x40 Frontend deskriptoru je vlastní komponenta, která čte deskriptory z paměti hostitele a přepisuje deskriptor, když je přenos DMA dokončen. Ovladač dá frontendu pokyn, kde je první deskriptor uložen v paměti hostitele, a poté hardware frontendu komunikuje s ovladačem primárně prostřednictvím deskriptorů uložených v paměti hostitele.

Adresní prostor DMA AFU

Hostitel má přístup k registrům uvedeným v tabulce 4 na stránce 12 a tabulce 5 na stránce 13. Subsystém DMA BBB má přístup k celému 49bitovému adresnímu prostoru. Spodní polovina tohoto adresního prostoru zahrnuje místní paměti FPGA. Horní polovina tohoto adresního prostoru zahrnuje 48bitovou paměť adres hostitele. Následující obrázek ukazuje hostitele a DMA views paměti.

DMA AFU a hostitel Views paměti

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

Propojený seznam funkcí zařízení Header

Design DMA AFU exampsoubor obsahuje tři hlavičky funkcí zařízení (DFH), které tvoří propojený seznam. Tento propojený seznam umožňuje sampaplikace pro identifikaci DMA AFU a také ovladač pro identifikaci DMA BBB. Seznam DFH obsahuje na konci NULL DFH. Zahrnutí nulového DFH na konec propojeného seznamu vám umožní přidat do vašeho návrhu více DMA BBB. Jednoduše musíte přesunout NULL DFH na adresu za ostatními BBB. Každý DMA BBB očekává, že další DFH bude umístěn 0x100 bajtů od základní adresy BBB. Následující obrázek znázorňuje propojený seznam pro design DMA AFU example.

Zaregistrujte mapové a adresní prostory

DMA AFU Device Feature Header (DFH) Řetězení

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

Model softwarového programování

DMA AFU obsahuje softwarový ovladač, který můžete použít ve své vlastní hostitelské aplikaci. Soubory fpga_dma.cpp a fpga_dma.h files umístěné v následujícím umístění implementují softwarový ovladač: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Tento ovladač podporuje následující funkce:

API Popis
fpgaCountDMAChannels Prohledá řetězec funkcí zařízení pro DMA BBB a spočítá všechny dostupné kanály.
fpgaDMAOpen Otevře úchyt kanálu DMA.
fpgaDMAClose Zavře rukojeť kanálu DMA.
fpgaDMATtransferInit Inicializuje objekt, který představuje přenos DMA.
fpgaDMATtransferReset Resetuje objekt atributu přenosu DMA na výchozí hodnoty.
fpgaDMATransferDestroy Zničí objekt atributu přenosu DMA.
fpgaDMATtransferSetSrc Nastaví zdrojovou adresu přenosu. Tato adresa musí být zarovnána na 64 bajtů.
fpgaDMATtransferSetDst Nastaví cílovou adresu přenosu. Tato adresa musí být zarovnána na 64 bajtů.
fpgaDMATtransferSetLen Nastavuje délky přenosu v bajtech. U nepaketových přenosů musíte nastavit délku přenosu na násobek 64 bajtů. U paketových přenosů to není požadavek.
fpgaDMATransferSetTransferType Nastaví typ přenosu. Právní hodnoty jsou:

• HOST_MM_TO_FPGA_MM = TX (hostitel pro AFU)

• FPGA_MM_TO_HOST_MM = RX (AFU k hostiteli)

fpgaDMATransferSetTransferCallback Registruje zpětné volání pro upozornění na dokončení asynchronního přenosu. Pokud zadáte zpětné volání, fpgaDMATransfer se vrátí okamžitě (asynchronní přenos).

Pokud neurčíte zpětné volání, fpgaDMATransfer se vrátí po dokončení přenosu (synchronní/blokující přenos).

fpgaDMATtransferSetLast Označuje poslední přenos, takže DMA může začít zpracovávat předem načtené přenosy. Výchozí hodnota je 64 přenosů v potrubí, než DMA začne pracovat na přenosech.
fpgaDMATtransfer Provede DMA přenos.

Další informace o rozhraní API, vstupních a výstupních argumentech naleznete v záhlaví file umístěn $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel 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í předtím, 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.

Model softwarového programování

Další informace o modelu použití softwarového ovladače naleznete v souboru README file na $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/README.md

Spuštění DMA AFU Example

Než začnete:

  • Měli byste být obeznámeni s exampv Intel Acceleration Stack Quick Start Guide pro Intel FPGA Programmable Acceleration Card D5005.
  • Musíte definovat proměnnou prostředí. Proměnná prostředí závisí na verzi Intel Acceleration Stack, kterou používáte:
    • Pro aktuální verzi nastavte proměnnou prostředí na $OPAE_PLATFORM_ROOT
  • Musíte nainstalovat knihovnu Intel Threading Building Blocks (TBB), protože na ni závisí ovladač DMA.
  • Chcete-li spustit server s, musíte také nastavit dvě velké stránky o velikosti 1 GBampaplikace. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”

Proveďte následující kroky ke stažení bitového toku DMA Accelerator Function (AF), k sestavení aplikace a ovladače a ke spuštění návrhu exampten:

  1. Přejděte do adresáře aplikace DMA a ovladače: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
  2. Sestavte ovladač a aplikaci: make
  3. Stáhněte si bitstream DMA AFU: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
  4. Spusťte hostitelskou aplikaci, která zapíše 100 MB po 1 MB z paměti hostitele do paměti zařízení FPGA a přečte ji zpět: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom

Související informace
Stručná úvodní příručka Intel Acceleration Stack pro programovatelnou akcelerační kartu Intel FPGA D5005 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í předtím, 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.

Kompilace DMA AFU Example

Chcete-li vygenerovat prostředí sestavení syntézy pro kompilaci AF, použijte příkaz afu_synth_setup takto:

  1. Změňte na DMA AFU sampadresář: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Vygenerujte adresář sestavení návrhu: afu_synth_setup –source hw/rtl/filelist.txt build_synth
  3. Z adresáře sestavení syntézy generovaného afu_synth_setup zadejte z okna terminálu následující příkazy pro vygenerování AF pro cílovou hardwarovou platformu: cd build_synth run.sh Skript run.sh AF generování vytvoří obraz AF se stejným základem. filenázev jako konfiguraci platformy AFU file (.json) s příponou .gbs v umístění:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs 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í předtím, 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.

Simulace AFU Example

Společnost Intel doporučuje, abyste si pro váš Intel FPGA PAC prostudovali příručku Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Quick Start Guide, abyste se seznámili se simulací podobných příkladů.ampsouborů a nastavení vašeho prostředí. Než budete pokračovat následujícími kroky, ověřte, zda je proměnná prostředí OPAE_PLATFORM_ROOT nastavena na instalační adresář OPAE SDK. Chcete-li nastavit hardwarový simulátor pro DMA AFU, proveďte následující kroky:

  1. Změňte na DMA AFU sampadresář souboru: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Vytvořte prostředí ASE v novém adresáři a nakonfigurujte jej pro simulaci AFU: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
  3. Přejděte do adresáře sestavení ASE: cd build_ase_dir
  4. Sestavte ovladač a aplikaci: make
  5. Make simulace: make sim

Sampvýstup z hardwarového simulátoru:

[SIM] ** POZOR : PŘED spuštěním softwarové aplikace ** [SIM] Nastavte env(ASE_WORKDIR) v terminálu, kde bude aplikace běžet (kopírovat a vložit) => [SIM] $SHELL | Spustit:[SIM] ———+————————————————— [SIM] bash/zsh | exportovat 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] Pro jakoukoli jinou $SHELL se obraťte na svého správce Linuxu [SIM] [SIM] Připraveno na simulaci… [SIM] Stisknutím CTRL-C zavřete simulátor…

Chcete-li zkompilovat a spustit software DMA AFU v simulačním prostředí, proveďte následující kroky:

  1. Otevřete nové okno terminálu.
  2. Změňte adresář na: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw

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 popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. 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.

Simulace AFU Example

  1. Zkopírujte řetězec nastavení prostředí (vyberte řetězec vhodný pro váš shell) z kroků výše v simulaci hardwaru do okna terminálu. Viz následující řádky v sample výstup z hardwarového simulátoru. [SIM] bash/zsh | exportovat 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. Zkompilujte software: $ make USE_ASE=1
  3. Spusťte hostitelskou aplikaci pro zápis 4 KB v 1 KB částech z paměti hostitele zpět do paměti zařízení FPGA v režimu zpětné smyčky: ./ fpga_dma_test -s 4096 -p 1024 -r mtom

Související informace
Uživatelská příručka rychlého startu prostředí Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE).

Optimalizace pro lepší výkon DMA

Implementace optimalizace NUMA (non-uniform memory access) v fpga_dma_test.cpp umožňuje procesoru přistupovat ke své vlastní lokální paměti rychleji než k nelokální paměti (paměť lokální pro jiný procesor). Typická konfigurace NUMA je znázorněna na obrázku níže. Místní přístup představuje přístup z jádra k místní paměti stejného jádra. Vzdálený přístup ilustruje cestu, kterou se urazí, když jádro na uzlu 0 přistupuje k paměti, která se nachází v paměti místní pro uzel 1.

Typická konfigurace NUMA

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

K implementaci optimalizace NUMA ve vaší testovací aplikaci použijte následující kód:

// Nastavte správnou afinitu, pokud je požadována 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(props, (uint8_t *) & bus);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgaPropertiesGetDevice(props, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(props, (uint8_t *) & func);ON_ERR_GOTO(res, out_destroy_tok); // Najděte zařízení z topologie hwloc_topology_t topology; hwloc_topology_init(&topologie); hwloc_topology_set_flags(topologie, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);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í předtím, 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.

Optimalizace pro lepší výkon DMA

hwloc_topology_load(topologie); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topologie, dom, sběrnice, dev, func); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topologie, 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(topologie, obj2->nodeset,HWLOC_MEMBIND_THREAD_MEMB, HWINDHLOCBY_THREAD); #else retval =hwloc_set_membind_nodeset(topologie, 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(topologie, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); } }

Archiv uživatelské příručky funkční jednotky DMA Accelerator

Verze Intel Acceleration Stack Uživatelská příručka (PDF)
2.0 Uživatelská příručka DMA Accelerator Functional Unit (AFU).

Historie revizí dokumentu pro uživatelskou příručku funkční jednotky DMA Accelerator

 

Verze dokumentu

Zrychlení Intel Verze zásobníku  

Změny

 

 

2020.08.03

2.0.1 (podporováno Intel

Quartus® Prime Pro Edition Edition 19.2)

 

Opraven snímek AF file jméno v sekci Kompilace DMA AFU Example.

 

 

2020.04.17

2.0.1 (podporováno Intel

Quartus Prime Pro Edition Edition 19.2)

 

 

Opraveno prohlášení v Zamýšlené publikum sekce.

 

 

2020.02.20

2.0.1 (podporováno Intel

Quartus Prime Pro Edition Edition 19.2)

 

 

Opravený překlep.

 

 

 

 

2019.11.04

 

 

2.0.1 (podporováno Intel

Quartus Prime Pro Edition Edition 19.2)

• Při konfiguraci FPGA s předem sestaveným AFU v sekci byl fpgaconf nahrazen fpgasupdate Spuštění DMA AFU Example.

• Přidány titulky Intel FPGA Programmable Acceleration Card D5005 k názvu dokumentu.

• Přidána proměnná prostředí $OPAE_PLATFORM_ROOT.

• Upravený řez Model softwarového programování pro drobné úpravy.

• Přidána nová sekce Kompilace DMA AFU Example.

• Upravený řez Optimalizace pro lepší výkon DMA pro drobné úpravy.

 

 

2019.08.05

2.0 (podporováno Intel

Quartus Prime Pro Edition 18.1.2)

 

 

Počáteční vydání.

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í předtím, 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.

 

Dokumenty / zdroje

Intel FPGA Programmable Acceleration Card D5005 [pdfUživatelská příručka
FPGA Programmable Acceleration Card, D5005, FPGA Programmable Acceleration Card D5005, DMA Accelerator Functional Unit

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *