Intelov logotip

Intel FPGA programabilna kartica za ubrzanje D5005

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

O ovom dokumentu

Ovaj dokument opisuje implementaciju funkcionalne jedinice akceleratora (AFU) s izravnim pristupom 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 međuspremnik podataka lokalno u memoriji spojenoj na Intel FPGA uređaj.

konvencije

Konvencije dokumenata

Konvencija Opis
# Prethodi naredbi koja označava da se naredba treba unijeti kao root.
$ Označava da naredbu treba unijeti kao korisnik.
Ovaj font Fileimena, naredbe i ključne riječi ispisani su ovim fontom. Dugi naredbeni redovi ispisani su ovim fontom. Iako dugi naredbeni redovi mogu prelaziti u sljedeći redak, povratak nije dio naredbe; nemojte pritisnuti enter.
Označava da se tekst rezerviranog mjesta koji se pojavljuje između uglastih zagrada mora zamijeniti odgovarajućom vrijednošću. Nemojte unositi uglaste zagrade.

Akronimi

Akronimi

Akronimi Ekspanzija 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 koja rasterećuje računalne operacije za aplikaciju s CPU-a radi poboljšanja performansi.
API Programsko sučelje aplikacije Skup definicija potprograma, protokola i alata za izradu softverskih aplikacija.
CCI-P Core Cache sučelje CCI-P je standardno sučelje koje AFU-ovi koriste za komunikaciju s glavnim računalom.
DFH Zaglavlje značajki uređaja Stvara povezani popis zaglavlja značajki za pružanje proširivog načina dodavanja značajki.
nastavak…

Intel Corporation. Sva prava pridržana. Intel, Intelov logotip i druge Intelove oznake zaštitni su znakovi Intel Corporation ili njegovih podružnica. Intel jamči performanse svojih FPGA i poluvodičkih proizvoda prema trenutnim specifikacijama u skladu s Intelovim standardnim jamstvom, ali zadržava pravo izmjene bilo kojeg proizvoda i usluge u bilo koje vrijeme bez prethodne najave. Intel ne preuzima nikakvu odgovornost niti obvezu proizašlu iz primjene ili upotrebe bilo koje informacije, proizvoda ili usluge opisane ovdje, osim ako je Intel izričito pismeno pristao. Intelovim kupcima savjetuje se da nabave najnoviju verziju specifikacija uređaja prije nego što se pouzdaju u bilo kakve objavljene informacije i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Akronimi Ekspanzija Opis
FIM Upravitelj FPGA sučelja FPGA hardver koji sadrži jedinicu FPGA sučelja (FIU) i vanjska sučelja za memoriju, umrežavanje itd.

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

FOJ FPGA jedinica sučelja FIU je sloj sučelja platforme koji djeluje kao most između sučelja platforme kao što su PCIe*, UPI i AFU-side sučelja kao što je CCI-P.
MPF Tvornica svojstava memorije MPF je osnovni sastavni blok (BBB) ​​koji AFU-ovi mogu koristiti za pružanje CCI-P operacija oblikovanja prometa za transakcije s FIU.

Glosar ubrzanja

Skup ubrzanja za Intel® Xeon® CPU s FPGA Rječnik

Termin Kratica Opis
Intel® Acceleration Stack za Intel Xeon® CPU s FPGA Stog ubrzanja Zbirka softvera, firmvera i alata koji pružaju povezivanje optimizirano za performanse 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 spaja s Intel Xeon procesorom preko PCIe sabirnice.

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

Opis DMA AFU

Uvod

Izravni pristup memoriji (DMA) AFU nprample pokazuje kako upravljati prijenosom memorije između glavnog procesora i FPGA. Možete integrirati DMA AFU u svoj dizajn za premještanje podataka između memorije glavnog računala i FPGA lokalne memorije. DMA AFU sastoji se od sljedećih podmodula:

  • Tvornica svojstava memorije (MPF) Osnovni sastavni blok (BBB)
  • Sučelje jezgre predmemorije (CCI-P) na Avalon® Memory-Mapped (Avalon-MM) adapter
  • DMA testni sustav koji sadrži DMA BBB

Ovi podmoduli su detaljnije opisani u temi DMA AFU hardverske komponente u nastavku.

