Intel-logo

Intel FPGA programabilna kartica za ubrzanje D5005

Intel.-FPGA-Programabilna-kartica za ubrzanje-D5005-proizvod

O ovom dokumentu

Ovaj dokument opisuje implementaciju akceleratorske funkcionalne jedinice (AFU) direktnog pristupa memoriji (DMA) i kako izgraditi dizajn za rad na hardveru ili u simulaciji.

Predviđena publika

Predviđena publika uključuje programere hardvera ili softvera kojima je potrebna funkcija akceleratora (AF) za lokalno baferovanje podataka u memoriju povezanu sa Intel FPGA uređajem.

konvencije

Document Conventions

konvencija Opis
# Prethodi naredbi koja označava da se naredba upisuje kao root.
$ Označava naredbu koju treba unijeti kao korisnik.
Ovaj font Fileimena, naredbe i ključne riječi su ispisane ovim fontom. Duge komandne linije se štampaju ovim fontom. Iako se duge komandne linije mogu premotati u sljedeći red, povratak nije dio naredbe; ne pritiskajte enter.
Označava da tekst čuvara mjesta koji se pojavljuje između ugaonih zagrada mora biti zamijenjen odgovarajućom vrijednošću. Nemojte unositi ugaone zagrade.

Akronimi

Akronimi

Akronimi Proširenje Opis
AF Funkcija akceleratora Prevedena slika hardverskog akceleratora implementirana u FPGA logici koja ubrzava aplikaciju.
AFU Funkcionalna jedinica akceleratora Hardverski akcelerator implementiran u FPGA logici koji rasterećuje računsku operaciju za aplikaciju sa CPU-a radi poboljšanja performansi.
API Programski interfejs aplikacije Skup definicija potprograma, protokola i alata za izradu softverskih aplikacija.
CCI-P Core Cache Interface CCI-P je standardni interfejs koji AFU koriste za komunikaciju sa domaćinom.
DFH Zaglavlje karakteristika uređaja Kreira povezanu listu zaglavlja funkcija kako bi se omogućio proširiv način dodavanja funkcija.
nastavak…

Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Akronimi Proširenje Opis
FIM FPGA Interface Manager FPGA hardver koji sadrži FPGA Interface Unit (FIU) i eksterna sučelja za memoriju, umrežavanje, itd.

Funkcija akceleratora (AF) povezuje se s FIM-om u vrijeme izvođenja.

FIU FPGA Interface Unit FIU je sloj sučelja platforme koji djeluje kao most između platformskih sučelja kao što su PCIe*, UPI i AFU sučelja kao što je CCI-P.
MPF Fabrika memorijskih svojstava MPF je osnovni građevni blok (BBB) ​​koji AFU mogu koristiti za pružanje CCI-P operacija oblikovanja prometa za transakcije sa FIU.

Acceleration Glossary

Acceleration Stack za Intel® Xeon® CPU sa FPGA Glosar

Termin Skraćenica Opis
Intel® Acceleration Stack za Intel Xeon® CPU sa FPGA Acceleration Stack Kolekcija softvera, firmvera i alata koji obezbeđuje povezivanje sa optimizovanim performansama između Intel FPGA i Intel Xeon procesora.
Intel FPGA programabilna kartica za ubrzanje Intel FPGA PAC PCIe FPGA akceleratorska kartica.

Sadrži FPGA Interface Manager (FIM) koji se uparuje sa Intel Xeon procesorom preko PCIe magistrale.

  • Korisnički priručnik funkcionalne jedinice DMA akceleratora: Intel FPGA programabilna kartica za ubrzanje D5005

DMA AFU Opis

Uvod

Direktan pristup memoriji (DMA) AFU example pokazuje kako upravljati prijenosom memorije između glavnog procesora i FPGA. Možete integrirati DMA AFU u svoj dizajn kako biste premjestili podatke između host memorije i FPGA lokalne memorije. DMA AFU se sastoji od sljedećih podmodula:

  • Fabrika memorijskih svojstava (MPF) Osnovni građevinski blok (BBB)
  • Interfejs jezgre keš memorije (CCI-P) na Avalon® memorijski mapirani (Avalon-MM) adapter
  • DMA test sistem koji sadrži DMA BBB

Ovi podmoduli su detaljnije opisani u temi DMA AFU Hardverske komponente ispod.

Povezane informacije

  • DMA AFU hardverske komponente na stranici 6
  • Specifikacije Avalon interfejsa

Za više informacija o Avalon-MM protokolu, uključujući vremenske dijagrame za transakcije čitanja i pisanja.

DMA AFU softverski paket

Intel Acceleration Stack za Intel Xeon CPU sa FPGA paketom file (*.tar.gz), uključuje DMA AFU example. Ovaj example pruža upravljački program korisničkog prostora. Host aplikacija koristi ovaj drajver tako da DMA pomiče podatke između hosta i FPGA memorije. Hardverske binarne datoteke, izvori i upravljački program korisničkog prostora dostupni su u sljedećem direktoriju: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . Prije eksperimentiranja sa DMA AFU, morate instalirati softverski paket Open Programmable Acceleration Engine (OPAE). Pogledajte Instaliranje softverskog paketa OPAE u Vodiču za brzi početak Intel Acceleration Stack za Intel FPGA programabilnu karticu za ubrzanje D5005 za uputstva za instalaciju. Ovaj vodič za brzi početak također uključuje osnovne informacije o Open Programmable Acceleration Engine (OPAE) i konfiguraciji AFU-a. Nakon instaliranja softverskog paketa Open Programmable Acceleration Engine (OPAE), kaoamphost aplikacija i upravljački program korisničkog prostora DMA AFU dostupni su u sljedećem direktoriju: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. Za pokretanje samphost aplikacija, fpga_dma_test na vašem Intel FPGA PAC D5005 hardveru, pogledajte korake u odjeljku Pokretanje DMA AFU Example. Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Povezane informacije

  • Intel Acceleration Stack Vodič za brzi početak za Intel FPGA programabilnu karticu za ubrzanje D5005
  • Instaliranje OPAE softverskog paketa

DMA AFU hardverske komponente

DMA AFU se povezuje sa FPGA Interface Unit (FIU) i FPGA memorijom. Pogledajte FPGA Interface Manager Data Sheet za Intel FPGA programabilnu karticu za ubrzanje D5005 za detaljne specifikacije FPGA memorije. Trenutno dostupni hardver diktira ovu konfiguraciju memorije. Budući hardver može podržavati različite konfiguracije memorije. Možete koristiti DMA AFU za kopiranje podataka između sljedećih izvornih i odredišnih lokacija:

  • FPGA memorija od hosta do uređaja
  • FPGA memorija uređaja na hostu

Sistem dizajnera platforme, $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys implementira većinu DMA

  • AFU. Dio DMA AFU implementiran u Platform Designer sistemu može se naći u nastavku

lokacija:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ DMA BBB možete pronaći na sljedećoj lokaciji:

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

Korisnički priručnik funkcionalne jedinice DMA akceleratora: Intel FPGA programabilna kartica za ubrzanje D5005

DMA AFU hardverski blok dijagram

Intel.-FPGA-Programabilna-kartica za ubrzanje-D5005-sl.1

DMA AFU uključuje sljedeće interne module za povezivanje sa FPGA Interface Unit (FIU):

  • Logika dekodera IO (MMIO) mapiranog memorijom: detektuje MMIO transakcije čitanja i pisanja i odvaja ih od CCI-P RX kanala 0 iz kojeg dolaze. Ovo osigurava da MMIO promet nikada ne dosegne MPF BBB i da ga servisira nezavisni MMIO komandni kanal.
  • Tvornica memorijskih svojstava (MPF): Ovaj modul osigurava da se pročitani odgovori iz DMA vraćaju redoslijedom kojim su izdani. Avalon-MM protokol zahtijeva čitanje odgovora da bi se vratio ispravnim redoslijedom.
  • CCI-P na Avalon-MM adapter: Ovaj modul prevodi između CCI-P i Avalon-MM transakcija, kako slijedi:
  • CCI-P na Avalon-MMIO adapter: Ova staza prevodi CCI-P MMIO transakcije u Avalon-MM transakcije.
  • Avalon na CCI-P Host Adapter: Ove staze stvaraju odvojene staze samo za čitanje i samo za pisanje za DMA za pristup memoriji hosta.
  • DMA testni sistem: Ovaj modul služi kao omotač oko DMA BBB-a da izloži DMA mastere ostatku logike u AFU. Pruža sučelje između DMA BBB-a i CCI-P na Avalon adaptera. Takođe obezbeđuje interfejs između DMA BBB i lokalnih FPGA SDRAM banaka.