Povezane informacije

  • Hardverske komponente DMA AFU na stranici 6
  • Specifikacije Avalon sučelja

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 s FPGA paketom file (*.tar.gz), uključuje DMA AFU example. Ovaj bivšiample pruža upravljački program korisničkog prostora. Domaća aplikacija koristi ovaj upravljački program tako da DMA premješta podatke između glavnog računala 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 s DMA AFU, morate instalirati softverski paket Open Programmable Acceleration Engine (OPAE). Upute o instalaciji potražite u Instaliranju softverskog paketa OPAE u Vodiču za brzi početak Intel Acceleration Stack za Intel FPGA programabilnu karticu za ubrzanje D5005. Ovaj Quick Start Guide 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), asamphost 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 sample host aplikacija, fpga_dma_test na vašem Intel FPGA PAC D5005 hardveru, pogledajte korake u odjeljku Pokretanje DMA AFU Example. Intel Corporation. Sva prava pridržana. Intel, Intelov logotip i druge Intelove oznake zaštitni su znakovi Intel Corporation ili njegovih podružnica. Intel jamči performanse svojih FPGA i poluvodičkih proizvoda prema trenutnim specifikacijama u skladu s Intelovim standardnim jamstvom, ali zadržava pravo izmjene bilo kojeg proizvoda i usluge u bilo kojem trenutku bez prethodne obavijesti. Intel ne preuzima nikakvu odgovornost niti obvezu koja proizlazi iz primjene ili korištenja bilo koje informacije, proizvoda ili usluge opisane ovdje, osim ako je Intel izričito pismeno pristao. Intelovim kupcima savjetuje se da dobiju najnoviju verziju specifikacija uređaja prije nego što se pouzdaju u bilo kakve objavljene informacije i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Povezane informacije

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

Hardverske komponente DMA AFU

DMA AFU sučelje s jedinicom FPGA sučelja (FIU) i FPGA memorijom. Detaljne specifikacije FPGA memorije potražite u podatkovnoj tablici upravitelja FPGA sučelja za Intel FPGA programabilnu karticu za ubrzanje D5005. Trenutno dostupan hardver diktira ovu konfiguraciju memorije. Budući hardver mogao bi podržavati različite konfiguracije memorije. Možete koristiti DMA AFU za kopiranje podataka između sljedećih izvorišnih i odredišnih lokacija:

  • FPGA memorija od hosta do uređaja
  • FPGA memorija uređaja prema glavnom računalu

Sustav Platform Designer, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys implementira većinu DMA

  • AFU. Dio DMA AFU implementiranog u sustav Platform Designer možete pronać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 za funkcionalnu jedinicu DMA akceleratora: Intel FPGA programabilna kartica za ubrzanje D5005

DMA AFU hardverski blok dijagram

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

DMA AFU uključuje sljedeće interne module za povezivanje s jedinicom FPGA sučelja (FIU):

  • Memorijski mapirana IO (MMIO) dekoderska logika: otkriva MMIO transakcije čitanja i pisanja i odvaja ih od CCI-P RX kanala 0 s kojeg dolaze. Ovo osigurava da MMIO promet nikada ne dosegne MPF BBB i da ga servisira neovisni MMIO naredbeni kanal.
  • Tvornica memorijskih svojstava (MPF): Ovaj modul osigurava da se odgovori čitanja iz DMA vraćaju redoslijedom kojim su izdani. Protokol Avalon-MM zahtijeva da se odgovori na čitanje vrate 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: Ovaj put prevodi CCI-P MMIO transakcije u Avalon-MM transakcije.
  • Avalon na CCI-P Host Adapter: Ove staze stvaraju zasebne staze samo za čitanje i samo za pisanje za DMA pristup memoriji hosta.
  • DMA testni sustav: Ovaj modul služi kao omotač oko DMA BBB za izlaganje DMA mastera ostatku logike u AFU. Omogućuje sučelje između DMA BBB i CCI-P do Avalon adaptera. Također pruža sučelje između DMA BBB i lokalnih FPGA SDRAM banaka.

Povezane informacije
List s podacima upravitelja FPGA sučelja za Intel FPGA programabilnu karticu za ubrzanje D5005

DMA ispitni sustav

DMA ispitni sustav povezuje DMA BBB s ostatkom FPGA dizajna uključujući CCI-P prilagodbu i lokalnu FPGA memoriju.

Blok dijagram DMA ispitnog sustava
Ovaj blok dijagram prikazuje unutrašnjost DMA ispitnog sustava. DMA ispitni sustav prikazan je kao monolitni blok na slici 1 na stranici 7.Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-2

DMA ispitni sustav uključuje sljedeće interne module:

  • Far Reach Bridge/Pipeline Bridge: Cjevovodni most 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 pokazuje na sljedeći DFH koji se nalazi na pomaku 0x100 (DMA BBB DFH).
  • Null DFH: Ova komponenta prekida DFH povezanu listu. Ako dodate više DMA BBB-ova u dizajn, osigurajte da se nulta DFH osnovna adresa nalazi na kraju DFH povezane liste.
  • MA Basic Building Block (BBB): Ovaj blok premješta podatke između glavnog računala i lokalne FPGA memorije. Također pristupa memoriji glavnog računala za pristup lancima deskriptora.

DMA BBB

DMA BBB podsustav prenosi podatke od izvora do odredišne ​​adrese koristeći Avalon-MM transakcije. DMA upravljački program kontrolira DMA BBB pristupanjem kontrolnom i statusnom registru različitih komponenti unutar sustava. DMA upravljački program također kontrolira DMA BBB korištenjem zajedničke memorije za komunikaciju deskriptora prijenosa. DMA BBB pristupa podacima u FPGA memoriji na pomaku 0x0. DMA BBB pristupa podacima i deskriptorima u memoriji glavnog računala na pomaku 0x1_0000_0000_0000.

Blok dijagram DMA BBB dizajnera platforme
Ovaj blok dijagram isključuje neke unutarnje IP jezgre Pipeline Bridgea.Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-6

Korisnički priručnik za funkcionalnu jedinicu DMA akceleratora: Intel FPGA programabilna kartica za ubrzanje D5005

Opis DMA AFU

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

  • Daleki most/most cjevovoda: Cjevovodni most s podesivom latencijom uključen je za kontrolu topologije i poboljšanje dizajna Fmax.
  • MA BBB DFH: Ovo je zaglavlje značajke uređaja za DMA BBB. Ovaj DFH pokazuje na sljedeći DFH koji se nalazi na pomaku 0x100 (Null DFH).
  • Sučelje deskriptora: Odgovoran za dohvaćanje deskriptora i njihov prijenos dispečeru. Kada DMA prijenos završi, sučelje prima formaciju statusa od dispečera i prepisuje deskriptor u memoriji glavnog računala.
  • Dispečer: Ovaj blok raspoređuje DMA zahtjeve za prijenose na Master za čitanje i pisanje.
  • Čitaj majstora: Ovaj blok je odgovoran za čitanje podataka iz host ili lokalne FPGA memorije i njihovo slanje kao strujanje podataka Write Masteru.
  • Napiši majstor: Ovaj blok je odgovoran za primanje strujanja podataka iz Read Master-a i pisanje sadržaja u host ili lokalnu FPGA memoriju.

Registrirajte karte i adresne prostore

DMA AFU podržava dvije memorije views: DMA view i domaćin view. DMA view podržava 49-bitni adresni prostor. Donja polovica DMA view preslikava u lokalnu FPGA memoriju. Gornja polovica DMA view karte u memoriju hosta. Domaćin view uključuje sve registre kojima se može pristupiti putem MMIO pristupa kao što su DFH tablice i kontrolne/statusne registre raznih IP jezgri 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-bitne MMIO pristupe. Pristupi dispečerskim registrima unutar DMA BBB moraju biti 32-bitni (sučelje deskriptora implementira 64-bitne registre).

Karta registra DMA AFU

Mapa registra DMA AFU pruža apsolutne adrese svih lokacija unutar jedinice. Ovi se registri nalaze u hostu view jer im samo domaćin može pristupiti.

DMA AFU memorijska karta