Povezane informacije
FPGA Interface Manager Data Sheet za Intel FPGA programabilnu karticu za ubrzanje D5005

DMA test sistem

DMA test sistem povezuje DMA BBB sa ostatkom FPGA dizajna uključujući CCI-P adaptaciju i lokalnu FPGA memoriju.

Blok dijagram DMA test sistema
Ovaj blok dijagram prikazuje unutrašnjost DMA test sistema. DMA test sistem je prikazan kao monolitni blok na slici 1 na strani 7.Intel.-FPGA-Programabilna-kartica za ubrzanje-D5005-sl.2

DMA testni sistem uključuje sljedeće interne module:

  • Most dalekog dosega/most cjevovoda: most cjevovoda s uključenom podesivom latencijom za kontrolu topologije i poboljšanje dizajna Fmax.
  • DMA AFU Device Feature Header (DFH): Ovo je DFH za DMA AFU. Ovaj DFH ukazuje na sljedeći DFH koji se nalazi na ofsetu 0x100 (DMA BBB DFH).
  • Null DFH: Ova komponenta završava DFH povezanu listu. Ako dizajnu dodate više DMA BBB-ova, uvjerite se da se nulta DFH osnovna adresa nalazi na kraju DFH povezane liste.
  • MA Basic Building Block (BBB): Ovaj blok pomiče podatke između hosta i lokalne FPGA memorije. Takođe pristupa memoriji hosta da bi pristupio lancima deskriptora.

DMA BBB

DMA BBB podsistem prenosi podatke od izvornih do odredišnih adresa koristeći Avalon-MM transakcije. DMA drajver kontroliše DMA BBB pristupanjem registru kontrole i statusa različitih komponenti unutar sistema. DMA drajver također kontrolira DMA BBB koristeći zajedničku memoriju za komunikaciju deskriptora prijenosa. DMA BBB pristupa podacima u FPGA memoriji na pomaku 0x0. DMA BBB pristupa podacima i deskriptorima u memoriji hosta na pomaku 0x1_0000_0000_0000.

Blok dijagram dizajnera DMA BBB platforme
Ovaj blok dijagram isključuje neke interne IP jezgre Pipeline Bridgea.Intel.-FPGA-Programabilna-kartica za ubrzanje-D5005-sl.6

Korisnički priručnik funkcionalne jedinice DMA akceleratora: Intel FPGA programabilna kartica za ubrzanje D5005

DMA AFU Opis

Komponente u DMA BBB Platform Designeru implementiraju sljedeće funkcije:

  • Most dalekog dosega/most cjevovoda: Cjevovodni most sa podesivom latencijom uključen za kontrolu topologije i poboljšanje dizajna Fmax.
  • MA BBB DFH: Ovo je zaglavlje funkcije uređaja za DMA BBB. Ovaj DFH ukazuje na sljedeći DFH koji se nalazi na pomaku 0x100 (Null DFH).
  • Deskriptor Frontend: Odgovoran je za dohvaćanje deskriptora i njihovo prenošenje dispečeru. Kada se DMA transfer završi, frontend prima formaciju statusa od dispečera i prepisuje deskriptor u memoriji hosta.
  • dispečer: Ovaj blok raspoređuje DMA transfere zahtjeva na Master Read and Write.
  • Pročitajte Master: Ovaj blok je odgovoran za čitanje podataka iz hosta ili lokalne FPGA memorije i njihovo slanje kao streaming podataka na Write Master.
  • Napišite majstora: Ovaj blok je odgovoran za primanje streaming podataka od Read Master-a i zapisivanje sadržaja u host ili lokalnu FPGA memoriju.

Registrirajte mapu i adresni prostor