Pomaci adrese bajta Ime Raspon u bajtovima Opis
0x0 DMA AFU DFH 0x40 Zaglavlje značajke uređaja za DMA AFU. ID_L je postavljen na 0x9081f88b8f655caa, a ID_H je postavljen na 0x331db30c988541ea. DMA AFU DFH je parametriran da pokazuje na pomak 0x100 za pronalaženje sljedećeg DFH (DMA BBB DFH). Ne smijete mijenjati osnovnu adresu DMA AFU DFH budući da se mora nalaziti na adresi 0x0 kako je definirano CCIP specifikacijom.
0x100 DMA BBB 0x100 Određuje DMA BBB kontrolu i sučelje statusnog registra. Za više informacija možete pogledati mapu registra DMA BBB. Unutar DMA BBB na offsetu 0 DMA BBB uključuje vlastiti DFH. Ovaj DFH je postavljen da pronađe sljedeći DFH na pomaku 0x100 (NULL DFH). Ako dodate više DMA BBB-ova, razmaknite ih 0x100 i osigurajte da NULL DFH slijedi zadnji DMA za 0x100.
0x200 NULL DFH 0x40 Prekida DFH povezanu listu. ID_L je postavljen na 0x90fe6aab12a0132f, a ID_H je postavljen na 0xda1182b1b3444e23. NULL DFH je parametriran da bude posljednji DFH u hardveru. Iz tog razloga NULL DFH se nalazi na adresi 0x200. Ako dodate dodatne DMA BBB-ove u sustav, trebate povećati NULL DFH osnovnu adresu u skladu s tim tako da ostane na najvišoj adresi. DMA upravljački program i testna aplikacija ne koriste ovaj hardver.

Intel Corporation. Sva prava pridržana. Intel, Intelov logotip i druge Intelove oznake zaštitni su znakovi Intel Corporation ili njegovih podružnica. Intel jamči performanse svojih FPGA i poluvodičkih proizvoda prema trenutnim specifikacijama u skladu s Intelovim standardnim jamstvom, ali zadržava pravo izmjene bilo kojeg proizvoda i usluge u bilo koje vrijeme bez prethodne najave. Intel ne preuzima nikakvu odgovornost niti obvezu proizašlu iz primjene ili upotrebe bilo koje informacije, proizvoda ili usluge opisane ovdje, osim ako je Intel izričito pismeno pristao. Intelovim kupcima savjetuje se da nabave najnoviju verziju specifikacija uređaja prije nego što se pouzdaju u bilo kakve objavljene informacije i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Registrirajte karte i adresne prostore

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

Pomaci adrese bajta Ime Raspon u bajtovima Opis
0x0 DMA BBB DFH 0x40 Zaglavlje značajke uređaja za DMA AFU. ID_L je postavljen na 0xa9149a35bace01ea, a ID_H je postavljen na 0xef82def7f6ec40fc. DMA BBB DFH je parametriran da pokazuje na 0x100 za sljedeći DFH pomak. Ovaj sljedeći pomak može biti drugi DMA BBB, drugi DFH (nije uključen u ovaj dizajn) ili NULL DFH.
0x40 Dispečer 0x40 Kontrolni port za dispečera. DMA upravljački program koristi ovu lokaciju za kontrolu DMA ili upit o njegovom statusu.
0x80 Deskriptor Frontend 0x40 Sučelje deskriptora je prilagođena komponenta koja čita deskriptore iz memorije glavnog računala i prepisuje deskriptor kada DMA prijenos završi. Upravljački program upućuje sučelje gdje prvi deskriptor živi u memoriji glavnog računala, a zatim hardver sučelja komunicira s pogoniteljem primarno preko deskriptora pohranjenih u memoriji glavnog računala.

DMA AFU adresni prostor

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

DMA AFU i Host Views pamćenja

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

Povezani popis zaglavlja značajki uređaja

DMA AFU dizajn prampsadrži tri zaglavlja značajki uređaja (DFH) koja tvore povezani popis. Ovaj povezani popis omogućuje sample aplikaciju za identifikaciju DMA AFU kao i upravljački program za identifikaciju DMA BBB. DFH lista uključuje NULL DFH na kraju. Uključivanje null DFH na kraju povezanog popisa omogućuje vam dodavanje više DMA BBB-ova vašem dizajnu. Jednostavno trebate premjestiti NULL DFH na adresu nakon ostalih BBB-ova. Svaki DMA BBB očekuje da se sljedeći DFH nalazi 0x100 bajtova od osnovne adrese BBB-a. Sljedeća slika prikazuje povezanu listu za DMA AFU dizajn nprample.

Registrirajte karte i adresne prostore

DMA AFU ulančavanje zaglavlja značajki uređaja (DFH).

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

Model softverskog programiranja

DMA AFU uključuje softverski upravljački program koji možete koristiti u svojoj host aplikaciji. Fpga_dma.cpp i fpga_dma.h filenalazi se na sljedećoj lokaciji implementirati softverski upravljački program:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Ovaj upravljački program podržava sljedeće funkcije:

API Opis
fpgaCountDMAChannels Skenira lanac značajki uređaja za DMA BBB i broji sve dostupne kanale.
fpgaDMAOpen Otvara ručku za DMA kanal.
fpgaDMACloze Zatvara oznaku 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 usklađena s 64 bajta.
fpgaDMATransferSetDst Postavlja odredišnu adresu prijenosa. Ova adresa mora biti usklađena s 64 bajta.
fpgaDMATransferSetLen Postavlja duljine prijenosa u bajtovima. Za prijenos bez paketa, morate postaviti duljinu prijenosa na višekratnik od 64 bajta. Za paketne prijenose to nije uvjet.
fpgaDMATransferSetTransferType Postavlja vrstu prijenosa. Pravne vrijednosti su:

• HOST_MM_TO_FPGA_MM = TX (Host do AFU)

• FPGA_MM_TO_HOST_MM = RX (AFU prema hostu)

fpgaDMATransferSetTransferCallback Registrira povratni poziv za obavijest o završetku asinkronog prijenosa. Ako navedete povratni poziv, fpgaDMATransfer se odmah vraća (asinkroni prijenos).

Ako ne navedete povratni poziv, fpgaDMATransfer se vraća nakon dovršetka prijenosa (sinkroni/blokirajući prijenos).

fpgaDMATransferSetLast Označava posljednji prijenos tako da DMA može započeti s obradom unaprijed dohvaćenih prijenosa. Zadana vrijednost je 64 prijenosa u cjevovodu prije nego što DMA počne raditi na prijenosima.
fpgaDMATransfer Obavlja 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 pridržana. Intel, Intelov logotip i druge Intelove oznake zaštitni su znakovi Intel Corporation ili njegovih podružnica. Intel jamči performanse svojih FPGA i poluvodičkih proizvoda prema trenutnim specifikacijama u skladu s Intelovim standardnim jamstvom, ali zadržava pravo izmjene bilo kojeg proizvoda i usluge u bilo kojem trenutku bez prethodne obavijesti. Intel ne preuzima nikakvu odgovornost niti obvezu koja proizlazi iz primjene ili korištenja bilo koje informacije, proizvoda ili usluge opisane ovdje, osim ako je Intel izričito pismeno pristao. Intelovim kupcima savjetuje se da dobiju najnoviju verziju specifikacija uređaja prije nego što se pouzdaju u bilo kakve objavljene informacije i prije naručivanja proizvoda ili usluga. Ostala imena i marke mogu se smatrati vlasništvom drugih.

Model softverskog programiranja

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

Pokretanje DMA AFU Example

Prije nego počnete:

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

Izvršite sljedeće korake za preuzimanje bitstreama DMA Accelerator Function (AF), za izradu aplikacije i upravljačkog programa te za pokretanje dizajna exampono:

  1. Promjena u direktorij DMA aplikacije i upravljačkog programa: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
  2. Izgradite upravljački program i aplikaciju: make
  3. Preuzmite DMA AFU bitstream: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
  4. Izvršite aplikaciju glavnog računala za pisanje 100 MB u dijelovima od 1 MB iz memorije glavnog računala u memoriju FPGA uređaja i ponovno ga pročitajte: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom

Povezane informacije
Vodič za brzi početak Intel Acceleration Stack za Intel FPGA programabilnu karticu za ubrzanje D5005 Intel Corporation. Sva prava pridržana. Intel, Intelov logotip i druge Intelove oznake zaštitni su znakovi Intel Corporation ili njegovih podružnica. Intel jamči performanse svojih FPGA i poluvodičkih proizvoda prema trenutnim specifikacijama u skladu s Intelovim standardnim jamstvom, ali zadržava pravo izmjene bilo kojeg proizvoda i usluge u bilo kojem trenutku bez prethodne obavijesti. Intel ne preuzima nikakvu odgovornost niti obvezu koja proizlazi iz primjene ili korištenja bilo koje informacije, proizvoda ili usluge opisane ovdje, osim ako je Intel izričito pismeno pristao. Intelovim kupcima savjetuje se da dobiju najnoviju verziju specifikacija uređaja prije nego što se pouzdaju u bilo kakve objavljene informacije i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Sastavljanje DMA AFU Example

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

  1. Promjena u DMA AFU sampdirektorij: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Generirajte direktorij za izradu dizajna: afu_synth_setup –source hw/rtl/filelist.txt build_synth
  3. Iz direktorija za izgradnju sinteze koji generira afu_synth_setup, unesite sljedeće naredbe iz prozora terminala za generiranje AF-a za ciljnu hardversku platformu: cd build_synth run.sh Skripta za generiranje AF-a run.sh stvara AF sliku s istom bazom filenaziv kao konfiguracija platforme AFU-a file (.json) sa sufiksom .gbs na lokaciji: $OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Corporation. Sva prava pridržana. Intel, Intelov logotip i druge Intelove oznake zaštitni su znakovi Intel Corporation ili njegovih podružnica. Intel jamči performanse svojih FPGA i poluvodičkih proizvoda prema trenutnim specifikacijama u skladu s Intelovim standardnim jamstvom, ali zadržava pravo izmjene bilo kojeg proizvoda i usluge u bilo kojem trenutku bez prethodne obavijesti. Intel ne preuzima nikakvu odgovornost niti obvezu koja proizlazi iz primjene ili korištenja bilo koje informacije, proizvoda ili usluge opisane ovdje, osim ako je Intel izričito pismeno pristao. Intelovim kupcima savjetuje se da dobiju najnoviju verziju specifikacija uređaja prije nego što se pouzdaju u bilo kakve objavljene informacije 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 Kratki vodič za simulacijsko okruženje (ASE) Intel Accelerator Functional Unit (AFU) za vaš Intel FPGA PAC kako biste se upoznali sa simulacijom sličnih exampdatoteke i za postavljanje vašeg okruženja. Prije nego nastavite kroz sljedeće korake, provjerite je li varijabla okoline OPAE_PLATFORM_ROOT postavljena na OPAE SDK instalacijski direktorij. Dovršite sljedeće korake za postavljanje hardverskog simulatora za DMA AFU:

  1. Promjena u DMA AFU sampdirektorij datoteka: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Stvorite ASE okruženje u novom direktoriju i konfigurirajte ga za simulaciju AFU: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
  3. Promijenite u ASE build direktorij: cd build_ase_dir
  4. Izgradite upravljački program 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 terminalu gdje će se aplikacija izvoditi (kopiraj i zalijepi) => [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 obratite se svom Linux administratoru [SIM] [SIM] Spreman za simulaciju… [SIM] Pritisnite CTRL-C za zatvaranje simulatora…

Dovršite sljedeće korake za kompajliranje i izvođenje DMA AFU softvera 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 pridržana. Intel, Intelov logotip i druge Intelove oznake zaštitni su znakovi Intel Corporation ili njegovih podružnica. Intel jamči performanse svojih FPGA i poluvodičkih proizvoda prema trenutnim specifikacijama u skladu s Intelovim standardnim jamstvom, ali zadržava pravo izmjene bilo kojeg proizvoda i usluge u bilo koje vrijeme bez prethodne najave. Intel ne preuzima nikakvu odgovornost niti obvezu proizašlu iz primjene ili upotrebe bilo koje informacije, proizvoda ili usluge opisane ovdje, osim ako je Intel izričito pismeno pristao. Intelovim kupcima savjetuje se da nabave najnoviju verziju specifikacija uređaja prije nego što se pouzdaju u bilo kakve objavljene informacije i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Simulacija AFU Example

  1. Kopirajte niz postavki okruženja (odaberite niz prikladan za vašu ljusku) iz gornjih koraka u hardverskoj simulaciji u prozor terminala. Pogledajte sljedeće retke 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 aplikaciju glavnog računala za pisanje 4 KB u dijelovima od 1 KB iz memorije glavnog računala natrag u memoriju FPGA uređaja u načinu povratne petlje: ./ fpga_dma_test -s 4096 -p 1024 -r mtom

Povezane informacije
Brzi korisnički priručnik za simulacijsko okruženje funkcionalne jedinice Intel Accelerator (AFU) (ASE).

Optimizacija za poboljšanu DMA izvedbu

Implementacija optimizacije NUMA (neuniformnog pristupa memoriji) u fpga_dma_test.cpp omogućuje procesoru pristup vlastitoj lokalnoj memoriji brži nego pristup nelokalnoj memoriji (memorija lokalna za drugi procesor). Tipična NUMA konfiguracija prikazana je na donjem dijagramu. Lokalni pristup predstavlja pristup od jezgre do memorije lokalno iste jezgre. Daljinski pristup ilustrira put kojim jezgra na čvoru 0 pristupa memoriji koja se nalazi u memoriji lokalnoj za čvor 1.

Tipična NUMA konfiguracija

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

Upotrijebite sljedeći kôd za implementaciju NUMA optimizacije u svoju testnu aplikaciju:

// Postavite pravilan afinitet ako se traži 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, “fpgaPropertiesGetFunction”); // Pronađite uređaj iz topologije hwloc_topology_t topology; hwloc_topology_init(&topologija); hwloc_topology_set_flags(topologija, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. Sva prava pridržana. Intel, Intelov logotip i druge Intelove oznake zaštitni su znakovi Intel Corporation ili njegovih podružnica. Intel jamči performanse svojih FPGA i poluvodičkih proizvoda prema trenutnim specifikacijama u skladu s Intelovim standardnim jamstvom, ali zadržava pravo izmjene bilo kojeg proizvoda i usluge u bilo kojem trenutku bez prethodne najave. Intel ne preuzima nikakvu odgovornost niti obvezu koja proizlazi iz primjene ili korištenja bilo koje informacije, proizvoda ili usluge opisane ovdje, osim ako je Intel izričito pismeno pristao. Intelovim kupcima savjetuje se da dobiju najnoviju verziju specifikacija uređaja prije nego što se pouzdaju u bilo kakve objavljene informacije i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Optimizacija za poboljšanu DMA izvedbu

hwloc_topology_load(topologija); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topologija, dom, sabirnica, 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_affinity) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topologija, obj2->nodeset,HWLOC_MEMBIND_THREAD, HWLOC_MEMBIND_MIGRATE |HWLOC_MEMBIND_BYNODESET); #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_affinity) { retval = hwloc_set_cpubind(topology, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); }}