DMA AFU podržava dvije memorije views: DMA view i domaćina view. DMA view podržava 49-bitni adresni prostor. Donja polovina DMA view mapira u lokalnu FPGA memoriju. Gornja polovina DMA view mape u memoriju domaćina. Domaćin view uključuje sve registre kojima se pristupa putem MMIO pristupa, kao što su DFH tabele, i registre kontrole/statusa različitih IP jezgara koje se koriste unutar DMA AFU. MMIO registri u DMA BBB i AFU podržavaju 32- i 64-bitni pristup. DMA AFU ne podržava 512-bitni MMIO pristup. Pristup registrima dispečera unutar DMA BBB-a mora biti 32 bita (Descriptor frontend implementira 64-bitne registre).

DMA AFU Registrirajte mapu

DMA AFU registarska karta daje apsolutne adrese svih lokacija unutar jedinice. Ovi registri su u hostu view jer im samo host može pristupiti.

DMA AFU memorijska karta

Byte Address Offsets Ime Raspon u bajtovima Opis
0x0 DMA AFU DFH 0x40 Zaglavlje funkcije uređaja za DMA AFU. ID_L je postavljen na 0x9081f88b8f655caa, a ID_H na 0x331db30c988541ea. DMA AFU DFH je parametriran tako da pokazuje na pomak 0x100 kako bi se pronašao sljedeći DFH (DMA BBB DFH). Ne smijete mijenjati osnovnu adresu DMA AFU DFH jer se ona mora nalaziti na adresi 0x0 kako je definirano CCIP specifikacijom.
0x100 DMA BBB 0x100 Određuje DMA BBB kontrolu i interfejs registra statusa. Možete pogledati mapu registra DMA BBB za više informacija. Unutar DMA BBB na pomaku 0, DMA BBB uključuje svoj vlastiti DFH. Ovaj DFH je postavljen da pronađe sljedeći DFH na pomaku 0x100 (NULL DFH). Ako dodate još DMA BBB-ova, razmaknite ih 0x100 i uvjerite se da NULL DFH prati zadnji DMA za 0x100.
0x200 NULL DFH 0x40 Prekida DFH povezanu listu. ID_L je postavljen na 0x90fe6aab12a0132f, a ID_H na 0xda1182b1b3444e23. NULL DFH je parametriran da bude posljednji DFH u hardveru. Iz tog razloga NULL DFH se nalazi na adresi 0x200. Ako sistemu dodate dodatne DMA BBB-ove, morate prema tome povećati NULL DFH osnovnu adresu tako da ostane na najvišoj adresi. DMA drajver i aplikacija za testiranje ne koriste ovaj hardver.

Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Registrirajte mapu i adresni prostor

DMA BBB Memorijska karta
Sljedeće adrese bajtova su relativni pomaci od DMA BBB bazne adrese u DMA AFU sistemu (0x100).

Byte Address Offsets Ime Raspon u bajtovima Opis
0x0 DMA BBB DFH 0x40 Zaglavlje funkcije uređaja za DMA AFU. ID_L je postavljen na 0xa9149a35bace01ea, a ID_H na 0xef82def7f6ec40fc. DMA BBB DFH je parametriran tako da pokazuje na 0x100 za sljedeći DFH pomak. Ovaj sljedeći pomak može biti još jedan DMA BBB, drugi DFH (nije uključen u ovaj dizajn) ili NULL DFH.
0x40 Dispečer 0x40 Kontrolni port za dispečera. DMA drajver koristi ovu lokaciju za kontrolu DMA ili za ispitivanje njegovog statusa.
0x80 Deskriptor Frontend 0x40 Prednji dio deskriptora je prilagođena komponenta koja čita deskriptore iz memorije hosta i prepisuje deskriptor kada se DMA prijenos završi. Drajver daje instrukcije frontendu gde prvi deskriptor živi u memoriji hosta, a zatim hardver frontenda komunicira sa drajverom prvenstveno preko deskriptora pohranjenih u memoriji hosta.

DMA AFU adresni prostor

Host može pristupiti registrima navedenim u Tablici 4 na stranici 12 i Tablici 5 na stranici 13. DMA BBB podsistem ima pristup punom 49-bitnom adresnom prostoru. Donja polovina ovog adresnog prostora uključuje lokalne FPGA memorije. Gornja polovina ovog adresnog prostora uključuje 48-bitnu memoriju adresa hosta. Sljedeća slika prikazuje host i DMA views memorije.