Arhiva korisničkog priručnika funkcionalne jedinice DMA akceleratora

Verzija Intel Acceleration Stack Korisnički priručnik (PDF)
2.0 Korisnički priručnik za funkcionalnu jedinicu DMA akceleratora (AFU).

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

 

Verzija dokumenta

Intelovo ubrzanje Verzija skupa  

Promjene

 

 

2020.08.03

2.0.1 (podržava Intel

Quartus® Prime Pro Edition Edition 19.2)

 

Ispravljena je AF slika file ime u odjeljku Sastavljanje DMA AFU Example.

 

 

2020.04.17

2.0.1 (podržava Intel

Quartus Prime Pro Edition Edition 19.2)

 

 

Ispravio izjavu u Predviđena publika odjeljak.

 

 

2020.02.20

2.0.1 (podržava Intel

Quartus Prime Pro Edition Edition 19.2)

 

 

Ispravljena tipfeler.

 

 

 

 

2019.11.04

 

 

2.0.1 (podržava Intel

Quartus Prime Pro Edition Edition 19.2)

• Zamijenjen je fpgaconf s fpgasupdate prilikom konfiguriranja FPGA s prethodno izgrađenim AFU-om u odjeljku Pokretanje DMA AFU Example.

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

• Dodana varijabla okruženja $OPAE_PLATFORM_ROOT.

• Izmijenjeni odjeljak Model softverskog programiranja za manje izmjene.

• Dodan novi odjeljak Sastavljanje DMA AFU Example.

• Izmijenjeni odjeljak Optimizacija za poboljšanu DMA izvedbu za manje izmjene.

 

 

2019.08.05

2.0 (podržava Intel

Quartus Prime Pro Edition 18.1.2)

 

 

Početno izdanje.

Intel Corporation. Sva prava pridržana. Intel, Intelov logotip i druge Intelove oznake zaštitni su znakovi Intel Corporation ili njegovih podružnica. Intel jamči performanse svojih FPGA i poluvodičkih proizvoda prema trenutnim specifikacijama u skladu s Intelovim standardnim jamstvom, ali zadržava pravo izmjene bilo kojeg proizvoda i usluge u bilo kojem trenutku bez prethodne obavijesti. Intel ne preuzima nikakvu odgovornost niti obvezu koja proizlazi iz primjene ili korištenja bilo koje informacije, proizvoda ili usluge opisane ovdje, osim ako je Intel izričito pismeno pristao. Intelovim kupcima savjetuje se da dobiju najnoviju verziju specifikacija uređaja prije nego što se pouzdaju u bilo kakve objavljene informacije i prije naručivanja proizvoda ili usluga.

  • Ostala 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 *