DMA AFU i Host Views memorije

Intel.-FPGA-Programabilna-kartica za ubrzanje-D5005-sl.3

Povezana lista zaglavlja funkcija uređaja

DMA AFU dizajn example sadrži tri zaglavlja funkcija uređaja (DFH) koja formiraju povezanu listu. Ova povezana lista dozvoljava sample aplikacija za identifikaciju DMA AFU kao i drajver za identifikaciju DMA BBB. DFH lista uključuje NULL DFH na kraju. Uključivanje nulte DFH na kraju povezane liste omogućava vam da dodate više DMA BBB-ova u svoj dizajn. Jednostavno trebate premjestiti NULL DFH na adresu nakon ostalih BBB-ova. Svaki DMA BBB očekuje da će sljedeći DFH biti lociran 0x100 bajtova od osnovne adrese BBB-a. Sljedeća slika prikazuje povezanu listu za DMA AFU dizajn nprample.

Registrirajte mapu i adresni prostor

DMA AFU Device Feature Header (DFH) Chaining

Intel.-FPGA-Programabilna-kartica za ubrzanje-D5005-sl.4

Model programiranja softvera

DMA AFU uključuje softverski drajver koji možete koristiti u vlastitoj host aplikaciji. Fpga_dma.cpp i fpga_dma.h files locirani na sljedećoj lokaciji implementiraju softverski drajver:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Ovaj drajver podržava sljedeće funkcije:

API Opis
fpgaCountDMAChannels Skenira lanac funkcija uređaja za DMA BBB i broji sve dostupne kanale.
fpgaDMAOpen Otvara ručku za DMA kanal.
fpgaDMAClose Zatvara ručku za DMA kanal.
fpgaDMATransferInit Inicijalizira objekt koji predstavlja DMA prijenos.
fpgaDMATransferReset Vraća objekt atributa DMA prijenosa na zadane vrijednosti.
fpgaDMATransferDestroy Uništava objekt atributa DMA prijenosa.
fpgaDMATransferSetSrc Postavlja izvornu adresu prijenosa. Ova adresa mora biti poravnata sa 64 bajta.
fpgaDMATransferSetDst Postavlja odredišnu adresu prijenosa. Ova adresa mora biti poravnata sa 64 bajta.
fpgaDMATransferSetLen Postavlja dužine prijenosa u bajtovima. Za nepaketne prijenose, morate postaviti dužinu prijenosa na višekratnik od 64 bajta. Za paketne transfere to nije uslov.
fpgaDMATransferSetTransferType Postavlja tip prijenosa. Pravne vrijednosti su:

• HOST_MM_TO_FPGA_MM = TX (Host za AFU)

• FPGA_MM_TO_HOST_MM = RX (AFU za host)

fpgaDMATransferSetTransferCallback Registrira povratni poziv za obavještenje o završetku asinhronog prijenosa. Ako navedete povratni poziv, fpgaDMATransfer se vraća odmah (asinhroni prijenos).

Ako ne navedete povratni poziv, fpgaDMATransfer se vraća nakon što je prijenos završen (sinhroni/blokirajući prijenos).

fpgaDMATransferSetLast Označava posljednji prijenos kako bi DMA mogao početi obraditi unaprijed dohvaćene prijenose. Zadana vrijednost je 64 prijenosa u cjevovodu prije nego što DMA počne raditi na prijenosima.
fpgaDMATtransfer Izvodi DMA prijenos.

Za više informacija o API-ju, ulaznim i izlaznim argumentima pogledajte zaglavlje file nalazi se $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Model programiranja softvera

Da biste saznali više o modelu upotrebe upravljačkog programa softvera, pogledajte README file nalazi se na $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/README.md

Pokretanje DMA AFU Example

Prije nego počnete:

  • Trebalo bi da ste upoznati sa bivšimampu Vodiču za brzi početak Intel Acceleration Stack za Intel FPGA programabilnu karticu za ubrzanje D5005.
  • Morate definirati varijablu okruženja. Varijabla okruženja ovisi o verziji Intel Acceleration Stack-a koju koristite:
    • Za trenutnu verziju, postavite varijablu okruženja na $OPAE_PLATFORM_ROOT
  • Morate instalirati biblioteku Intel Threading Building Blocks (TBB) biblioteku pošto se DMA drajver oslanja na nju.
  • Također morate postaviti dvije ogromne stranice od 1 GB za pokretanje sample application. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”

Izvršite sljedeće korake da preuzmete bitstream funkcije DMA Accelerator Function (AF), da napravite aplikaciju i drajver i da pokrenete dizajn example:

  1. Promjena na DMA aplikaciju i direktorij drajvera: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
  2. Napravi drajver i aplikaciju: make
  3. Preuzmite DMA AFU bitstream: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
  4. Izvršite host aplikaciju da zapišete 100 MB u dijelovima od 1 MB iz memorije hosta u memoriju FPGA uređaja i pročitajte je natrag: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom

Povezane informacije
Intel Acceleration Stack Vodič za brzi početak za Intel FPGA programabilnu karticu za ubrzanje D5005 Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Kompajliranje DMA AFU Example

Za generiranje okruženja sinteze za kompajliranje AF-a, koristite naredbu afu_synth_setup na sljedeći način:

  1. Promijenite na DMA AFU sampdirektorij: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Generirajte direktorij izrade dizajna: afu_synth_setup – izvor hw/rtl/filelist.txt build_synth
  3. Iz direktorija sinteze koji je generirao afu_synth_setup, unesite sljedeće naredbe iz prozora terminala da biste generirali AF za ciljnu hardversku platformu: cd build_synth run.sh Skripta za generiranje AF-a run.sh kreira AF sliku s istom bazom fileime kao konfiguraciju platforme AFU-a file (.json) sa .gbs sufiksom na lokaciji:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Simulacija AFU Example

Intel preporučuje da pogledate Vodič za brzi početak simulacije okruženja za simulaciju Intel akcelerator funkcionalne jedinice (AFU) kako bi vaš Intel FPGA PAC bio upoznat sa simulacijom sličnih npr.amples i da podesite svoje okruženje. Prije nego što nastavite kroz sljedeće korake, provjerite je li varijabla okruženja OPAE_PLATFORM_ROOT postavljena na OPAE SDK instalacijski direktorij. Dovršite sljedeće korake za postavljanje hardverskog simulatora za DMA AFU:

  1. Promijenite na DMA AFU sampdirektorij: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Kreirajte ASE okruženje u novom direktoriju i konfigurirajte ga za simulaciju AFU-a: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
  3. Promijenite u ASE build direktorij: cd build_ase_dir
  4. Napravi drajver i aplikaciju: make
  5. Napravite simulaciju: napravite sim

Sample izlaz iz hardverskog simulatora:

[SIM] ** PAŽNJA : PRIJE pokretanja softverske aplikacije ** [SIM] Postavite env(ASE_WORKDIR) u terminal gdje će se aplikacija pokrenuti (copy-and-paste) => [SIM] $SHELL | Pokreni:[SIM] ———+—————————————————— [SIM] bash/zsh | izvoz 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] Za bilo koji drugi $SHELL, konsultujte svog Linux administratora [SIM] [SIM] Spreman za simulaciju… [SIM] Pritisnite CTRL-C da zatvorite simulator…

Dovršite sljedeće korake da kompajlirate i izvršite DMA AFU softver u simulacijskom okruženju:

  1. Otvorite novi prozor terminala.
  2. Promijenite direktorij u: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw

Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Simulacija AFU Example

  1. Kopirajte niz za podešavanje okruženja (odaberite string prikladan za vašu ljusku) iz gornjih koraka u simulaciji hardvera u prozor terminala. Pogledajte sljedeće redove u sample izlaz iz hardverskog simulatora. [SIM] bash/zsh | izvoz 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. Kompajlirajte softver: $ make USE_ASE=1
  3. Izvršite host aplikaciju da zapišete 4 KB u dijelovima od 1 KB iz memorije hosta natrag u memoriju FPGA uređaja u načinu povratne petlje: ./ fpga_dma_test -s 4096 -p 1024 -r mtom

Povezane informacije
Korisnički vodič za brzi početak simulacije okruženja za simulaciju funkcionalne jedinice Intel Accelerator (AFU)

Optimizacija za poboljšane performanse DMA

Implementacija NUMA (neuniformnog pristupa memoriji) optimizacije u fpga_dma_test.cpp omogućava procesoru da pristupi sopstvenoj lokalnoj memoriji brže od pristupa ne-lokalnoj memoriji (memorija lokalna na drugi procesor). Tipična NUMA konfiguracija je prikazana na dijagramu ispod. Lokalni pristup predstavlja pristup iz jezgre lokalnoj memoriji za istu jezgru. Daljinski pristup ilustrira put koji se vodi kada jezgra na čvoru 0 pristupa memoriji koja se nalazi u memoriji lokalnoj za čvor 1.

Tipična NUMA konfiguracija

Intel.-FPGA-Programabilna-kartica za ubrzanje-D5005-sl.5

Koristite sljedeći kod za implementaciju NUMA optimizacije u vašoj test aplikaciji:

// Podešavanje odgovarajućeg afiniteta ako se traži if (cpu_afinity || memory_afinity) {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, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(props, (uintXNUMX_t *) & func);ON_ERR_out_GOTO(GETFG) // Pronađite uređaj iz topologije hwloc_topology_t topologije; hwloc_topology_init(&topology); hwloc_topology_set_flags(topologija, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši promene u bilo kom proizvodu i uslugama u bilo kom trenutku bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Optimizacija za poboljšane performanse DMA

hwloc_topology_load(topology); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topologija, dom, bus, dev, func); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topologija, 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 (memory_afinity) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topology, obj2->nodeset,HWLOC_MEMBIND_THREMEAD, HINDWLOC_MEMBIND_THREMEAD, HINDWLOCMEMBIND_THREAD_MEMB); #else retval =hwloc_set_membind_nodeset(topologija, obj2->nodeset, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_membind”); } if (cpu_afinity) { retval = hwloc_set_cpubind(topologija, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); } }

Korisnički vodič za funkcionalnu jedinicu DMA Accelerator Arhive

Verzija Intel Acceleration Stack Uputstvo za upotrebu (PDF)
2.0 Uputstvo za upotrebu funkcionalne jedinice DMA akceleratora (AFU).

Istorija revizija dokumenta za korisnički priručnik funkcionalne jedinice DMA Accelerator

 

Verzija dokumenta

Intel Acceleration Verzija steka  

Promjene

 

 

2020.08.03

2.0.1 (podržano sa Intel

Quartus® Prime Pro Edition 19.2)

 

Ispravljena AF slika file ime u odjeljku Kompajliranje DMA AFU Example.

 

 

2020.04.17

2.0.1 (podržano sa Intel

Quartus Prime Pro Edition 19.2)

 

 

Ispravljena izjava u Predviđena publika odjeljak.

 

 

2020.02.20

2.0.1 (podržano sa Intel

Quartus Prime Pro Edition 19.2)

 

 

Ispravljena greška u kucanju.

 

 

 

 

2019.11.04

 

 

2.0.1 (podržano sa Intel

Quartus Prime Pro Edition 19.2)

• Zamijenjen je fpgaconf sa fpgasupdate prilikom konfigurisanja FPGA sa prethodno izgrađenim AFU u odjeljku Pokretanje DMA AFU Example.

• Dodan titl Intel FPGA programabilna kartica za ubrzanje D5005 na naslov dokumenta.

• Dodata varijabla okruženja $OPAE_PLATFORM_ROOT.

• Modifikovana sekcija Model programiranja softvera za manje izmene.

• Dodan novi odjeljak Kompajliranje DMA AFU Example.

• Modifikovana sekcija Optimizacija za poboljšane performanse DMA za manje izmene.

 

 

2019.08.05

2.0 (podržano sa Intel

Quartus Prime Pro Edition 18.1.2)

 

 

Prvo izdanje.

Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga.

  • Druga imena i robne marke mogu se smatrati vlasništvom drugih.

 

Dokumenti / Resursi

Intel FPGA programabilna kartica za ubrzanje D5005 [pdf] Korisnički priručnik
FPGA programabilna kartica za ubrzanje, D5005, FPGA programabilna kartica za ubrzanje D5005, funkcionalna jedinica DMA akceleratora

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *